虽然 Vim 快速且高效,但默认情况下,它只是一个简单的文本编辑器。至少,如果没有插件,它就是这样,插件构建在 Vim 之上,并添加额外的功能,使其不仅仅是一个用于输入文本的窗口。通过正确的插件组合,您可以掌控您的生活,打造您自己独特的 Vim 体验。您可以自定义您的主题,并且您可以添加语法高亮、代码检查、版本跟踪器以及更多功能。
如何安装 Vim 插件
Vim 可以通过插件进行扩展,但长期以来,一直没有官方的插件安装方法。然而,从 Vim 8.x 系列开始,就围绕插件的预期安装和加载方式建立了一个结构。您可能会在网上或项目 README 文件中遇到旧的说明,但是只要您运行的是 Vim 8 或更高版本,您就应该根据 Vim 的官方插件安装方法或使用 Vim 包管理器进行安装。无论您运行什么版本(包括早于 8.x 的版本),您都可以使用包管理器,这使得安装过程比自己维护更新更容易。
手动和自动方法都值得了解,所以请继续阅读以了解这两种方法。
手动安装插件(Vim 8 及以上版本)
Vim 包是一个包含一个或多个插件的目录。默认情况下,您的 Vim 设置包含在 ~/.vim 中,因此 Vim 在您启动它时会在那里查找插件。(下面的示例使用通用名称 vendor 来表示插件是从非您自己的实体获得的。)
当您启动 Vim 时,它首先处理您的 .vimrc 文件,然后扫描 ~/.vim 中的所有目录,以查找包含在 pack/*/start 中的插件。
默认情况下,您的 ~/.vim 目录(如果您甚至有一个)没有这样的文件结构,因此请使用以下命令进行设置
$ mkdir -p ~/.vim/pack/vendor/start
现在您可以将 Vim 插件放在 ~/.vim/pack/vendor/start 中,它们将在您启动 Vim 时自动加载。
例如,尝试安装 NERDTree,这是一个用于 Vim 的基于文本的文件管理器。首先,使用 Git 克隆 NERDTree 仓库的快照
$ git clone --depth 1 \
https://github.com/preservim/nerdtree.git \
~/.vim/pack/vendor/start/nerdtree
启动 Vim 或 gvim,并键入此命令
:NERDTree
文件树将在您的 Vim 窗口左侧打开。

如果您不希望插件在每次启动 Vim 时都自动加载,您可以在您的 ~/.vim/pack/vendor 目录中创建一个 opt 目录
$ mkdir ~/.vim/pack/vendor/opt
安装到 opt 中的任何插件都可供 Vim 使用,但在您使用 packadd 命令将它们添加到会话之前,它们不会加载到内存中。
例如,要加载一个名为 foo 的虚构插件
:packadd foo
官方建议,每个插件项目都在 ~/.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 插件吗?请在评论中告诉我们!
5 条评论