You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何清除Neovim中LSP函数定义搜索生成的高亮?

如何清除Neovim中LSP函数定义搜索生成的高亮?

别担心,这个问题其实有好几种简单的解决办法,完全不用每次重启Neovim那么麻烦!

首先,最直接的临时解决方案:在正常模式下输入命令 :nohl(全称是:nohlsearch),回车之后就能立刻清除当前的高亮效果。这个是Neovim自带的命令,专门用来清除各类搜索类高亮——不管是普通文本搜索,还是LSP生成的函数定义/引用高亮都能搞定。

如果你觉得每次输命令太繁琐,可以给它绑定个顺手的快捷键,比如把Escape键改成既能退出插入模式又能清高亮,在你的配置里加一行:

vim.keymap.set('n', '<Esc>', '<Cmd>nohlsearch<CR>', { silent = true })

这样以后按Esc就能一键清高亮,操作起来特别顺手。

另外,还有个专门针对LSP引用高亮的方法:Neovim提供了vim.lsp.buf.clear_references()函数,专门用来清除LSP生成的函数引用高亮。你可以把它绑定成快捷键,加到你现有的on_attach函数里:

vim.keymap.set('n', '<leader>cr', vim.lsp.buf.clear_references, { desc = "Clear LSP references highlight" })

之后按<leader>cr就能精准清除这类LSP高亮了。

至于你之前试的:q、:close和Esc没用的原因::q本来就是关闭窗口的命令,自然会退出编辑;而默认的Esc只是用来退出插入模式或者取消正在输入的命令,并不会触发清除高亮的操作,所以才不管用~

备注:内容来源于stack exchange,提问作者MK4

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 12:18:11