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