普通的高亮其实不太好,可以使用 neovim 的插件优化高亮:nvim-treesitter
它通过构建抽象语法树 (AST) 来实现。
安装与配置
-- 高亮
{ 'nvim-treesitter/nvim-treesitter', build = ':TSUpdate',
config = function()
require('nvim-treesitter.configs').setup({
ensure_installed = { "c", "cpp", "lua", "vim", "vimdoc" },
highlight = { enable = true },
indent = { enable = true },
})
end,},build = ':TSUpdate' 用来及时更新配置。及时更新 ensure_installed 的设置。
ensure_installed 列表中放入的就是需要安装的编程语言设置。
highlight = { enable = true } 就是告诉 Neovim 请关闭旧的、基于正则表达式的高亮引擎,改用 Treesitter 这个更先进、更准确的高亮引擎。
indent = { enable = true } 就是告诉 Neovim 请不要再用旧的脚本来猜测缩进了,直接使用 Treesitter 对代码结构的精确分析来计算正确的缩进。
可以移除的设置
treesitter 对于高亮以及缩进相比起传统设置更智能、更准确,所以 vim.opt.smartindent = true 可以删除。