1、Vim快速移動游標至行首和行尾
1)按鍵盤上的Home鍵快速移動游標到行首。在命令/正常模式下可用^(shift + 6)或0(數字0)回到行首。^是移到第一個非Null 字元上。
如下圖所示,Home鍵和0是移動到行首:
^(shift + 6)是移動到第一個非Null 字元(不是Tab或空格)
2)按鍵盤上的End鍵快速移動游標到行尾。在命令模式下可用$(shift + 4)回到行尾。可以加上數字表示移動的行數,例如:用"1$"表示游標移動到當前行的行尾,"2$”表示移動到下一行的行尾,以此類推。
2、游標上下左右移動(kjhl)
h,nh:向左移動一個字元或n個字元 move left
l,nl:向右移動一個字元或n個字元 move right
k,nk : 向上移動一行或n行。
j,nj:向下移動一行或n行。
gg:移動游標到文本第一行的行首。
G:移動游標到文本最後一行的行首。
:set number 顯示行號
:linenumber 移動到第linenumber行,如:10 表示移動到第10行
3、以word為單位移動游標
w,nw:游標向後移動1/n個單詞,落在單詞的首字元上。
b,nb:游標向前移動1/n個單詞,落在單詞的首字元上。
e,ne:類似於w,只是游標落在尾字元上。
ge,nge:類似於b,游標落在尾字元上。
如果想忽略標點符號的word,就用大寫,分別是W,B,E,按空白或空格來劃分word。
4、刪除操作
x:刪除游標處的單個字元
X:刪除游標前的字元。
dw,dnw:如果游標在單詞的首字元上,刪除該/n個單詞,游標定位在下一個單詞的首字元上。和單詞後的空格一起刪除。如果游標不在單詞的首字元上,則從該字元開始刪除到下一個空格為指,游標定位在空格後的第一個字元上。
daw,dnaw:游標在一個單詞的任意位置,刪除該單詞和其後的空格。即游標之前的連續字元和游標之後的連續字元和空格會刪掉。
de,dne:刪除一個單詞,游標移動到單詞的末尾,即空格處。
d0:刪除至行首
d$: 刪除游標後該行所有的字元。
dd: 剪下/刪除一行 ndd->剪下/刪除n行。3dd表示刪除3行。游標所在行和後兩行。
dnl: 向右刪除n個字元
dnh:向左刪除n個字元,下圖是輸入d4h之後的效果,這n個字元包括空格。
5、複製,粘貼,撤銷操作
yy:複製 nyy : 多行複製->5yy 表示複製5行
p:粘貼,粘貼複製的或者剪下的文本
u:撤銷上一次的操作。
ctrl + r:進入替換模式
U/shift+u:撤銷對該行的所有操作。
6、翻頁
Ctrl + f 表示向下翻頁
Ctrl + b 表示向上翻頁
Ctrl + d 往下翻半頁
Ctrl + u 往上翻半頁
7、字元替換和字元尋找
r:輸入r,再輸入一個字元,即用這個字元替換掉游標處的字元。單個字元替換。
進入replace mode後,替換完一個字元後就返回至normal mode
例如:good->輸入rh,成為hood。
R:進入replace mode後,可以連續替換多個字元,通過Esc鍵返回normal mode。
Ctrl + [ 等同於按Esc鍵。
* :向後尋找游標所在的word。
#:向前尋找游標所在的word
/xx[ab]x:尋找xxax和xxbx
/^\n:尋找空行
/xx\|yy:尋找xx和yy
:s/old/new:將游標所在行的第一個old替換成new。
:s/old/new/g:將游標所在行的所有old替換成new。
:%s/old/new/gc:將檔案中所有的old替換成new。c:confirm代表每次替換前需要確認。
8、存檔操作
:w -> 儲存修改,不退出。
:wq -> 儲存修改,並且推出。
:e! -> 不儲存修改,不退出,相當於沒有修改,重新開啟檔案。
:q! -> 不儲存修改,退出編輯檔案。