runtimepath
vim 有很多做插件管理的扩展,本质都是下载插件代码,并且将下载插件的路径添加到 runtimepath
变量。
可以在 vim 中执行 :set runtimepath
查看 runtimepath
的值是一个 ,
分隔的路径列表,vim 运行时会载入这个路径下的 viml 文件。
例如,我们可以简单的下载插件:
$ git clone https://github.com/zxqfl/tabnine-vim
然后修改 .vimrc
:
set rtp+=~/tabnine-vim
之后启动 vim 就会加载 tabnine
这个插件。
使用 submodule 和 vim8 pack 进行插件管理
vim8 与 package
在 vim8 中引入了 package
的概念,一个 package
是多个 plugin
的集合,package
内的 plugin
之间可以有相互依赖关系
在 ~/.vim/pack
下新建一个目录,这个目录就是一个 package
,
~/.vim/pack/<packname>/start/<pluginname>
~/.vim/pack/<packname>/opt/<pluginname>
start
下的插件会在启动 vim 时自动加载,opt
下的插件可以在 vim 中用 :packadd pluginname
加载
git submodule
可以使用 git 管理 ~/.vim
目录中的 vim 配置代码,利用 git submodul 将插件代码添加到 vim 配置的 git 仓库中,并利用 vim package 管理插件:
-
下载插件(将插件作为 submodule 加入):
$ mkdir -p pack/foo/start $ git submodule add git://github.com/yianwillis/vimcdoc.git pack/foo/start/vimcdoc
-
升级插件(更新 submodule):
$ cd pack/foo/start/vimcdoc $ git pull origin master
-
升级所有插件(更新所有 submodule)
$ git submodule foreach git pull origin master $ git submodule update --recursive --remote $ git submodule update --init --recursive
-
删除
$ git submodule deinit -f pack/foo/start/vimcdoc $ rm -rf .git/modules/pack/foo/start/vimcdoc $ git rm -f pack/foo/start/vimcdoc
-
在其他机器使用
$ git clone http://github.com/mapan1984/.vim.git ~/.vim $ cd ~/.vim $ git submodule init $ git submodule update # 或者 $ git clone --recursive http://github.com/mapan1984/.vim.git ~/.vim
- older
- Newer