vim共有3種模式,分別爲通常模式、編輯模式和指令列模式。其中,使用vim打開一篇文檔默認進入通常模式,在此模式下能夠進行通常的操做;經過按(i、I、a、A、r、R)鍵進入編輯模式,能夠對文本內容進行編輯,而按ESC鍵回到通常模式;經過按(:、/、?)等鍵進入指令列模式,能夠輸入指令進行查找、保存等操做,一樣,按ESC鍵回到通常模式。vim
須要注意的是,編輯模式、指令列模式均可以和通常模式進行切換,但編輯模式和指令列模式之間不能夠直接切換。ide
另外,本文中,每一個命令後面的‘:’不是命令自己,請注意。spa
1、光標的移動命令文檔
使用vim打開文檔後,默認進入通常模式。此時能夠使用不一樣的按鍵快速移動光標。string
k,j,h,l:上下左右光標移動命令,也就是右手在鍵盤上放置的位置部分,固然也支持使用鍵盤的上下左右鍵進行移動。it
另外,若是想快速移動光標,也能夠按下n(kjhl),n表明數字。好比按下20k,則光標向上移動20行。class
ctrl+f:屏幕向下移動一頁,固然也支持pagedown。file
ctrl+b:屏幕向上移動一頁,固然也支持pageup。im
0:數字0能夠使光標快速移向本行行首,固然也支持home鍵。word
$:此按鍵能夠使光標快速移向本行行尾,固然也支持end鍵。
G:光標移動到最後一行。
nG :n爲行數,該命令當即使光標跳到指定行。
gg:光標快速移動到文件的第一行。
n<Enter>:光標向下移動n行
2、選擇命令
在通常模式下,能夠按相應的命令,以進行選擇。
v:按下v鍵,能夠進行選擇。此時再經過上下左右鍵移動光標,則能夠按字符選擇。
V:按下V鍵,能夠進行按行選擇。
ctrl+v:此時能夠進行區域的選擇。至關於在word下按着alt進行選擇。
y:將選擇好的複製。
d:將選擇好的刪除
3、編輯命令
1)刪除命令
x,X:在一行中,x表明向後刪除一個字符(相似del鍵),而X表明向前刪除一個字符(相似backspace鍵)
nx:n爲數字,表明連續刪除後面的n個字符
dd:刪除光標所在的行
ndd:刪除n行(包含光標所在行,向下的n行)。
2)查找命令
在通常模式下,輸入相應命令可進入指令列模式,以進行查找。
/string:從光標處向下查找string這個關鍵字
?string:從光標處向上查找string這個關鍵字
n:當查找後,按n可重複查找
N:當查找後,按N可反向重複查找
3)替換命令
:n1,n2s/old/new/g:n1與n2爲數字。此命令表示在行n1和行n2之間查找old關鍵字,並替換爲new。
:1,$s/old/new/g:此命令表示從1行開始直到最後一行,查找old關鍵字,並替換爲new。
另外,在上述兩個命令中,若是在g後面加上c,則表示每次替換須要用戶的確認。
4)複製命令
yy:複製一行
nyy:複製n行
5)粘貼命令
p,P:p表示從光標所在行的下一行開始粘貼,而P表示從光標所在行的上一行開始粘貼
6) 插入命令
在通常模式下,能夠按不一樣的按鍵以進入編輯模式,進行文檔的修改。
i,I:此兩個命令表明從通常模式進入插入模式。其中,i表示從目前光標所在處插入,I表明從光標所在行的第一個非空格符處插入。進入插入模式後,文檔的右下角會出現「INSERT」提示。
a,A:此兩個命令也可進入插入模式。其中,a表明從目前光標的下一字符處開始插入,而A表明從光標所在的末尾開始插入。
o,O:此兩個命令也能夠進入插入模式。其中,o表明在目前光標所在行下插入一行,而O表明在目前光標所在行上插入一行。
r,R:此兩個命令能夠從通常模式進入替換模式。其中,r會替換光標所在字符1次就自動退回通常模式,而R能夠一直替換。
進入插入模式後,固然也支持鍵盤上的上下左右、enter、home等鍵的操做。
7)反悔命令
u:至關於Windows下的ctrl+z,即反悔一次。可屢次反悔。
ctrl+r:至關於Windows下的ctrl+主,即重作反悔的上一個動做。
.:小數點命令,表明重作前一個動做。須要注意的是,它和ctrl+r是不一樣的。ctrl+r表明反悔後的重作,而小數點命令是重作前一個動做。
4、多文檔的編輯
能夠使用vim一次打開多個文檔,也能夠將同一個文檔打開屢次。
當打開兩個或以上的文檔的時候,能夠使用相應的按鍵進入多文檔的編輯。
:n:編輯下一個檔案
:N:編輯上一個檔案
:files:列出目前vim開啓的全部檔案
另外,vim也支持多窗口顯示。即在同一個屏幕上同時顯示多個文檔的狀況。
在通常模式下,按下:sp命令可再次打開該文檔並多窗口顯示,按下:sp filename命令,可打開filename那個文檔並多窗口顯示。
當多窗口顯示後,有如下命令能夠操做。
ctrl+w+k或ctrl+w+↑:切換到上面的窗口
ctrl+w+j或ctrl+w+↓:切換到下面的窗口
5、保存退出
在通常模式下,經過按相應的按鍵,能夠進入指令列模式,便可以在屏幕下方輸入相應指令,完成保存退出等功能。
1)顯示/關閉行號
:set nu:在全部行以前顯示行號
:set nonu:關閉全部行以前的行號
2)保存退出
:q:退出vim
:q!:不保存修改,強行退出vim
:w:保存修改過的文件內容
:wq:保存修改內容並退出vi
:wq [filename]:將文檔存爲filename,至關於「另存爲」。