Appearance
插件管理
概述
NvChad 使用 lazy.nvim 来管理插件。 NvChad 定义一个用户的插件表 (table), 然后将其与默认的插件表合并。 您可以在: lua/plugins/init.lua
中找到默认的插件表。
懒加载
我们几乎 95% 的插件都是懒加载, 因此我们建议您也对插件进行懒加载, 因为它可以有效减少nvim的启动时间。
- 我们不希望用户仅仅是因为插件没有懒加载而导致NvChad变慢。
- 请阅读 lazy.nvim plugin specs 文档来了解哪些选项可以用于延迟加载。
- 尽量延迟加载所有插件。
管理自定义插件
所有的NvChad默认插件都会设置lazy = true
。 因此,如果您希望某个插件在启动时就运行,可以将其修改为 lazy = false
.
建议您避免在 custom/plugins/*
目录下保存任何文件。
我们使用
lazy.nvim
提供的导入功能,来导入目录中的所有文件,并期望每个文件返回插件表(plugin tables). 这种行为不符合我们的目的, 所以建议创建一个名为 custom/plugins.lua 的文件。 这个文件会由lazy.nvim
导入,目录中的其他文件不会被处理。
- custom/chadrc.lua
lua
M.plugins = "custom.plugins"
- custom/plugins.lua
lua
local plugins = {
{ "elkowar/yuck.vim" , lazy = false }, -- 在启动时加载插件
-- 您可以使用lazy.nvim中的任何插件规范
{
"Pocco81/TrueZen.nvim",
cmd = { "TZAtaraxis", "TZMinimalist" },
config = function()
require "custom.configs.truezen" -- just an example path
end,
},
-- 这里的opts会扩展默认的opts
{
"nvim-treesitter/nvim-treesitter",
opts = {
ensure_installed = {"html", "css", "bash"},
},
},
-- 如果您想在opts中加载某些函数或者模块,可以使用函数进行包装
{
"nvim-telescope/telescope.nvim",
opts = {
defaults = {
mappings = {
i = {
["<esc>"] = function(...)
require("telescope.actions").close(...)
end,
},
},
},
},
},
{
"folke/which-key.nvim",
enabled = false,
}
}
return plugins