VIM技巧三則

我使用VIM的理由,大約不是因爲它功能強大,而是Linux裏其代碼配色和字體都很漂亮。作爲佐證,Windows上的VIM我用的就很不爽;同理,Windows上的ssh軟件用的也很不舒服。


習慣歸習慣,有一些技巧還是要掌握的。根據我平時使用的經驗,會跳來跳去(普通,或者看代碼),會複製粘貼,會搜索替換,一般就能就會大部分工作了。但偶爾還是需要一些特殊功能,平時雖不常用,有需求的時卻還是想看看VIM能否做到。這種需求驅動的學習或許是最自然的吧。


今天有幾個小需求,並不過份,心想VIM應該會實現。


第一個需求是,大小寫無關的查找,像grep的i選項那樣。其實這個需求出現好幾次了,只是彼時懶得去查,今天索性搞清楚。網上最容易找到的解決方法是,設置大小寫無關模式。這種全局的設置未免太過愚笨,理應有能應用於單次搜索的選項。最後找到了,原來是在搜索字符串前加\c(\C則嚴格匹配),這樣可以overwrite默認的搜索設置。


第二個需求是,向上搜索。以前總是習慣性按p,p是粘貼呀,向上搜索的命令死也想不起來。查一查,原來是N。蛋疼。


第三個需求是,在全文中查找某個字符串出現的次數。方法是用特殊的替換,:%s/str//gn,看來是那個n在起作用。手冊沒有詳看,具體起什麼什麼用也不知道。且記住吧。


其實還有第四個需求,在實現需求三時,發現有一行出現了搜索字符串兩次:替換結果說60 matches on 59 lines。那麼,如何找到這一行呢?


且留着以後思考吧。


=========================================2012-8-20=======================

刪除含有某個pattern的行。原以爲/pattern/d就夠用,結果發現其只能刪除一行,前加%報語法錯誤。


網上搜之,可以用g/pattern/d。看來是怎麼’選中‘的問題。


v/pattern/則可以選中不含pattern的行.這個或許很有用。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章