使用Vim一年未改设置,Haskell文件关键字突然被下划线标注,求关闭方法
解决Vim中Haskell文件关键字自动下划线的问题
嘿,我之前也碰到过这种毫无预兆的Vim高亮变化,确实挺烦人的!咱们一步步来搞定它:
先搞清楚是哪个高亮组在搞事
打开你的Haskell文件,把光标移到带下划线的关键字上,输入这条命令::hi <c-r>=synIDattr(synID(line('.'),col('.'),1),'name')<cr>它会显示当前光标位置对应的语法高亮组名称(比如
haskellKeyword或者类似的)。如果你的Vim版本比较新,直接输入:Inspect也能看到详细的高亮信息。临时关闭下划线(先验证效果)
假设你查到的高亮组是haskellKeyword,输入下面的命令就能立刻去掉下划线::hi haskellKeyword gui-=underline cterm-=underline这个命令只移除下划线属性,不会影响其他高亮样式(比如颜色)。如果想直接清空所有格式,也可以用
:hi haskellKeyword gui=NONE cterm=NONE,不过前者更稳妥。永久解决,把设置加到vimrc
要是临时设置管用,就把下面的代码加到你的~/.vimrc(Neovim的话是~/.config/nvim/init.vim)里,这样每次打开Haskell文件都会自动生效:autocmd FileType haskell hi haskellKeyword gui-=underline cterm-=underline注意把
haskellKeyword换成你实际查到的高亮组名称哦。排查突发问题的根源
你说之前没改过设置,突然出现这个情况,大概率是这两个原因:- Vim自带的Haskell语法文件更新了,调整了高亮属性;
- 你装的Haskell相关插件(比如
haskell-vim)自动更新了,修改了高亮规则。
要是你最近更新过Vim或者插件,可以回滚版本试试,或者去插件的社区看看有没有其他人遇到同款问题。
另外,顺便排除下拼写检查的可能——拼写检查的下划线一般是针对错误词汇,颜色也不一样,你可以输入:set nospell测试下,如果下划线消失了,那就是拼写检查的锅,再调整拼写设置就行。
内容的提问来源于stack exchange,提问作者Quentin Liu
相关产品推荐
相关产品推荐

