VIM常用命令 及 部分命令記憶方法

sayWhat_sayHello發表於2018-06-13

鍵入VIM,輸入:e path也能開啟相應檔案(path:檔案路徑)

普通模式下的移動游標:

按鍵 說明
h
l 右(小寫L)
j
k
w 移動到下一個單詞
b 移動到上一個單詞

記憶方法:j:右手食指標準放位對應最常用的向下移動,k:向上,h:向左,l:向右。w:word代表一個單詞。b:back代表返回到上一個單詞。

普通模式進入插入模式:

命令 說明
i 在當前游標處進行編輯
I 在行首插入
A 在行末插入
a 在游標後插入編輯
o 在當前行後插入一個新行
O 在當前行前插入一個新行
cw 替換從游標所在位置後到一個單詞結尾的字元

記憶方法:i:insert就地插入;a:add新增一般就是加在後面;I:大寫的理解成優先順序更高所以在行頭;A:同理行尾;o:open開啟新一行;O:大寫優先在前面。cw:change word更改下一個單詞注意游標要在單詞頭。

從普通模式輸入:進入命令列模式,輸入w回車,儲存文件。輸入:w 檔名可以將文件另存為其他檔名或存到其它路徑下

命令 說明
:q! 強制退出,不儲存
:q 退出
:wq! 強制儲存並退出
:w <檔案路徑> 另存為
:saveas 檔案路徑 另存為
:x 儲存並退出
:wq 儲存並退出

記憶方法:加!代表強制;q:quit退出;w:write 儲存寫入;

普通模式下輸入Shift+zz即可儲存退出vim

命令 說明
x 刪除遊標所在的字元
X 刪除遊標所在前一個字元
Delete 同x
dd 刪除整行
dw 刪除一個單詞(不適用中文)
d$或D 刪除至行尾
d^ 刪除至行首
dG 刪除到文件結尾處
d1G 刪至文件首部

記憶方法:d:delete w:word G:Go to end 1:first
除此之外,你還可以在命令之前加上數字,表示一次刪除多行

在普通模式下.(小數點)表示重複上一次的命令操作

進入普通模式輸入N,N 表示重複後面的次數

命令 說明
nG(n Shift+g) 遊標移動到第 n 行(如果預設沒有顯示行號,請先進入命令模式,輸入:set nu以顯示行號)
gg 遊標移動到到第一行
G(Shift+g) 到最後一行

普通模式下使用下列命令在行內按照單詞為單位進行跳轉

命令 說明
w 到下一個單詞的開頭
e 到當前單詞的結尾
b 到前一個單詞的開頭
ge 到前一個單詞的結尾
0或^ 到行頭
$ 到行尾
f<字母> 向後搜尋<字母>並跳轉到第一個匹配的位置(非常實用)
F<字母> 向前搜尋<字母>並跳轉到第一個匹配的位置
t<字母> 向後搜尋<字母>並跳轉到第一個匹配位置之前的一個字母(不常用)
T<字母> 向前搜尋<字母>並跳轉到第一個匹配位置之後的一個字母(不常用)

記憶方法:w:word e:end b:back ge:go last end; f/F find

普通模式中使用y複製
- 普通模式中,yy複製遊標所在的整行(3yy表示複製3行)
- 普通模式中,y^ 複製至行首,或y0。不含游標所在處字元。
- 普通模式中,y$ 複製至行尾。含游標所在處字元。
- 普通模式中,yw 複製一個單詞。
- 普通模式中,y2w 複製兩個單詞。
- 普通模式中,yG 複製至文字末。
- 普通模式中,y1G 複製至文字開頭。

普通模式中使用 p 貼上
- 普通模式中,p(小寫)代表貼上至游標後(下)
- 普通模式中,P(大寫)代表貼上至游標前(上)

dd 刪除命令就是剪下,你每次 dd 刪除文件內容後,便可以使用 p 來貼上

命令 說明
r+<待替換字母> 將遊標所在字母替換為指定字母
R 連續替換,直到按下Esc
cc 替換整行,即刪除遊標所在行,並進入插入模式
cw 替換一個單詞,即刪除一個單詞,並進入插入模式
C(大寫) 替換遊標以後至行末
~ 反轉游標所在字母大小寫
u{n} 撤銷一次或n次操作
U(大寫) 撤銷當前行的所有修改
Ctrl+r redo,即撤銷undo的操作
  • 普通模式下輸入>> 整行將向右縮排(使用,用於格式化程式碼超爽)
  • 普通模式下輸入<< 整行向左回退
  • 普通模式下輸入:進入命令列模式下對shiftwidth值進行設定可以控制縮排和回退的字元數

  • 命令列模式下輸入:ce(center)命令使本行內容居中

  • 命令列模式下輸入:ri(right)命令使本行文字靠右
  • 命令列模式下輸入:le(left)命令使本行內容靠左

普通模式下輸入 / 然後鍵入需要查詢的字串 按回車後就會進行查詢。 ? 與/ 功能相同,只不過 ? 是向上而 / 是向下查詢。 進入查詢之後,輸入n 和 N 可以繼續查詢 n表示繼續查詢,N 反向查詢

  • 普通模式下輸入*尋找遊標所在處的單詞
  • 普通模式下輸入#同上,但 # 是向前(上)找,*則是向後(下)找
  • 普通模式下輸入g*同* ,但部分符合該單詞即可
  • 普通模式下輸入g#同# ,但部分符合該單詞即可

相關文章