移除Vim制表符高亮:Fortran文件空列首数字红高亮问题求助
解决Vim编辑Fortran文件时空列首个数字红色高亮的问题
我之前也碰到过一模一样的情况,这大概率是Vim自带的Fortran语法高亮规则在起作用——老Fortran标准里第1列是标签列,Vim的语法文件可能把不符合标签规范的列1数字标记成了错误(红色高亮)。下面给你几个靠谱的解决办法:
方法一:直接覆盖语法高亮规则
在你的vimrc里添加下面的配置,专门针对Fortran文件取消列1数字的错误高亮:
" 针对Fortran文件,将列1的数字高亮改为普通文本 autocmd FileType fortran syn match fortranLabel /^[0-9]/ contained autocmd FileType fortran highlight link fortranLabel Normal
保存后重启Vim,红色高亮应该就消失了。
方法二:先定位高亮组再精准修改
如果你想更有针对性地解决,可以先搞清楚这个红色高亮对应的语法组:
- 把光标移到那个红色数字上
- 输入命令:
:echo synIDattr(synID(line('.'), col('.'), 1), 'name')
执行后会弹出一个组名(比如fortranError)
3. 然后在vimrc里添加:
autocmd FileType fortran highlight <你的组名> ctermfg=default guifg=default
这样就把这个组的颜色改成默认,不再高亮。
方法三:排查vimrc或插件冲突
你提到了自己的vimrc文件,建议检查里面有没有自定义的Fortran语法设置,或者有没有安装第三方Fortran插件(比如vim-fortran)。有些插件会修改默认的语法高亮规则,你可以暂时禁用插件测试,看看是不是插件导致的问题。
另外补充下:你用:noh没用是因为这个是语法高亮,而:noh只是清除搜索高亮;set list会显示不可见字符,同时可能干扰了语法高亮的渲染,所以高亮消失,但这不是根本解决办法哦。
内容的提问来源于stack exchange,提问作者ATK
相关产品推荐
相关产品推荐

