Vim 8+内置包管理使用指南
以下内容转载自 小扯在此的博客
Posted on 2019-10-20 21:12
Vim
的包管理有很多选择,有Vundle
、NeoBundle
、Vim-plugin
、Pathogen
、Dein
、VAM
等,像我之前一直使用的是Vundle
。这段时间把Vim
升级到了Vim 8+
,发现了Vim 8+
已经有内置的包管理功能,于是体验了一把,如下就是使用方法。
一、package
概念
不同于Vundle
或者vim-plugin
中的plugin
, vim 8+
内置包管理器引入了一个新的package
的概念来组织管理包。一个package
是若干plugin
的集合,一个package
里的plugin
之间可以是互相依赖的。package
中有两个目录:启动时加载目录
、启动后加载目录
,你可以将希望vim
启动时自动加载的plugin
放置到启动时加载目录
中,启动后加载plugin
放置到启动后加载目录
。
二、如何使用
2.1 首先毫无疑问,你的vim
版本要升级到8.0+
以上~
2.2 创建放置所有package
的根目录
mkdir -p ~/.vim/pack
2.3 创建一个新的package
,用于存放vim
插件
mkdir -p ~/.vim/pack/mypackage
2.4 分别在mypackage
中创建目录start
和opt
mkdir -p ~/.vim/pack/mypackage/start
mkdir -p ~/.vim/pack/mypackage/opt
将想vim
启动时自动加载的插件丢到~/.vim/pack/mypackage/start
,而不想启动时加载的插件丢到~/.vim/pack/mypackage/opt
中,需要用到的时候,执行:packadd $pluginname
就可以了
2.5 重启vim
,~/.vim/pack/mypackage/start
中插件即可自动加载了
三、插件管理
如何方便地添加、升级、同步vim
插件呢?我们用到的vim
插件很多都是在github
上以repostory
形式存在的,可以配合使用git
的submodule
功能,来从github
上添加、更新第三方vim
插件。
3.1 把~/.vim
做成一个git
仓库,然后初始化submodule
cd ~/.vim
git init
git submodule init
3.2 添加第三方插件,比如ale
cd ~/.vim
git submoudle add git@github.com:dense-analysis/ale.git pack/mypackage/start/ale
3.3 升级所有第三方插件
git submodule update --recursive --remote
3.4 同步vim
插件到另一台机器,只需要在另一台机器上把vim
插件仓库clone
下来到~\.vim
目录即可
cd ~/.vim
git clone --recursive git@github.com:{your_github_name}/{your_repostoy_name}.git