Appearance
内置功能
- NvChad建立在其自有插件和许多通用的neovim插件之上,以下是NvChad插件提供的功能 ( 我们的ui插件, base46, extensions, nvterm, nvim-colorizer )
Base46
- Base46 是NvChad的主题插件,并且提供了许多移植主题(大约57+)。
工作原理?
- 获取高亮groups
- 进行一些计算,比如检查覆盖的高亮group,新建的高亮groups,主题覆盖,自定义的用户主题等。
- 现在base46会将这些都编译为字节码。
- 默认情况下不加载集成文件,例如telescope的高亮group, nvimtree等被放到不同的文件中。
- 高亮groups是懒加载的,只有在您需要的时候才会加载。
- 比如 : dofile(vim.g.base46_cache .. "cmp")
- 在下面的视频中,您可以看到chadrc文件(用户配置文件)中UI相关选项动态重新加载。
主题切换器
- 带有telescope.nvim风格的主题切换器,它使用base46插件 + plenary.nvim。
状态栏Statusline
- 我们有我们自己的statusline模块 ( 我们的UI插件 ),具有4种状态栏风格。
标签页Tabufline
- NvChad的标签页tabufline模块(来自UI插件)混合了tabline和bufferline。
- 它管理buffers & tabs,并且按钮是支持鼠标点击的。
- 每个选项卡都会存储自己的一组缓冲区,并且tabufline只显示这些缓冲区。
- 可以认为它就像Linux/Windows上面的工作区,但是在vim中所有选项卡的缓冲区将显示在每个选项卡中。
Nvterm
- NvChad的终端插件,用于在neovim的终端缓冲区中切换和运行命令。
- 与我们的telescope选择器一起使用 ( :Telescope terms ) 用于取消隐藏终端缓冲区 leader + pt .
Dashboard
- Nvdash是NvChad最小的Dashboard模块,现阶段非常简单,将来会获得更多的功能。
- 运行
Nvdash
命令,它在启动时会被禁用,您可以检查default_config.lua中的语法,并在chadrc中覆盖它。
NvCheatsheet
- 自动生成快捷键映射的备忘清单,它的布局和CSS中的瀑布流布局很相似。
- 有两种主题( grid 和 simple )
- 使用下面的命令调用 :
NvCheatsheet
或者快捷键leader + ch
通用 neovim 插件
- 这些插件与NvChad无关,我们只是稍微调整主题并将UI相关的内容整合成主题。
Telescope.nvim
- Telescope.nvim 是一个高度可扩展的列表模糊搜索器。基于neovim核心的最新强大功能构建。Telescope以模块化为中心,可以轻松定制。
- 在NvChad中telescope有两种风格( bordered 和 borderless )
Nvim-tree.lua
nvim-tree.lua
是一个使用Lua编写的Neovim文件树浏览器。
Nvim-cmp
nvim-cmp
是一个用Lua编写的neovim补全插件。- 以下是NvChad中的一些cmp样式
- 请注意,这只是everblush主题的cmp外观,还有57+种主题! 你可以在用户配置文件chadrc中自行隐藏cmp图标、cmpkind txt etc等。
自动补全 & LSP
nvim-lspconfig
与 cmp 一起使用来实现代码补全,luasnip
和friendly-snippets
来实现代码片段补全。
lazy.nvim
- Neovim的现代插件管理器。whichkey.nvim
- 创建持久化的按键绑定。WhichKey是Neovim 0.5的一个lua插件,它显示一个弹出窗口,其中包含了您开始输入命令的可能的键绑定。nvim-colorizer.lua
- 最快的Neovim着色器、十六进制颜色、hsl代码等。nvim-treesitter
- Nvim Treesitter 配置和抽象层,我们使用它来进行语法的高亮显示和自动缩进。blankline
- Neovim的缩进指南,即缩进线插件。gitsigns.nvim
- 缓冲区的Git集成。nvim-autopairs
comment.nvim
- 注释插件。mason.nvim
- Neovim的包管理器,可以在Neovim运行的任何地方运行。轻松安装和管理LSP servers, DAP servers, linters和格式化程序。