vim是一款文字編輯工具,因此學習時不求功能全記住,只要在使用vim時工作更有效率就可以了。本文從實用的角度總結了vim的操作方法,希望讀者讀完本文後經過練習都能達到飛一般的文字編輯速度。
vi是linux的標準編輯器,那麼vim是當之無愧的vi加強版,不僅相容所有的vi命令和操作,還增加了很多適合於編寫**的新功能,比如vim會根據檔案的副檔名和檔案開頭確定語法高亮等。在有些distribution中vi其實只是vim的別名,比如centos中就會發現:vi is aliased to 'vim',所以使用vi命令時其實就是使用的vim。
使用vim [filename]即可進入vim,如果檔案不存在就會建立檔案;如果不指定檔名,可以在儲存時指定乙個檔名。
1.一般模式
進入vim之後什麼都沒操作時,vim便處於一般模式。在該模式下可以進行大部分操作,包括刪除,複製,貼上等。
下表中的n都表示數字而非按鍵n;command代指某條命令;filename代指檔案的名稱(存在或者不存在)。
******************************=刪除******************************==x 相當於del x 相當於backspace nx 向後刪除n個字元
dd刪除當前行 ndd 向下刪除n行
d1g 刪除第一行到當前行 dg 刪除當前行到最後一行
******************************=複製******************************===
yy 複製當前行 nyy 複製n行
y1g 複製第一行到當前行 yg 複製當前行到最後行
******************************=貼上******************************===
p 貼上到當前行下面 p 貼上到當前行下面
*************************====選中文字******************************=
v 按字元選中 v 按行選中 [ctrl]+v 按矩形區域選中
*************************==快速移動游標*************************====
n+游標後移n個字元
n+游標後移n行
ng 移到第n行
gg 移到檔案開始
*************************====撤銷&重做******************************=
u 撤銷
. 重複上一條修改文字內容的命令
[ctrl]+r 重做
******************************其他***********************************
zz 退出並儲存(實際是沒有修改就不儲存)
2.插入模式
在一般模式中按下i,o,a就會進入插入模式(我最常用的就只有i和o,o是插入新行),這時會在螢幕左下角顯示"-- insert --"。在插入模式下按esc就又回到一般模式。在該模式下可以進行文字的輸入,所有的按鍵(除了esc)都保持按鍵用於輸入時的含義,比如此時按多少下u也不會撤銷什麼而是輸入u。
3.命令模式
在一般模式下鍵入冒號,斜槓,問號三個之一時便進入命令模式,命令執行結束後自動回到一般模式(鍵入命令後按enter便執行命令)。在該模式下可以進行文字搜尋,替換,儲存/另存為,匯入,vim設定等較複雜的操作。
*************************===搜尋&替換******************************=/pattern/正向搜尋 搜尋完成後,配合n和n可以在多處文字間切換
?pattern? 反向搜尋 搜尋完成後,配合n和n可以在多處文字間切換
:s/pattern/string/g 在本行中匹配pattern並替換成string
:n1,n2 s/pattren/string/g 在n1到n2行中匹配pattern並替換為string
:n1,n2 s/pattern/string/gc 在n1到n2行中匹配pattern並替換為string,每次替換都詢問。
:1,$ s/pattern/string/g 在第一行到最後一樣之間進行替換
:% s/pattern/string/g 在全文範圍內進行替換
*************************=儲存/另存為/匯入*************************==
:w 儲存 :w!強制儲存
:q 退出 :q!強制退出,不會儲存
:r filename 匯入檔案
:w filename 另存為
:n1,n2 w filename 把n1到n2的內容另存為檔案filename
:n1,n2 w! filename 把n1到n2的內容另存為,如果指定檔案已經存在則覆蓋
:wq 儲存並退出
:n1,n2 co n3:將n1行到n2行之間的內容拷貝到第n3行下
:n1,n2 m n3: 將n1行到n2行之間的內容移至到第n3行下
:n1,n2 d 將n1行到n2行之間的內容刪除
******************************=其他******************************===:n 轉到第n行
:! command 轉向執行command,指向完成後返回vim
:set nu 顯示行號
:set nonu 隱藏行號
注:1.經過測試發現 :! command 中的命令不能是命令別名,只能是bash內建命令或者可執行檔名稱。
2.字串替換命令 :n1,n2 s/pattren/string/g 中末尾的g表示不僅替換第一處,而是全部替換。
1.標籤頁
vim擁有類似瀏覽器樣式的標籤頁,方便同時編輯多個文件。在乙個標籤頁下還可以分出多個視窗(乙個標籤頁可以包含多個分屏),每個視窗編輯不同的文件。多視窗(分屏)的好處是方便對照資料等,相比之下,個人感覺標籤頁用到的時候更多一些。
可以直接使用 :tabnew 開啟新的標籤頁,然後在新標籤頁內使用r匯入檔案,也可以使用 :tabnew filename 直接在新標籤頁開啟指定檔案。
一般模式下,g+t可以在不同標籤頁之間切換(經測試,要先按g後按t,反過來是不行的)。 :tabm n 可以把當前標籤頁移到指定標籤位置,n從0開始。
2.分屏
vim -on filename1 filename2 以上下分屏的方式開啟多個檔案。 vim -on filename1 filename2 以左右分屏的方式開啟多個檔案。如果已經進入vim,可以使用 :sp 開啟乙個新視窗(上下分屏),或者使用 :vsp (左右分屏)。sp可以指定檔案,如 :sp filename ,這樣在新視窗開啟指定檔案,否則新開啟的視窗會顯示舊視窗同樣的檔案,二者同步修改(頗有fork的意思)。
按下ctrl後,連按兩下w可以在不同視窗之間切換,也可以通過[ctrl]+w+方向鍵切換視窗。
~/.viminfo檔案(自動生成)記錄了使用者的操作歷史等資訊,因此再次開啟文件後會發現游標還停在上次離開時的位置等等。
/etc/.vimrc是儲存了vim的配置資訊,比如預設是否會有語法高亮,行號等。不建議在這裡修改配置,可以在自己的家目錄下新建.vimrc來修改配置。
VIM使用 總結自己常用的VIM操作
vim使用 總結自己常用的vim操作 1 查詢 pattern 從游標開始處向文件尾部查詢字串pattern pattern 從游標開始處向文件首部查詢字串pattern n 在同一方向上重複查詢字串 n 在反方向上重複查詢字串 n 跳轉到文件的第n行 2 複製轉貼剪下刪除 dd 刪除游標所在整行的...
VIM 常用總結
寫在前面 退出vim 指令 描述 q 直接退出 無更改 wq 儲存退出 q 放棄修改,強行退出 後台執行vim 後台執行 ctrl z 切換到前台fg num num為後台執行編號,不寫預設為最後乙個後台執行的vim 模式模式 英文名 描述 命令模式 command mode 用於輸入指令,如 儲存...
vim 常用操作
命令描述 vim從控制台進入vi編輯器 vi filename 建立名為filename的檔案並進入vi編輯器 命令列模式 i從游標所在字元前插入 a從游標所在的字元後插入 o從游標所在行的下面插入空白行 i從游標所在行的行首插入 a從游標所在行的行末插入 o從游標所在行的上面插入空白行 s刪除游標...