基础配置插件¶
插件命名约定
本章将使用 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 格式化插件,速度快且可通过用户配置提供的
configs/conform.lua
文件进行扩展。 -
nvim-treesitter/nvim-treesitter - 允许在 Neovim 中使用 tree-sitter 接口,并提供一些基本功能,如语法高亮。
-
lewis6991/gitsigns.nvim - 为 git 提供装饰,显示已添加、删除和修改的行报告,这些报告也集成在 statusline 中。
-
williamboman/mason.nvim - 通过方便的图形界面简化了 LSP (Language Server) 的安装管理。
-
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,允许我们管理打开的缓冲区。此插件还提供用于更新 NvChad 的 NvChadUpdate,用于概览键盘快捷键的 NvCheatsheet,以及用于执行文件操作的 Nvdash。
-
NvChad/nvim-colorizer.lua - 由 NvChad 开发人员编写的另一个插件。它是一个高性能的高亮器。
-
kyazdani42/nvim-web-devicons - 这为 IDE 中的文件类型和文件夹添加了图标(需要其中一种 Nerd Fonts)。这使我们可以通过视觉识别文件管理器中的文件类型,从而加快操作速度。
-
lukas-reineke/indent-blankline.nvim - 提供指南,更好地识别文档中的缩进,从而可以轻松识别子例程和嵌套命令。
-
kyazdani42/nvim-tree.lua - Neovim 的文件浏览器,允许进行最常见的文件操作(复制、粘贴等),与 Git 集成,使用不同的图标识别文件,以及其他功能。最重要的是,它会自动更新(这在使用 Git 存储库时非常有用)。
- folke/which-key.nvim - 显示输入部分命令后所有可能的自动补全选项。
结论和最终想法¶
NvChad 的开发人员付出了巨大的努力,值得肯定。他们创建了一个所有插件集成的环境,使用户界面整洁专业。此外,后台运行的插件还提供了增强的编辑和其他功能。
这意味着普通用户可以立即拥有一个基础 IDE 来开始工作,并且可以通过可扩展的配置来满足他们的需求。
作者:Franco Colussi
贡献者:Steven Spencer, Ganna Zhyrnova