天天看點

開發者的實用 Vim 插件(一)

開發者的實用 Vim 插件(一)

作為 vi 的更新版,vim 毫無争議是 linux 中最受歡迎的指令行編輯器之一。除了是一個多功能編輯器外,世界各地的軟體開發者将 vim 當做 ide(內建開發環境integrated development environment)來使用。

事實上,因為 vim 可以通過插件來擴充其自身功能才使得它如此功能強大。不用說,肯定有那麼幾個 vim 插件是旨在提高使用者的程式設計體驗的。

特别是對于剛剛使用 vim 或者使用 vim 做開發的的軟體開發者來說,我們将在本教程中讨論一些非常有用的 vim 插件,具體請看例示。

請注意:本教程中列舉的所有例示、指令和說明都是在 ubuntu 16.04 環境下進行測試的,并且,我們使用的 vim 版本是 7.4。

插件安裝設定

這是為新使用者準備的,假設他們不知道如何安裝 vim 插件。是以,首先,就是給出一些完成安裝設定的步驟。

在你的home目錄下建立 .vim 目錄,并在其中建立子目錄 autoload 和 bundle。

然後,在 autoload 放置 pathogen.vim 檔案,這個檔案可以從此處 下載下傳。

最後,在你的home目錄建立 .vimrc 檔案,并添加以下内容。

開發者的實用 Vim 插件(一)

vim plugin installation

至此,你已完成了 vim 插件安裝的準備工作。

注意:我們已經讨論了使用 pathogen 管理 vim 插件。當然還有其他的插件管理工具——欲了解,請通路此處。

現在已經全部設定完畢,就讓我們來讨論兩個好用的 vim 插件吧。

vim 标簽側邊欄(tagbar)插件

首先就是标簽側邊欄(tagbar)插件。該插件能夠讓你浏覽源檔案包含的标簽,進而提供該源檔案的結構簡覽。其官網的插件說明是這樣說的:“它通過建立側邊欄,然後以一定順序展示從目前檔案以 ctags 提取的标簽來完成這一功能。這意味着,比如,c++ 中的方法将展示在其自身所定義在的類裡邊。”

聽起來很酷,不是嗎?讓我們來看看該怎麼安裝它。

标簽側邊欄(tagbar)的安裝過程是相當容易的——你隻需要運作下列指令:

安裝完之後就可以使用了,你可以在 vim 中打開一個 .cpp 檔案來測試它:進入指令模式,然後運作 :tagbaropen 指令。以下是運作 :tagbaropen 指令之後出現側邊欄(右側) 的效果圖。

開發者的實用 Vim 插件(一)

使用 :tagbarclose 可以關閉側邊欄。值得一提的是,可以使用 :tagbaropen fj 指令打開側邊欄來打開它的跳轉(shift control)功能。也就是說,你可以很友善的浏覽目前檔案包含的标簽——在對應的标簽上按下 enter 鍵,然後在左側的源代碼視窗跳轉到對應的位置。

假如你想要反複地開關側邊欄,你可以使用 :tagbartoggle 指令,而不用交替的使用 :tagbaropen 和 :tagbarclose 指令。

如果你覺得輸入這些指令很費時間,你可以為 :tagbartoggle 指令建立快捷鍵。比如,添加以下内容到 .vimrc 檔案中:

這樣,你就可以用 f8 來切換标簽側邊欄(tagbar)了。

更進一步,有時候你可能會注意到某個标簽前邊有一個 +、- 或者 # 符号。比如,以下截圖(取自該插件的官網)展示了一些前邊有 + 号的标簽。

開發者的實用 Vim 插件(一)

這些符号基本是用來表明一個特定标簽的可見性資訊。特别是 + 表示該類是 public 的,而 - 表示一個 private 類。# 則是表示一個 protected 類。

以下是使用标簽側邊欄(tagbar)的一些注意事項:

該插件的官網早就有說明:“标簽側邊欄(tagbar)并非是管理标簽(tags)檔案而設計,它隻是在記憶體中動态建立所需的标簽,而非建立任何檔案。标簽(tags)檔案的管理有其他插件提供支援。”

低于 7.0.167 版本的 vim 和标簽側邊欄(tagbar)插件存在着一個相容性問題。根據官網:“如果你受到此問題的影響,請使用代替版:下載下傳 zip 壓縮包。這對應到 2.2 版本,但由于大量的依賴變更,它可能不會再更新。”

如果你在加載該插件時遇到這樣的錯誤:未找到 ctags!(tagbar: exuberant ctags not found!)。你可以從 此處下載下傳并安裝 ctags 來修複錯誤。

擷取更多資訊請通路 這裡。

vim 界定符自動補齊(delimitmate)插件

下一個要介紹的插件就是界定符自動補齊(delimitmate)。該插件在 vim 插入模式下提供引号、圓括号和方括号等界定符自動補齊功能。

該插件官網說:“它同時也提供一些相關的特性讓你在輸入模式下變得更加便捷,比如文法糾錯(在注釋區或者其他的可配置區不會自動插入結束界定符)、回車和空格填充(預設關閉)等。”

安裝步驟與之前介紹的相似:

一旦你成功安裝這個插件(即上述指令執行成功),你就不需要進行任何配置了——當 vim 啟動時會自動加載這個插件。

至此,在你使用 vim 的任何時候,隻要你輸入一個雙引号、單引号、單号、圓括号、方括号,它們都會自動補齊。

你可以自己配置界定符自動補齊(delimitmate)。比如,你可以添加需要自動補齊的符号清單,阻止自動加載該插件,對指定類型檔案關閉該插件等。想了解如何配置這些(或者其他更多的配置),請閱讀該插件的詳細文檔——運作 :help delimitmate 即可。

上述指令會将你的 vim 視窗水準分割成兩個,上邊一個包含我們所說的文檔。

開發者的實用 Vim 插件(一)

結論

本文之中提到的兩個插件,tagbar 需要花費較多時間來适應——你應該會同樣這個說法。但隻要正确設定好它(這意味着你像是有了快捷鍵一樣友善),就容易使用了。至于 delimitmate,不需要任何要求就可以上手。

繼續閱讀