vim常用操作總結

2022-03-02 07:43:14 字數 3835 閱讀 7700

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刪除游標...