3 個針對高級用戶的 Vim 編輯器實用技巧
這篇文章是 Vim 用戶指南系列文章中的一篇:
- Vim 初學者入門指南
- Vim 快捷鍵速查表
- 5 個針對有經驗用戶的 Vim 技巧
- 3 個針對高級用戶的 Vim 編輯器實用技巧
毫無疑問, Vim 是一個很強大的文本編輯器。它提供了大量的特性,這意味著學習並記住 Vim 的所有功能實際上是不可能的。但是我們至少可以不斷學習簡單的方法來完成事情,從而隨著時間的增長,我們使用編輯器的經驗將會變得更好。
請記住,在這篇文章中我們將討論的一些 Vim 編輯器技巧是針對高級用戶的。
注:如果你是第一次接觸 Vim,你可以首先閱讀我們的入門指南。對於已經使用過 Vim 編輯器的用戶,我確信 Vim 快捷鍵速查表將會對你很有幫助。如果你已經是一名有經驗的用戶,你可能對一些針對有經驗用戶的技巧比較感興趣。
請注意文中提到的所有技巧絕大多數都是在簡單、易於理解的代碼環境中進行闡述的,因為它們在軟體開發中確實很實用。但這並不意味著普通用戶(非程序員、沒有把 Vim 作為一般的文本編輯器)在他們的工作中用不到。
1、為文件設置特定的變數
有時候,在一個特定文件中,你可能想把輸入的製表符用空格代替,或者想要把源代碼文件使用兩個空格縮進,即便編輯器的默認縮進是四個空格。
基本上我們在這兒討論對針對文件的的更改。 Vim 提供的這個特性允許你對一個指定的文件更改特定的設置。這個特性叫做 「 模式行 」 。
比如,如果你想把輸入的每一個製表符(Tab)用空格代替,那麼你只需要在文件的前幾行或最後幾行加入下面的模式行:
# vim: set expandtab:
如果想把默認縮進從 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: https://www.maketecheasier.com/vim-tips-tricks-advanced-users/
作者:Himanshu Arora 譯者:ucasFL 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive