Vim 插件应用篇 vim-plug:简洁高效的Vim插件管理工具

用插件管理插件

Vim-plug介绍

Vim-plug 是一个Vim插件管理器,利用异步并行可以快速地安装、更新和卸载插件。它的安装和配置都非常简单,而且在操作过程中会给出很多易读的反馈信息,是一个自由、开源、速度非常快的、并行地安装或更新插件,极简的 vim 插件管理器。

Vim-plug的获取链接:https://github.com/junegunn/vim-plug

目录说明

检查用户下是否有~/.vim文件夹

bash 复制代码
mkdir ~/.vim
cd ~/.vim
mkdir plugged plugin syntax colors doc autoload(autoload文件夹也可在安装Vim-plug插件时创建)

~/.vim文件夹下目录介绍

目录 说明
~/.vim/autoload/ 它是一个非常重要的目录,尽管听起来比实际复杂。简而言之,它里面放置的是当你真正需要的时候才被自动加载运行的文件,而不是在vim启动时就加载。
~/.vim/colors/ 是用来存放vim配色方案的。
~/.vim/plugin/ 存放的是每次启动vim都会被运行一次的插件,也就是说只要你想在vim启动时就运行的插件就放在这个目录下。我们可以放从vim-plug官方下载下来的插件.vim
~/.vim/syntax/ 语法描述脚本。我们放有关文本(比如c语言)语法相关的插件
~/.vim/doc/ 为插件放置文档的地方。例如:help的时候可以用到。
~/.vim/ftdetect/ 中的文件同样也会在vim启动时就运行。有些时候可能没有这个目录。ftdetect代表的是"filetype detection(文件类型检测)"。此目录中的文件应该用自动命令(autocommands)来检测和设置文件的类型,除此之外并无其他。也就是说,它们只该有一两行而已。
~/.vim/ftplugin/ 此目录中的文件有些不同。当vim给缓冲区的filetype设置一个值时,vim将会在~/.vim/ftplugin/目录下来查找和filetype相同名字的文件。例如你运行set filetype=derp这条命令后,vim将查找~/.vim/ftplugin/derp.vim此文件,如果存在就运行它。不仅如此,它还会运行ftplugin下相同名字的子目录中的所有文件,如~/.vim/ftplugin/derp/这个文件夹下的文件都会被运行。每次启用时,应该为不同的文件类型设置局部缓冲选项,如果设置为全局缓冲选项的话,将会覆盖所有打开的缓冲区。
~/.vim/indent/ 这里面的文件和ftplugin中的很像,它们也是根据它们的名字来加载的。它放置了相关文件类型的缩进。例如python应该怎么缩进,java应该怎么缩进等等。其实放在ftplugin中也可以,但单独列出来只是为了方便文件管理和理解。
~/.vim/compiler/ 和indent很像,它放的是相应文件类型应该如何编译的选项。
~/.vim/after/ 这里面的文件也会在vim每次启动的时候加载,不过是等待~/.vim/plugin/加载完成之后才加载after里的内容,所以叫做after
~/.vim/spell/ 拼写检查脚本。

Vim-plug的安装

$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

插件的添加和删除

vim-plug支持源码托管在GitHub的插件,你可以在"https://github.com/vim-scripts/"上找到vim官网(https://www.vim.org)里所有插件的镜像。也可以安装Windows版本的Git查看vim插件。

要安装插件,你必须如下所示首先在 Vim 配置文件中声明它们。

一般 Vim 的配置文件是 ~/.vimrc,Neovim 的配置文件是 ~/.config/nvim/init.vim

请记住,当你在配置文件中声明插件时,列表应该以 call plug#begin(PLUGIN_DIRECTORY) 开始,并以 plug#end() 结束。

编辑 ~/.vimrc 文件中的内容,比如安装"lightline.vim" 插件

bash 复制代码
call plug#begin('~/.vim/plugged')
" 也可以用完整的地址
Plug 'https://github.com/用户名/项目名.git'
" 也可以简写形式
" 在这里使用 Plug "github用户/项目名" 的方式引入插件
"
" 彩虹括号
Plug 'luochen1990/rainbow'
"
" 历史记录
Plug 'mhinz/vim-startify'
"
Plug 'itchyny/lightline.vim'
call plug#end()

运行命令重新加载:

bash 复制代码
:source ~/.vimrc

如果希望安装新插件,首先找到其在http://github.com的网址,然后将其追加至vimrc配置文件中的call plug#begin()和call plug#end()之间,最后执行以下命令安装所有引用的插件
:PlugInstall

你也可以使用以下命令,指定安装特定的插件:
:PlugInstall gist-vim

如果希望卸载插件,请先在vimrc配置文件中注释或者删除对应插件的配置信息,然后再执行以下命令:
:PlugClean

使用以下命令,可以更新vim-plug插件自身:
:PlugUpgrade

使用以下命令,可以查看当前已安装插件的状态信息:
:PlugStatus

因为每个插件配置均有不同,插件作者会在Git中添加插件配置方法,所以各个插件的配置方法请参考插件作者的使用说明!

VIM插件网站https://vimawesome.com/

相关推荐
☆凡尘清心☆8 小时前
CentOS Stream 9 源码编译搭建 Zabbix7.0.29 完整部署方案(部署成功)
linux·运维·centos
Escalating_xu8 小时前
【Linux】进程间通信:从匿名管道、FIFO 到共享内存、消息队列与信号量
java·linux·面试
予昊8 小时前
Linux 资源控制实战分析:用 LXC 亲手造一个 “迷你虚拟机“
linux·运维·服务器
allforgood8 小时前
管理网络安全
linux
灵晔君8 小时前
【Linux】进程控制(一)——进程创建、进程终止与进程等待
linux·c语言·算法
wsad05328 小时前
CentOS 10 上使用 Docker Compose 部署 Discuz X5.0 论坛完整教程
linux·docker·centos·discuz
张宇Joaquin9 小时前
openEuler编译和更换内核的方法
java·linux·服务器
小此方9 小时前
Re:Linux系统篇(五十六)线程篇 · 九:基于阻塞队列的生产者消费者模型与条件变量
linux·运维·服务器
迷途之人不知返9 小时前
自动化工程的构建
linux·自动化
Escalating_xu9 小时前
【Linux】库制作与链接原理:从静态库、动态库到 ELF、重定位、GOT 与 PLT
linux·运维·服务器