基本配置插件¶
插件命名约定
本章将使用 user_github/plugin_name
格式标识插件。这样做是为了避免可能出现的同名插件错误,并介绍 NvChad 和 custom
配置使用的插件条目格式。
基本 NvChad 插件位于 ~/.local/share/nvim/lazy/NvChad/lua/nvchad/plugins/
文件夹中
├── init.lua
└── ui.lua
相应的配置位于 ~/.local/share/nvim/lazy/NvChad/lua/nvchad/configs/
文件夹中
├── cmp.lua
├── gitsigns.lua
├── lazy_nvim.lua
├── lspconfig.lua
├── luasnip.lua
├── mason.lua
├── nvimtree.lua
├── telescope.lua
└── treesitter.lua
在 plugins
文件夹中是 init.lua 和 ui.lua 文件。前者处理为编辑器提供附加功能的插件的配置(telescope、gitsigns、tree-sitter 等),而后者则设置编辑器的外观(颜色、图标、文件管理器等)。
基本插件¶
以下是主要插件的简要分析
nvim-lua/plenary.nvim - 提供其他插件使用的常用 lua 函数库,例如 telescope 和 gitsigns。
stevearc/conform.nvim 用于 Neovim 的格式化插件,快速且可扩展,得益于用户配置提供的
configs/conform.lua
文件nvim-treesitter/nvim-treesitter - 允许您在 Neovim 中使用 tree-sitter 接口,并提供一些基本功能,例如突出显示。
lewis6991/gitsigns.nvim - 为 git 提供装饰,提供添加、删除和更改行的报告 - 这些报告也集成到 statusline 中。
williamboman/mason.nvim - 通过便捷的图形界面简化 LSP(语言服务器)安装管理。
neovim/nvim-lspconfig - 为几乎所有可用的语言服务器提供适当的配置。这是一个社区集合,包含了大多数相关的设置。该插件负责接收我们的配置并将它们放入编辑器环境中。
hrsh7th/nvim-cmp 与插件提供的相应来源一起
windwp/nvim-autopairs - 多亏了这个插件,我们拥有自动关闭括号和其他字符的功能。例如,通过插入一个开始括号
(
,完成将自动插入结束括号)
并将光标放在中间。numToStr/Comment.nvim - 为代码注释提供高级功能。
nvim-telescope/telescope.nvim - 提供高级文件搜索功能,高度可定制,也可以(例如)用于选择 NvChad 主题(命令
:Telescope themes
)。
NvChad/base46 - 为界面提供主题。
NvChad/ui - 提供 NvChad 的实际界面和核心实用程序。有了这个插件,我们就可以拥有一个 statusline,它可以在编辑过程中提供信息,以及一个 tabufline,它允许我们管理打开的缓冲区。这个插件还提供了 NvChadUpdate 实用程序用于更新它,NvCheatsheet 用于概述键盘快捷键,以及 Nvdash 用于执行文件操作。
NvChad/nvim-colorizer.lua - 另一个由 NvChad 开发人员编写的插件。它专门是一个高性能的突出显示器。
kyazdani42/nvim-web-devicons—这将图标(需要 Nerd 字体之一)添加到我们 IDE 中的文件类型和文件夹。这使我们能够在文件浏览器中直观地识别文件类型,从而加快操作速度。
lukas-reineke/indent-blankline.nvim - 提供指南,以便更好地识别文档中的缩进,使子例程和嵌套命令易于识别。
kyazdani42/nvim-tree.lua - Neovim 的文件浏览器,支持最常见的文件操作(复制、粘贴等),并与 Git 集成,用不同的图标识别文件,以及其他功能。最重要的是,它会自动更新(当您使用 Git 仓库时非常有用)。
- folke/which-key.nvim - 显示为输入的命令片段提供的所有可能的自动补全。
结论和最终想法¶
必须承认 NvChad 开发人员做了大量的工作。他们为所有插件创建了一个集成环境,使用户界面简洁美观。此外,幕后工作的插件增强了编辑和其他功能。
这意味着普通用户可以立即拥有一个基本的 IDE 来开始工作,并拥有一个可扩展的配置来适应他们的需求。
作者:Franco Colussi
贡献者:Steven Spencer,Ganna Zhyrnova