Neovim 插件管理工具

2020-06-12 linux vim

从 Neovim 0.5 版本开始,一般推荐使用 Lua 原生的 packer.nvim 做插件管理,现在大多数插件都支持该管理工具。

这里详细介绍其使用。

基本介绍

很多的 VIM 插件在 NeoVim 中也可以使用,但是因为 vimrc 的低效,有些插件没有使用到 NeoVim 内置的特性,所以,在使用时尽量使用为 NeoVim 准备的插件。

在 Neovim 0.5 以后一般推荐使用 Lua 原生的 Packer.nvim 做插件管理,安装时按照官方的介绍使用即可。

$ git clone --depth 1 https://github.com/wbthomason/packer.nvim\
	~/.local/share/nvim/site/pack/packer/start/packer.nvim

创建插件配置文件 lua/plugins.lua,后面 Packer 就可以管理和升级自己了。

return require('packer').startup(function()
  -- Packer can manage itself
  use 'wbthomason/packer.nvim'
end)

很多插件都提供了健康检查能力,以 which-key.nvim 为例,可以通过 :checkhealth which-key 命令查看。

常用命令

安装完 Packer.nvim 后会增加以下命令。

-- Regenerate compiled loader file
:PackerCompile

-- Remove any disabled or unused plugins
:PackerClean

-- Clean, then install missing plugins
:PackerInstall

-- Clean, then update and install plugins
:PackerUpdate

-- Perform `PackerUpdate` and then `PackerCompile`
:PackerSync

-- Loads opt plugin immediately
:PackerLoad completion-nvim ale

其实每次修改完,执行 :PackerSync 命令可以了,会自动从 GitHub 上同步相关的插件,日志默认保存在 ~/.cache/nvim/packer.nvim.log 文件中。

基础配置

根据不同的使用场景,可以分别进行配置,如下是常见的配置方式。

-- 包管理器
use {
    "wbthomason/packer.nvim"
}

-- 可以一次加载一个插件,与上相同,不需要初始化,例如colorschema
use "插件地址"

-- 可以一次加载多个插件,跟上一个 list
use {
    "插件地址",
    "插件地址",
    "插件地址"
}

-- 对于有依赖的插件,可以使用 requires 跟上一个 list
use {
    "插件地址",
    requires = {
        "依赖的插件地址",
        "依赖的插件地址",
        "依赖的插件地址",
    }
}

-- 可以在插件加载完成后自动运行一些代码
use {
    "插件地址",
    config = function()
        "需要运行的代码 ..."
    end
}

-- 插件可以在固定的文件类型里生效
use {
    "插件地址",
    ft = {"html", "css", "javascript"}
}

-- 插件可以在一些自动事件加载后生效(延迟加载)
use {
    "插件地址",
    event = "事件"  -- 使用 :h event 可获取事件帮助
}

-- 插件可以在输入一些命令后生效(延迟加载)
use {
    "插件地址",
    cmd = {"命令", "命令", "命令"}
}

-- 插件可以在按下某些按键后生效(延迟加载)
use {
    "插件地址",
    keys = {
        "键位",
        "键位"
    }
}

-- 在插件加载后自动执行一些操作
use {
    "插件地址",
    run = "命令"
}

参考