ubuntu和树莓派下vim插件管理

管理方式选择

插件管理器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 <目录名>配合, 可以实现延迟加载.

" 通过:Ack命令来加载和运行ack.vim插件"
command ! -nargs=* Ack :packadd ack.vim | Ack <f-args>
" 当打开Markdown 文件时加载并运行Goyo插件"
autocmd! filetype markdown packadd goyo.vim | Goyo

加载插件帮助文档

"提前加载<目录名>/start/目录中的所有插件,否则在加载.vimrc之后加载"
packloadall

"加载所有插件的帮助文档,silent!隐藏所有输出和错误信息"
silent! helptags ALL 

make管理vim插件

1.安装make和git

只需要手动安装这两个软件,其他软件在makefile中进行安装.

sudo apt install make git

2.获取vim配置仓库

git clone https://gitee.com/fedorayang/vim_make_config.git

3.准备工作

建立vim配置相关的文件夹

cd vim_make_config
make prepare

4.安装相关软件

make install

makefile中使用sudo apt install安装相关软件.

对于其他linux发行版可以使用相关安装命令代替,可以移植到其他发行版上.

5.安装并升级vim插件

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 -

其他插件参考这样增加.

6.安装vim配置相关文件

make cfg_files

会把.vimrc等vim配置相关文件复制到vim需要的目录处.

以上make命令可以使用一条命令解决.

make all

7.vim恢复到初始状态

make clean

会删除$HOME目录下的.vimrc文件和.vim目录,vim恢复到初始状态.

相关推荐

  1. ubuntu树莓vim管理

    2024-01-28 09:30:03       29 阅读
  2. vim配置

    2024-01-28 09:30:03       37 阅读
  3. vim中如何使用Vundle管理器?

    2024-01-28 09:30:03       19 阅读
  4. 树莓Ubuntu:屏幕截图

    2024-01-28 09:30:03       41 阅读
  5. ubuntu 使用VNC链接树莓

    2024-01-28 09:30:03       43 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-28 09:30:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-28 09:30:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-28 09:30:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-28 09:30:03       20 阅读

热门阅读

  1. MySQL SQL 注入

    2024-01-28 09:30:03       36 阅读
  2. vue父子组件传值问题

    2024-01-28 09:30:03       24 阅读
  3. Go MongoDB Driver 中的 A D M E 类型是什么

    2024-01-28 09:30:03       29 阅读
  4. 8-Docker网络命令之prune

    2024-01-28 09:30:03       31 阅读
  5. DAY31:贪心算法入门455、53、376

    2024-01-28 09:30:03       35 阅读
  6. MySQL中一条更新语句是怎么执行的?

    2024-01-28 09:30:03       36 阅读
  7. 代码随想录算法训练59 | 单调栈part02

    2024-01-28 09:30:03       35 阅读
  8. xss跨站脚本攻击

    2024-01-28 09:30:03       34 阅读