从 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 = "命令"
}
参考
- Getting started using Lua in Neovim Everything you need to know to configure neovim using lua详细介绍如何在 Neovim 0.5 之后版本中使用 Lua 插件。