为何Neovim无法实现完整语法高亮,缺失函数与方法高亮
Neovim函数与方法高亮异常修复方案
问题说明
Neovim默认状态下未对函数、方法实现高亮显示,和VSCode的高亮效果差异如下:
效果对比
- Neovim当前显示效果:

- VSCode正常显示效果:

修复步骤
- 第一步:安装
nvim-treesitter插件,安装对应开发语言的语法解析器,在Neovim命令行执行::TSInstall 你使用的编程语言名称
例:开发TypeScript执行:TSInstall typescript tsx,开发Python执行:TSInstall python - 第二步:开启treesitter高亮配置,在你的Neovim配置文件中添加如下代码:
require("nvim-treesitter.configs").setup({ highlight = { enable = true, -- 关闭旧的正则高亮避免冲突 additional_vim_regex_highlighting = false, } }) - 第三步:如果开启后仍无函数高亮,检查LSP语义高亮配置,部分LSP服务默认的语义高亮会覆盖treesitter规则,可根据需要调整:
vim.api.nvim_create_autocmd("LspAttach", { callback = function(args) local client = vim.lsp.get_client_by_id(args.data.client_id) -- 不需要LSP语义高亮则保留下面这行,需要就删除 client.server_capabilities.semanticTokensProvider = nil end }) - 第四步:确认你使用的配色主题支持treesitter高亮,目前
catppuccin、tokyonight、gruvbox-material等主流配色均已适配,无需额外配置高亮组。
内容的提问来源于stack exchange,提问作者Betflop
相关产品推荐
相关产品推荐

