標籤:vi vim vimrc viminfo
1. vi和vim的關係:
vim可以理解是vi的升級版,支援shell script編程;
vi存在原因:所有Unix Like系統均內建vi編輯器,同時個別工具會主動呼叫vi,如crontab.
2. 關於vi的三種模式:
一般模式
編輯模式
命令模式
3. vi的一般模式命令:
1)游標移動:
單個字元:h(左)、l(右)、k(上)、j(下);
行頭:^/0/Home,行尾:$/End;
多行:nk、nj。如向上移動10行:10k;
翻頁:向上一頁,ctrl + b;向下一頁,ctrl + f;向上半頁,ctrl + u;向下半頁,ctrl + d;
任意行:nG;
檔案頭:gg/1G,檔案未:G;
螢幕頭:H,螢幕尾:L,中間:M
2)尋找替換:
向上尋找:?word
向下尋找:/word
上一處:n,下一處:N (注意:當向上尋找時,n與N作用扭轉)
替換::n1,n2s/word1/word2/g[c],其中n1為開始行,n2為結束行,c為替換前是否需要確認。 如從第一行到最後一行尋找word1字串,並將該字串叏代為word2,且在替換前顯示提示字元給使用者確認,命令為:1,$s/word1/word2/gc.
3)刪除:
刪除字元:
向前,X. 一次刪除多個,nX
向後,x. 一次刪除多個,nx
行頭到當前位置,d0
行尾到當前位置,dG
刪除行:
向下刪除n行,ndd
刪除當前行,dd
4)複製與粘貼:
複製:
多行:nyy
單行部分字元:行頭到當前游標,y0;行尾到當前游標,y$
粘貼:
在游標下一行粘貼,p
在游標上一行粘貼,P
注意,當複製內容為單行部分字元時,p為當前游標後邊粘貼,P為游標前邊複製
5)合并:
當前行和下一行合并:J
6)撤銷與重做:
撤銷:u
重做:ctrl + r
4. vi的插入模式:
1)插入:
當前行:
游標前,i;游標後,a
行首,I;行尾,A
換行:
上一行,O;下一行,o
2)替換:
單個替換,r
多個替換,R (知道ESC結束)
5. vi的命令模式:
儲存: :w
退出: :q
強制退出: !
檔案有變動則儲存並退出,否則不退出:ZZ
另存新檔: :n1,n2 w filename。 其中,n1、n2分別為開始、結束行數,filename為另存新檔檔案。
6. vim的swap檔案處理:
唯讀,O
恢複,R
編輯,E
退出,Q
中止,A
注意,最終swap檔案需要手動刪除。
7. vim的塊選擇:
長方形,ctrl + v
行,V
字元,v
複製,y
刪除,d
粘貼,p
8. vim的多文檔:
同時編輯多個檔案:vim t1 t2
列舉檔案清單::files
檔案切換:切換到下一個檔案,:n,切換到上一個檔案,:N
注意,切換時,可能會提示加! (那就執行 :n!就好)
9. vim的多視窗:
操作步驟:
vim test
:sp [file] (如果填寫,則為新視窗開啟新檔案,否則為當前檔案)
ctrl + w + j(切換到下一個視窗),ctrl + w +k(切換到上一個視窗)
ctrl + w + q,儲存並退出當前視窗
10. vim的設定:
顯示/取消行號: :set nu/:set nonu (只有當前檔案當前編輯被設定,下次開啟還是為初始設定)
永久設定:vim ~/.vimrc
vim系統操作記錄:~/.viminfo
本文出自 “心如止水,浴火重生” 部落格,請務必保留此出處http://itisforyou.blog.51cto.com/9778869/1608577
vi與vim的抓狂