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

相关推荐
船长㉿5 小时前
vim常用命令
linux·编辑器·vim
知识分享小能手9 小时前
openEuler入门学习教程,从入门到精通,openEuler 24.03 中的 Vim 编辑器 —— 全面知识点详解(7)
linux·vim·openeuler
胖咕噜的稞达鸭9 小时前
进程概念,冯诺依曼体系结构,系统调用,父子进程初解
https·vim·bash
艾莉丝努力练剑12 小时前
【Linux基础开发工具 (三)】Vim从入门到精通(下):效率翻倍的编辑技巧与个性化配置攻略
linux·运维·服务器·c++·ubuntu·centos·vim
saber_andlibert1 天前
【Linux】Shell脚本
运维·chrome·vscode·编辑器·vim·shell
是Yu欸2 天前
仓颉迁移实战:将 Node.js 微服务移植到 Cangjie 的工程化评测
微服务·云原生·开源·node.js·vim·gitcode·cangjie
NKelly3 天前
neovim等模态编辑器最优雅的输入法解决方案
运维·编辑器·vim·yaml
_OP_CHEN4 天前
Linux网络编程:(七)Vim 编辑器完全指南:从入门到精通的全方位实战教程
linux·运维·服务器·编辑器·vim·linux生态·linux软件
yachuan_qiao5 天前
IBMS三维可视化集成系统产品介绍
vim
4t4run5 天前
16、Linux常用命令-vim 文本编辑
linux·vim