插件管理器vim-plug,Vundle等都依靠github,在国内由于github经常不能clone和push等操作,所以不打算使用vim插件管理器.
为了方便国内环境使用,采用了手动方式管理vim插件,采取的管理方式是:
这样就可以使用make命令自动安装插件,升级插件了,前提是需要修改makefile.
如此就可以非常方便的在其他电脑上配置vim.
vim8提供了一种原生的插件加载方式,即在.vim/pack目录中搜索插件目录树.
.vim/pack/<目录名>/opt/中保存的插件用于手动加载
.vim/pack/<目录名>/start/中保存的插件用于始终加载
<目录名>用于插件分类,方便用户管理和学习,可以随意起,这里使用plugins一个目录树,以后插件多了再分类.
:packadd <目录名>
命令之后再加载.<目录名>/opt/目录和:packadd <目录名>
配合, 可以实现延迟加载.
" 通过:Ack命令来加载和运行ack.vim插件"
command ! -nargs=* Ack :packadd ack.vim | Ack -args>
" 当打开Markdown 文件时加载并运行Goyo插件"
autocmd! filetype markdown packadd goyo.vim | Goyo
"提前加载<目录名>/start/目录中的所有插件,否则在加载.vimrc之后加载"
packloadall
"加载所有插件的帮助文档,silent!隐藏所有输出和错误信息"
silent! helptags ALL
只需要手动安装这两个软件,其他软件在makefile中进行安装.
sudo apt install make git
git clone https://gitee.com/fedorayang/vim_make_config.git
建立vim配置相关的文件夹
cd vim_make_config
make prepare
make install
makefile中使用sudo apt install
安装相关软件.
对于其他linux发行版可以使用相关安装命令代替,可以移植到其他发行版上.
make plugins
例如安装并升级nerdtree插件
#插件是否存在
ifneq ($(PLUGINS_START_PATH)/nerdtree, $(wildcard $(PLUGINS_START_PATH)/nerdtree))
#不存在就clone 插件
git clone https://gitee.com/vim-plugin-agent/preservim_VPA_nerdtree.git $(PLUGINS_START_PATH)/nerdtree
endif
#插件更新到最新状态
cd $(PLUGINS_START_PATH)/nerdtree;git pull;cd -
其他插件参考这样增加.
make cfg_files
会把.vimrc
等vim配置相关文件复制到vim需要的目录处.
以上make命令可以使用一条命令解决.
make all
make clean
会删除$HOME
目录下的.vimrc
文件和.vim
目录,vim恢复到初始状态.