閱讀367 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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

作為 Vi 的升級版,Vim 毫無爭議是 Linux 中最受歡迎的命令行編輯器之一。除了是一個多功能編輯器外,世界各地的軟件開發者將 Vim 當做 IDE(集成開發環境Integrated Development Environment)來使用。

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

特別是對於剛剛使用 Vim 或者使用 Vim 做開發的的軟件開發者來說,我們將在本教程中討論一些非常有用的 Vim 插件,具體請看例示。

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

插件安裝設置

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

  • 在你的家目錄下創建 .vim 目錄,並在其中創建子目錄 autoload 和 bundle
  • 然後,在 autoload 放置 pathogen.vim 文件,這個文件可以從此處 下載。
  • 最後,在你的家目錄創建 .vimrc 文件,並添加以下內容。

  1. call pathogen#infect()

Vim plugin installation

Vim plugin installation

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

注意:我們已經討論了使用 Pathogen 管理 Vim 插件。當然還有其他的插件管理工具——欲了解,請訪問此處

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

Vim 標簽側邊欄(Tagbar)插件

首先就是標簽側邊欄(Tagbar)插件。該插件能夠讓你瀏覽源文件包含的標簽,從而提供該源文件的結構簡覽。其官網的插件說明是這樣說的:“它通過創建側邊欄,然後以一定順序展示從當前文件以 ctags 提取的標簽來完成這一功能。這意味著,比如,C++ 中的方法將展示在其自身所定義在的類裏邊。”

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

標簽側邊欄(Tagbar)的安裝過程是相當容易的——你隻需要運行下列命令:


  1. cd ~/.vim/bundle/
  2. git clone git://github.com/majutsushi/tagbar

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

Vim tagbar plugin

Vim tagbar plugin

使用 :TagbarClose 可以關閉側邊欄。值得一提的是,可以使用 :TagbarOpen fj 命令打開側邊欄來打開它的跳轉(shift control)功能。也就是說,你可以很方便的瀏覽當前文件包含的標簽——在對應的標簽上按下 Enter 鍵,然後在左側的源代碼窗口跳轉到對應的位置。

假如你想要反複地開關側邊欄,你可以使用 :TagbarToggle 命令,而不用交替的使用 :TagbarOpen 和:TagbarClose 命令。

如果你覺得輸入這些命令很費時間,你可以為 :TagbarToggle 命令創建快捷鍵。比如,添加以下內容到.vimrc 文件中:


  1. nmap <F8> :TagbarToggle<CR>

這樣,你就可以用 F8 來切換標簽側邊欄(Tagbar)了。

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

Toggle Tagbar window

Toggle Tagbar window

這些符號基本是用來表明一個特定標簽的可見性信息。特別是 + 表示該類是 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 插入模式下提供引號、圓括號和方括號等界定符自動補齊功能。

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

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


  1. cd ~/.vim/bundle/
  2. git clone git://github.com/Raimondi/delimitMate.git

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

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

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

上述命令會將你的 Vim 窗口水平分割成兩個,上邊一個包含我們所說的文檔。

Vim deliMate Plugin

Vim deliMate Plugin

結論

本文之中提到的兩個插件,Tagbar 需要花費較多時間來適應——你應該會同樣這個說法。但隻要正確設置好它(這意味著你像是有了快捷鍵一樣方便),就容易使用了。至於 delimitMate,不需要任何要求就可以上手。

原文發布時間為:2017-10-26

本文來自雲棲社區合作夥伴“Linux中國”

最後更新:2017-06-06 07:32:21

  上一篇:go  加密軟件 VeraCrypt 審計報告公布,發現多個高危漏洞
  下一篇:go  《Web前端開發精品課——HTML5 Canvas開發詳解》——第一部分第二章節