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

相关推荐
Aphelios3809 小时前
Linux 下 VIM 编辑器学习记录:从基础到进阶(上)
java·linux·编辑器·vim
2401_8260976218 小时前
同步&异步日志系统-日志落地模块的实现
c++·git·vim
m0_748241121 天前
Node.js使用教程
node.js·编辑器·vim
web137656076432 天前
【前端】Node.js使用教程
前端·node.js·vim
叶羽西3 天前
Vim操作笔记
笔记·编辑器·vim
安冬的码畜日常3 天前
【Mastering Vim 2_03】第二章:精通 Vim 高级技巧之:编辑与浏览技巧 + 第三方增强插件的用法
ide·ai·编辑器·vim·vim插件·netrw·easymotion
看山还是山,看水还是。3 天前
Vim 退出编辑模式
linux·运维·数据库·笔记·编辑器·vim
年薪丰厚4 天前
vim常用快捷键
linux·编辑器·vim
路人与大师6 天前
Node.js怎么调用到打包的python文件呢
python·node.js·vim
丁总学Java6 天前
在Mac arm架构终端中运行 corepack enable yarn 命令,安装yarn
linux·编辑器·vim