如何安裝 Vim 插件

不管你是手動安裝仍是經過包管理器安裝,插件均可以幫助你在工做流中打造一個完美的 Vim 。linux

雖然 Vim 是快速且高效的,但在默認狀況下,它僅僅只是一個文本編輯器。至少,這就是沒有插件的狀況 Vim 應當具有的樣子,插件構建在 Vim 之上,並添加額外的功能,使 Vim 不只僅是一個輸入文本的窗口。有了合適的插件組合,你能夠控制你的生活,造成你本身獨特的 Vim 體驗。你能夠自定義你的主題,你能夠添加語法高亮,代碼 linting,版本跟蹤器等等。git

怎麼安裝 Vim 插件

Vim 能夠經過插件進行擴展,但很長一段時間以來,並無官方的安裝方式去安裝這些插件。從 Vim 8 開始,有一個關於插件如何安裝和加載的結構。你可能會在網上或項目自述文件中遇到舊的說明,但只要你運行 Vim 8 或更高版本,你應該根據 Vim 的官方插件安裝方法安裝或使用 Vim 包管理器。你可使用包管理器,不管你運行的是什麼版本(包括比 8.x 更老的版本),這使得安裝過程比你本身維護更新更容易。github

手動和自動安裝方法都值得了解,因此請繼續閱讀以瞭解這兩種方法。vim

手動安裝插件(Vim 8 及以上版本)

所謂的 「Vim 包」是一個包含一個或多個插件的目錄。默認狀況下,你的 Vim 設置包含在 ~/.vim 中,這是 Vim 在啓動時尋找插件的地方。(下面的示例使用了通用名稱 vendor 來表示插件是從其它地方得到的。)bash

當你啓動 Vim 時,它首先處理你的 .vimrc文件,而後掃描 ~/.vim 中的全部目錄,查找包含在 pack/*/start 中的插件。curl

默認狀況下,你的 ~/.vim 目錄(若是你有的話)中沒有這樣的文件結構,因此設置爲:編輯器

$ mkdir -p ~/.vim/pack/vendor/start
複製代碼

如今,你能夠將 Vim 插件放在 ~/.vim/pack/vendor/start 中,它們會在你啓動 Vim 時自動加載。ui

例如,嘗試安裝一下 NERDTree,這是一個基於文本的 Vim 文件管理器。首先,使用 Git 克隆 NERDTree 存儲庫的快照:url

$ git clone --depth 1 \
  https://github.com/preservim/nerdtree.git \
  ~/.vim/pack/vendor/start/nerdtree
複製代碼

啓動 Vim 或者 gvim,而後鍵入以下命令:spa

:NERDTree
複製代碼

Vim 窗口左側將打開一個文件樹。

NERDTree plugin
NERDTree plugin

若是你不想讓一個插件每次啓動 Vim 時都自動加載,你能夠在 ~/.vim/pack/vendor 中建立 opt 文件夾:

$ mkdir ~/.vim/pack/vendor/opt
複製代碼

任何安裝到 opt 的插件均可被 Vim 使用,可是隻有當你使用 packadd 命令將它們添加到一個會話中時,它們纔會被加載到內存中。例如,一個虛構的叫 foo 的插件:

:packadd foo
複製代碼

Vim 官方建議每一個插件項目在 ~/.Vim/pack 中建立本身的目錄。例如,若是你要安裝 NERDTree 插件和假想的 foo 插件,你須要建立這樣的目錄結構:

$ mkdir -p ~/.vim/pack/NERDTree/start/
$ git clone --depth 1 \
  https://github.com/preservim/nerdtree.git \
  ~/.vim/pack/NERDTree/start/NERDTree
$ mkdir -p ~/.vim/pack/foo/start/
$ git clone --depth 1 \
  https://notabug.org/foo/foo.git \
  ~/.vim/pack/foo/start/foo
複製代碼

這樣作是否方便取決於你。

使用 Vim 包管理器(任何 Vim 版本)

自從 Vim 8 之後,包管理器變得不那麼有用了,可是一些用戶仍然喜歡它們,由於它們可以自動更新一些插件。有幾個包管理器可供選擇,而且它們各不相同,可是 vim-plug 有一些很棒的特性和最好的文檔,這使咱們很容易開始並在之後深刻研究。

使用 vim-plug 安裝插件

安裝 vim-plug,以便它在啓動時自動加載:

$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
  https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
複製代碼

建立一個 ~/.vimrc 文件(若是你尚未這個文件),而後輸入如下文本:

call plug#begin()
Plug 'preservim/NERDTree'
call plug#end()
複製代碼

每次要安裝插件時,都必須在 plug#begin()plug#end() 之間輸入插件的名稱和位置(上面以 NERDTree 文件管理器爲例)。若是你所需的插件未託管在 GitHub 上,你能夠提供完整的 URL,而不只僅是 GitHub 的用戶名和項目 ID。你甚至能夠在 ~/.vim 目錄以外「安裝」本地插件。

最後,啓動 Vim 並提示 vim-plug 安裝 ~/.vimrc 中列出的插件:

:PlugInstall
複製代碼

等待插件下載。

經過 vim-plug 更新插件

與手動安裝過程相比,編輯 ~/.vimrc 並使用命令來進行安裝可能看起來並無多省事,可是 vim-plug 的真正優點在更新。更新全部安裝的插件,使用這個 Vim 命令:

:PlugUpdate
複製代碼

若是你不想更新全部的插件,你能夠經過添加插件的名字來更新任何插件:

:PlugUpdate NERDTree
複製代碼

恢復插件

vim-plug 的另外一個優勢是它的導出和恢復功能。Vim 用戶都知道,正是插件的緣故,一般每一個用戶使用 Vim 的工做方式都是獨一無二的。一旦你安裝和配置了正確的插件組合,你最不想要的局面就是再也找不到它們。

Vim-plug 有這個命令來生成一個腳原本恢復全部當前的插件:

:PlugSnapshot ~/vim-plug.list
複製代碼

vim-plug 還有許多其餘的功能,因此請參考它的項目頁面以得到完整的文檔。

打造一個完美的 Vim

當你成天都在作一個項目時,你但願每個小細節都能爲你提供最好的服務。瞭解 Vim 和它的許多插件,直到你爲你所作的事情構建出一個完美的應用程序。

有喜歡的 Vim 插件嗎?請在評論中告訴咱們吧!


via: opensource.com/article/20/…

做者:Seth Kenlon 選題:lujun9972 譯者:qianmingtian 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章
相關標籤/搜索