可能使用vim好幾年的開發(fā)者,在移動(dòng)光標(biāo)的時(shí)候,還是使用上下左右鍵,而不是去使用h/j/k/l。確實(shí),hjkl有點(diǎn)反人類,很難去適應(yīng)。自己在開始的時(shí)候也是完全的不適應(yīng)。但是如果你熟練掌握形成肌肉記憶之后,將會(huì)大大提高的你速度。
光標(biāo)移動(dòng)
在普通模式下移動(dòng)光標(biāo)請(qǐng)使用hjkl來替代上下左右方向鍵。這里有個(gè)好的方法,去玩游戲,哈哈,我當(dāng)初就是這么練習(xí)的。在線游戲地址如下:
https://vim-adventures.com/
其中第一關(guān)就是使用hjkl來完成的。
在單詞間移動(dòng)
因?yàn)樵趩卧~間移動(dòng)的效率要比光標(biāo)移動(dòng)效率高,所以,在單詞間移動(dòng)是日常中用的比較多的。下面介紹幾個(gè)在單詞間移動(dòng)的按鍵及說明:
-
w移動(dòng)到下一個(gè)單詞開始處
-
W移動(dòng)到下一個(gè)單詞空白符處
-
e移動(dòng)到單詞結(jié)尾(注意他和w的區(qū)別)
-
b與w相反
-
B與W相反
學(xué)習(xí)方法嘛,還是和上面一樣,去玩vim游戲。
行間搜索移動(dòng)
其實(shí),在行內(nèi)移動(dòng)最快的辦法是搜索一個(gè)指定字符,然后快速移動(dòng)到該字符上面。下面介紹幾個(gè)相關(guān)的按鍵及說明:
-
f{char} 向后搜索字符char,并將光標(biāo)移動(dòng)到該字符上面。
-
F{char} 向前搜索字符char,并將光標(biāo)移動(dòng)到該字符上面。
-
t{char} 搜索字符char,并將光標(biāo)移動(dòng)到該字符前一個(gè)字符上面。
-
; 下一個(gè)字符所在處
-
, 上一個(gè)字符所在處
行首行尾移動(dòng)
上面所說的行間搜索只能搜索光標(biāo)后面的字符,如果向前搜索則不能完成需求。這個(gè)時(shí)候需要使用F來向前搜索或結(jié)合行首移動(dòng),先將光標(biāo)移動(dòng)到行首,然后再搜索。
-
0 數(shù)字0將光標(biāo)移動(dòng)到行首
-
$ 將光標(biāo)移動(dòng)到行尾
這里教大家一個(gè)小技巧,可以使用0+w來移動(dòng)到行首非空白字符處,使用$b移動(dòng)到最后的字符后面。
頁面移動(dòng)
-
gg 移動(dòng)到首行
-
G 移動(dòng)到尾行
-
nG 移動(dòng)到指定行
-
H/M/L 視圖最上面/中間/下面
-
ctrl+u 上翻頁
-
ctrl+f 下翻頁
-
zz 使光標(biāo)居中
塊選擇
我們知道,使用vim編輯器,鼠標(biāo)是沒有作用的,不能用鼠標(biāo)來選定一段字符。下面我們來介紹塊選擇,有了它再結(jié)合光標(biāo)移動(dòng),即可完成一段字符的選擇。
-
v 選擇多個(gè)字符
-
V 選擇行
-
ctrl+v 塊選擇
-
y 復(fù)制
-
d 刪除
-
p 粘貼