本文默認(rèn)讀者已經(jīng)有了一些vim基礎(chǔ)暖呕,這是一些我在日常生活中常用到的vim快捷鍵總結(jié)。
f 命令
f命令苞氮,就是find命令湾揽。一般的用法是在vim命令模式下,輸入“f + 一個(gè)字符”。vim會(huì)自動(dòng)查找光標(biāo)所在行中下一處指定字符的位置库物,并跳轉(zhuǎn)到那個(gè)位置霸旗。注意f命令智能查找命令后緊跟著的那個(gè)字符,而不能查字符串戚揭。啥意思呢诱告,舉個(gè)例子,比如你有這樣一行代碼:
char *first_str = "hello world";
你的光標(biāo)在行首,想直接跳到 “ 這個(gè)符號(hào)上面民晒,怎么辦精居?這時(shí)候比較快的辦法就是使用w命令,以單詞為單位向右移動(dòng)潜必。但是更為快捷的辦法是直接按下 f " ,這時(shí)候你就會(huì)發(fā)現(xiàn)光標(biāo)已經(jīng)在 “ 上面了靴姿。 f 命令在一些單行代碼長(zhǎng)度比較長(zhǎng),你想查找的字符比價(jià)特殊的時(shí)候可以發(fā)揮很大作用磁滚。
c 命令
c命令佛吓,就是change命令。用于替換一些字符垂攘。常見(jiàn)的組合有cw维雇,caw, c$, c^, ci" 等晒他。
cw谆沃,即 change word, 按下后可以刪除從當(dāng)前位置到一個(gè)單詞的結(jié)尾仪芒,并進(jìn)入插入模式唁影。比如,又這樣一行代碼比如當(dāng)你光標(biāo)在一個(gè)單詞的行首時(shí)掂名,可以按下cw來(lái)快速刪除這個(gè)單詞并進(jìn)入插入模式据沈。比如
int count = 100;
你想把單詞count改為size,就可以當(dāng)光標(biāo)在字符c上時(shí)饺蔑,按下cw锌介,這時(shí)count單詞會(huì)被刪除,同時(shí)進(jìn)入插入模式猾警。
caw相當(dāng)于cw的升級(jí)版孔祸。不論光標(biāo)在單詞的什么位置,比如在count的中間发皿,按下caw崔慧,會(huì)得到cw光標(biāo)在行首的效果。
c$, c^穴墅,相信大家都能猜到用法了惶室。
ci", 即 change inside "温自。還是剛才的例子:
char *first_str = "hello world";
比如你想把雙引號(hào)中的hello world 刪掉,改成 hello money皇钞, 這時(shí)候你先得跳轉(zhuǎn)到 h 字符上悼泌,然后按 dw 3次把雙引號(hào)里面的hello world給刪掉,最后寫(xiě)入hello money夹界。唯一的優(yōu)點(diǎn)就是可以讓經(jīng)理看到你在噼里啪啦的努力敲代碼馆里。這時(shí)候剛才說(shuō)的 ci" 就派上用場(chǎng)了。你可以在這行代碼的任意位置按下 ci" , 你會(huì)發(fā)現(xiàn) hello world 被刪除的同時(shí)進(jìn)入了插入模式?墒痢p佟!這時(shí)候你直接輸入 hello money趾痘, 完事慢哈。 ci(, ci[ 都是一樣的道理蔓钟。
y命令
y永票,復(fù)制命令。經(jīng)常用到的組合有 yw滥沫, yi”侣集。相信大家參考c的組合鍵,可以猜到怎么用兰绣。