我正在阅读fortran 77代码(我讨厌!)并且为了防止vim在第72行之后奇怪地着色线条,我在.vimrc中的let fortran_free_source=1
行之前包含了syntax on
。
但是,执行此操作后,所有以“C”或“c”开头的注释都不会以注释的颜色方式着色。只有以'!'开头的评论颜色正确。我应该如何编辑我的.vimrc文件,以便旧fortran样式的注释正确显示?
答案 0 :(得分:2)
新答案:
添加到您应该摆脱它的.vimrc let fortran_have_tabs=1
。唯一的副作用是标签不再突出显示。
旧答案:
我不知道任何直接的解决方案,但是一个肮脏的黑客将复制你的语法文件夹中的fortran.vim并删除第332行:
syn match fortranSerialNumber excludenl "^.\{73,}$"lc=72
如果你将它命名为myfortran.vim(在你的〜/ .vim / syntax文件夹中),你可以使用set syntax = myfortran。我敢肯定必须有更优雅的方式,但这应该有用。
如果你将它保留为fortran.vim,那么只会加载〜/ .vim / syntax中的文件而不是/ usr / yourvimdir /
中的文件答案 1 :(得分:2)
你以错误的方式解决问题。由于某种原因,Vim将排在第72列之后,因为无效代码,以显示它将被忽略。
无论如何,因为我不知道你的描述是什么颜色,所以我猜它是一个字符串,试试
hi! link fortranSerialNumber fortranString
让我们知道结果......
答案 2 :(得分:1)
将它放在〜/ .vimrc / after / syntax / fortran.vim:
中syn match fortranComment excludenl "^[!c*].*$" contains=@fortranCommentGroup,@spell
syn match fortranComment excludenl "!.*$" contains=@fortranCommentGroup,@spell
这突出了所有类型的Fortran评论,无论其他突出显示选项如固定或免费源表单。
解析默认语法高亮文件后,〜/ .vimrc / after / syntax /中的任何内容都会运行。上面的两行是我的fortran.vim副本,但是在if
语句中,所以它们并不总是生效。
如果要突出显示非标准“d”注释行,可以在第一行"^[!cd*].*$"
内添加d。