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

使用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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:31:55