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

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恢复到初始状态.

相关推荐
许嵩6611 小时前
IC 脚本之VIM 记录
linux·编辑器·vim
m0_519523102 天前
Linux——简单认识vim、gcc以及make/Makefile
linux·运维·vim
Daorigin_com2 天前
如何从数字化迈向智能化的跨越,重塑企业合同管理的未来
搜索引擎·计算机视觉·数据挖掘·vim·信号处理·sklearn·测试覆盖率
fll9802052 天前
配置修改Vim编辑器中TAB键的缩进长度
linux·编辑器·vim
励志成为嵌入式工程师3 天前
c语言归并排序
c语言·算法·vim·排序算法
fchyang3 天前
远程终端vim里使用系统剪切板
linux·编辑器·vim
前端青山4 天前
Node.js 全栈开发进阶篇
linux·开发语言·前端·node.js·编辑器·vim
qq_441996054 天前
JDK 安装、环境变量配置、nano 和 vim 的使用
java·开发语言·vim
我是哈哈hh4 天前
Linux环境基础开发工具的使用_yum源_vim_Git控制器
linux·运维·c++·git·vim·1024程序员节
little redcap4 天前
xftp连接中不成功 + sudo vim 修改sshd_config不成功的解决方法
linux·编辑器·vim