以下移動(dòng)光標(biāo)操作如非特殊說(shuō)明均為正常模式下的按鍵而非insert等模式。
一、 基本的移動(dòng)操作
我相信,你在看我這個(gè)筆記之前,一定用vimtutor學(xué)習(xí)過(guò)VIM的基本使用,如果沒(méi)有那我建議你去學(xué)習(xí)一下,會(huì)省好多的麻煩。當(dāng)然,如果你想我一樣,完全是0基礎(chǔ)開(kāi)始用VIM的,那我也建議你想我一樣,每天操作一遍vimtutor,知道不假思索的就能使用里面的功能為止。
按鍵
|
功能
|
按鍵
|
功能
|
h
|
向左移動(dòng)光標(biāo)
|
l
|
向右移動(dòng)光標(biāo)
|
k
|
向上移動(dòng)光標(biāo)
|
j
|
向下移動(dòng)光標(biāo)
|
gg
|
移動(dòng)到文件開(kāi)頭
|
G
|
移動(dòng)到文件最后一行
|
^
|
移動(dòng)到行首
|
$
|
移動(dòng)到行尾
|
CTRL-B
|
等同于PageUp
|
CTRL-F
|
等同于PageDown
|
f[word]
|
移動(dòng)到本行光標(biāo)右邊的指定字符上
|
F[word]
|
f的反向版本
|
t[word]
|
移動(dòng)到本行光標(biāo)右邊的指定字符之前
|
T[word]
|
t的反向版本
|
;
|
重復(fù)上面的ftFT命令
|
,
|
反方向重復(fù)上面的ftFT命令
|
w
|
移動(dòng)光標(biāo)到下一個(gè)單詞的詞首
|
W
|
移動(dòng)光標(biāo)到下一個(gè)字串的詞首
|
b
|
移動(dòng)光標(biāo)到上一個(gè)單詞的詞首
|
B
|
移動(dòng)光標(biāo)到上一個(gè)字串的詞首
|
e
|
移動(dòng)光標(biāo)到下一個(gè)單詞的結(jié)尾
|
E
|
移動(dòng)光標(biāo)到下一個(gè)字串的結(jié)尾
|
ge
|
移動(dòng)光標(biāo)到上一個(gè)單詞的詞尾
|
gE
|
移動(dòng)光標(biāo)到上一個(gè)字串的詞尾
|
zt
|
把光標(biāo)所在行移動(dòng)窗口的頂端
|
‘’(兩個(gè)單引號(hào))
|
返回到最后跳轉(zhuǎn)的位置
|
zz
|
把光標(biāo)所在行移動(dòng)窗口的中間
|
‘ (一個(gè)單引號(hào))
|
調(diào)轉(zhuǎn)到指定的書(shū)簽
|
Zb
|
把光標(biāo)所在行移動(dòng)窗口的底部
|
%
|
在各種括弧之間切換
|
當(dāng)然,VIM的快捷鍵還有很多,肯定不適合死記硬背下來(lái),希望大家能在使用的過(guò)程中,有意的多用這些快捷鍵即可。
二、 使用查找功能移動(dòng)光標(biāo)
VIM支持簡(jiǎn)易的查找功能:
/[關(guān)鍵字] 回車(chē) : 可以實(shí)現(xiàn)從當(dāng)前位置向后查找匹配的字符
?[關(guān)鍵字] 回車(chē) : 可以實(shí)現(xiàn)向前查找匹配的字符
上面的查找命令執(zhí)行完畢后,可以通過(guò)
n 鍵來(lái)定位到下一個(gè)符合條件的位置。
Shift – n 鍵 來(lái)定位到上一個(gè)符合條件的位置。
更多查找功能請(qǐng)參考 < ExVim 試用手記 ——編寫(xiě)代碼之查找替換>
三、 使用書(shū)簽功能
Vim本身支持書(shū)簽功能,而且提供了一些命令來(lái)操作書(shū)簽,但是由于它本身提供的功能不是很直觀(guān),所以,exVim中提供了ShowMark插件和exMarksBrowser插件。
ShowMark插件利用vim的書(shū)簽功能以及高亮功能顯示出書(shū)簽的具體位置。這樣,我們設(shè)定了一個(gè)書(shū)簽之后,就會(huì)在vim窗口的行號(hào)中顯示出標(biāo)記的名字,并高亮這一行。如下圖:

OK,效果看到了,下面介紹下它的快捷鍵:
m{a~z|A~Z}
|
設(shè)置/刪除一個(gè)書(shū)簽,名給它命名: {a~z|A~Z}
|
‘ {a~z|A~Z}
|
跳轉(zhuǎn)到指定的標(biāo)簽位置
|
當(dāng)我們記不住書(shū)簽的名字時(shí),exMarksBrowser插件就派上用場(chǎng)了,它可以顯示出當(dāng)前緩沖區(qū)中的書(shū)簽位置。效果圖如下:

它相關(guān)的快捷鍵或命令如下:
\ms
|
打開(kāi)/關(guān)閉exMarksBrowser插件窗口
|
回車(chē)
|
開(kāi)啟/關(guān)閉 宏/ 組高亮
|
四、 在頭文件和源文件中切換
五、 更多的快速移動(dòng)光標(biāo)的方法
快速的移動(dòng)光標(biāo)到指定的位置的方法還有很多,比如通過(guò)代碼折疊、通過(guò)Tags和cscope提供的非常強(qiáng)大的檢索,來(lái)實(shí)現(xiàn)快速的跳轉(zhuǎn),這些都等到專(zhuān)門(mén)的地方再講述。這里就不細(xì)說(shuō)了。