[VIM] 刪除文字的技巧

在 VIM 中,要刪除一個字,通常使用 cw 或是 dw 這兩個指令。

但這兩個指令都有一個缺點,就是要刪掉這個字的話,游標要剛好在字的前面才可以。以下圖為例,游標在 printf 的中間,所以就會刪掉 intf,但留下 pr 囉。




dw: 和 cw 一樣,可以刪除文字,但游標都要剛好在文字的開頭。
解決的方式是使先使用 b,移到文字的開頭,然後再 cw,或是 dw。例下的例子中,我先按b將游標移到字的開頭。然後再cw刪除整個文字。

另一個方式是使用 daw。這樣不管游標在文字的那邊,都會把整個文字刪掉。daw另一個副作用是會把文字後的「空白」一併刪除。如果想要使用 . 這種「重覆執行」的指令時,daw是個比較好的選擇。
你可以用 delete a word 來幫助你記住 daw 這個指令的用途。
前述的技巧取自 “Practical Vim” 這本書的第2章,tip 9
Practical VIM的資訊請見

留言

這個網誌中的熱門文章

由 Pandas 的 DataFrame 中取得資料

[程式設計] C++ 的字串切割

[C++]在 cin 後呼叫 getline 所遇到的問題