導讀 | 毫無疑問, Vim 是一個很強大的文本編輯器。它提供了大量的特性,這意味著學習并記住 Vim 的所有功能實際上是不可能的。但是我們至少可以不斷學習簡單的方法來完成事情,從而隨著時間的增長,我們使用編輯器的經驗將會變得更好。 |
這篇文章是 Vim 用戶指南系列文章中的一篇:
- Vim 初學者入門指南
- Vim 快捷鍵速查表
- 5 個針對有經驗用戶的 Vim 技巧
- 3 個針對高 級用戶的 Vim 編輯器實用技巧
請記住,在這篇文章中我們將討論的一些 Vim 編輯器技巧是針對高 級用戶的。
注:如果你是第一次接觸 Vim,你可以首先閱讀我們的入門指南。對于已經使用過 Vim 編輯器的用戶,我確信Vim 快捷鍵速查表將會對你很有幫助。如果你已經是一名有經驗的用戶,你可能對一些針對有經驗用戶的技巧比較感興趣。
請注意文中提到的所有技巧絕大多數都是在簡單、易于理解的代碼環境中進行闡述的,因為它們在軟件開發中確實很實用。但這并不意味著普通用戶(非程序員、沒有把 Vim 作為一般的文本編輯器)在他們的工作中用不到。
1、為文件設置特定的變量有時候,在一個特定文件中,你可能想把輸入的制表符用空格代替,或者想要把源代碼文件使用兩個空格縮進,即便編輯器的默認縮進是四個空格。
基本上我們在這兒討論對針對文件的的更改。 Vim 提供的這個特性允許你對一個指定的文件更改特定的設置。這個特性叫做 “模式行(Modeline)” 。
比如,如果你想把輸入的每一個制表符(Tab)用空格代替,那么你只需要在文件的前幾行或最后幾行加入下面的模式行:
#vim:setexpandtab:
如果想把默認縮進從 4 個空格變成 2 個空格,可以在源文件中添加下面的模式行:
//vim:noai:ts=2:sw=2
在使用模式行時,請記住下面這幾個重要的點:
- 模式行只能添加在文件中的前五行或者最后五行。
- 為了使用模式行這個特性,必須在 .vimrc 文件中添加 :set modeline
- 在以 root 用戶身份對文件進行編輯的時候該特性失效。
了解更多的信息,請閱讀該特性的官方文檔。
2、 關鍵字補全當你開始寫的復雜代碼越來越多或者開始在一個大的源文件上編輯時,你會遇到一些變量名字。有時,要記住所有的變量名字不太容易,所以當需要輸入變量名字的時候,你通常從已經使用過的地方復制過來。
幸運的是,使用 Vim 你只需要輸入變量的幾個起始字母即可。在’插入模式’中,按Ctrl + n或者Ctrl + p可以得到一個匹配的關鍵詞列表。 Ctrl + n用來插入下一個匹配詞;Ctrl + p給出一個之前匹配的關鍵詞列表。
下圖是該特性的一個展示:
正如上面的屏幕截圖清晰展示的那樣,列表中也會出現其他源文件中包含的詞。
3、 搜索假設你正在調試代碼,其中一個需要做的工作是快速查看一個變量在一個文件中所有出現的地方。一個常用的方法是退出‘插入模式’,輸入 /[變量名字] ,按回車 ,然后返回‘插入模式’,使用n和p在關鍵字之間導航。
上面講到的這種方法沒毛病,但是還有一種更簡單、更快捷的方法可以來完成這樣的搜索。使用這種方法,首先你需要退出‘插入模式’,然后把光標移動到你想要搜索的詞/變量下面,這并不費時。接下來,你只需要按Shift + *即可。
重復這樣做,然后編輯器將會帶你找到在文件中所有使用了這個詞/變量的地方。
結論盡管是針對高 級用戶,但文章中討論的這些技巧并不難理解,也比較容易使用。如果你具有一定的基礎,那么你能夠從中獲益很多。不必多說,無論是任何新特性或觀念,你需要勤于練習這些技巧才能夠把它們變成一種習慣。
via:
作者: 譯者: 校對:
本文由 原創編譯, 榮譽推出
原文來自: