vi有3種狀態:命令模式,插入模式和底行模式。
1.命令行模式:控制屏幕光標的移動,字符、字或行的刪除,移動複製某區段
2.插入模式:只有在Insert mode下,纔可以做文字輸入,在命令模式下輸入命令i、附加命令a、打開命令o、修改命令c、取代命令r或替換命令s都可以進入文本輸入模式,按「ESC」鍵可回到命令行模式
3.底行模式:將文件保存或退出vi,也可以設置編輯環境,如尋找字符串、列出行號,在命令模式下,用戶按“:”鍵即可進入末行模式下
常用命令:
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:將第n行滾至屏幕頂部,不指定n時將當前行滾至屏幕頂部。
vi testfile 開始編輯文件
:n1,n2 co n3:將n1行到n2行之間的內容拷貝到第n3行下
:n1,n2 m n3:將n1行到n2行之間的內容移至到第n3行下
:n1,n2 d :將n1行到n2行之間的內容刪除
:w :保存當前文件
:e filename:打開文件filename進行編輯
:x:保存當前文件並退出
:q:退出vi
:q!:不保存文件並退出vi
:!command:執行shell命令command
:n1,n2 w!command:將文件中n1行至n2行的內容作爲command的輸入並執行之,若不指定n1,n2,則表示將整個文件內容作爲command的輸入
:r!command:將命令command的輸出結果放到當前行