当前位置: 首页 > 工具软件 > Vim > 使用案例 >

Vim插件管理插件Vim-plug

慕容弘懿
2023-12-01

Vim/Neovim插件管理Vim-plug

Vim是一款古老但不过时,强大但让人望而却步的编译器

Vim是上世纪的编译器,但是随着时代的发展,Vim现在依然受广大程序员的喜爱

Vim现在依旧受广大程序员喜爱的原因之一就是他又非常多、非常强大的插件,但是Vim的插件需要插件来安装。没错,就是用Vim插件来安装Vim插件,今天主要给大家介绍一个管理Vim插件的插件Vim-plug

虽然现在Vim和Neovim都开始自带插件管理功能,但一个插件管理器会让你安装以及升级vim插件的过程变得更加方便快捷。

安装vim-plug

想安装的话,去github下载

你也可以直接在终端复制以下代码:

Vim

Unix/Linux

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

Windows (PowerShell)

iwr -useb https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim |`
    ni $HOME/vimfiles/autoload/plug.vim -Force

Neovim

Unix/Linux

sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
       https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'

Linux (Flatpak)

curl -fLo ~/.var/app/io.neovim.nvim/data/nvim/site/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

Windows (PowerShell)

iwr -useb https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim |`
    ni "$(@($env:XDG_DATA_HOME, $env:LOCALAPPDATA)[$null -eq $env:XDG_DATA_HOME])/nvim-data/site/autoload/plug.vim" -Force

建议去github查看相关教程

如果你出现“解决GitHub的raw.githubusercontent.com无法连接问题“ ,那是需要xx上网,如果不会xx上网将raw.githubusercontent.com改成raw.fastgit.org即可下载成功

使用vim-plug安装vim插件
把plug.vim放到正确的位置之后,你就可以开始安装插件了。在你的vim配置文件中,写下这两行:

Vim用户:

call plug#begin('~/.vim/plugged')

call plug#end()

所有的插件就会下载到~/.vim/plugged文件夹下了

Neovim用户:

call plug#begin('~/.config/nvim/plugged')

call plug#end()

所有的插件就会下载到~/.config/nvim/plugged文件夹下了

在这两行你可以开始添加你想安装的vim插件了。vim插件通常在github上能找到。

我们现在要下载这个插件

https://github.com/mhinz/vim-startify

想安装这个插件,去掉"https://github.com/",在刚才那两行之间插入:Plug ‘mhinz/vim-startify’

接下来,重启你的Vim,接下来,在运行 :PlugInstall 之后你就能看到vim-plug开始安装这个插件了。如果你看到这个错误:Not an editor command: PlugInstall

那么说明你的vim-plug没有正确安装,请回到安装vim-plug。

升级Vim插件

如果你想升级你所有的Vim插件的话,在Vim中运行 :PlugUpdate 就好了。你还可以通过 :PlugUpgrade 来检查vim-plug本身的更新。(vim-plug自身也是一个vim插件。通过 :PlugUpdate 不会检查自身的更新)

如果你有一个自动更新系统所有软件的脚本的话你可以在你的脚本里增加一行:

vim +PlugUpdate +quit +quit

来自动打开vim,升级vim插件,并关闭vim。

升级完vim插件之后,你还可以查看具体哪个插件都有什么新的变化。把光标移动到更新状态都窗口按D,vim-plug就会帮你整理出一个插件更新内容列表。

卸载Vim插件

如果你有哪个vim插件不想要了,只要删掉你Vim配置文件中的 Plug ‘xxx/xxx’ 那一行就好了。下次Vim启动的时候,那个插件就不会被加载。这样做并不会删掉那个插件的文件。你可以通过 :PlugClean 来删除所有的已经不用了的插件的文件。

插件“懒加载”(Lazy Load)

vim-plug提供了很多额外的选项。如果你安装了很多插件,然后发现这些插件让你的Vim的启动速度变慢了的话,你可以选择让一些插件不在Vim启动的时候加载,或者说让一些插件只在编辑某个特定类型的文件的时候在被加载。下面我来举一些例子来让你们更方便的理解这个vim-plug的功能。

Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }

只有在执行 :NERDTreeToggle 的时候才加载这个插件

Plug 'fatih/vim-go' , { 'for': 'go' }

只有在打开.go文件的时候才加载这个插件

Plug 'yuezk/vim-js', { 'for': ['php', 'html', 'javascript'] }

只有在打开phphtmljavascript文件的时候才加载这个插件。

自动化

你可以让vim-plug在安装/升级完一个插件之后做一些事情,比如运行一个脚本。

Plug 'Yggdroot/LeaderF', { 'do': './install.sh' }

大多数插件都不需要这一步。如果需要的话,插件的README里面会很清楚的标明的。所以在安装插件的时候请先阅读你要安装的那个插件的说明文件(Readme)

其他情况

vim-plug支持很多安装vim插件的方式。你想安装的vim插件不一定要来自github。你只要提供一个有效的链接即可。

有一些插件更新非常频繁,比如vim-go。你可以通过

Plug 'fatih/vim-go' , { 'tag': '*', 'for': 'go' }

来让vim-plug从git主分支中最近的一次tag来获取插件的源代码。除了tag以外,你还有branchcommit两个选项。它们分别会让vim-plug从一个特定的git分支和一个特定的git提交来获取代码。

我的推荐

在我的Vim配置文件最前面,有这么一段代码:

if empty(glob('~/.vim/autoload/plug.vim'))

silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

autocmd VimEnter * PlugInstall --sync | source $MYVIMRC

endif

这会让vim在每次启动的时候都检测一下vim-plug有没有被安装。如果没有的话,vim会尝试安装vim-plug,并自动运行 :PlugInstall 。如果你用的是Neovim,请把~/.vim/autoload/plug.vim换成~/.config/nvim/autoload/plug.vim

参考文章

 类似资料: