閱讀367 返回首頁    go 微軟 go windows


開發者的實用 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開發詳解》——第一部分第二章節