Fortran 77注释的语法突出显示在vim中不起作用

Ang*_*eva 5 vim fortran comments

我有一个用Fortran 77编写的代码,我用vim阅读它.编写代码使得注释c位于以Fortran 77标准开头的行上.但是,vim无法识别它们,因此使用着色语法使代码非常难以阅读!我怎么能克服这个?

我已经看到有一个帖子有同样的问题.我已经阅读了答案并尝试了已建议的不同解决方案:

  1. 添加let fortran_have_tabs=1到.vimrc

  2. syn match fortranComment excludenl "^[!c*].*$" contains=@fortranCommentGroup,@spell
    syn match fortranComment excludenl "!.*$" contains=@fortranCommentGroup,@spell
    
    Run Code Online (Sandbox Code Playgroud)

    到.vimrc

但他们不适合我.有人知道为什么吗?我在某个地方犯了错误吗?否则,有没有人有不同的建议?

pat*_*cek 3

这就是我的 .vimrc 中对我有用的内容:

let fortran_have_tabs=1
if has('syntax') && (&t_Co > 2)
    syntax enable
endif
Run Code Online (Sandbox Code Playgroud)

重要的部分很可能是该syntax enable部分。您可能还需要这个:

filetype on
Run Code Online (Sandbox Code Playgroud)

还可以尝试输入:help ft-fortran-syntax并阅读该内容(或参见此处: http: //vimdoc.sourceforge.net/htmldoc/syntax.html#ft-fortran-syntax)。我从中得到的是,我需要创建文件~/.vim/ftplugin/fortran.vim并将其放入其中:

let s:extfname = expand("%:e")
if s:extfname ==? "f90"
  let fortran_free_source=1
  unlet! fortran_fixed_source
else
  let fortran_fixed_source=1
  unlet! fortran_free_source
endif
Run Code Online (Sandbox Code Playgroud)

并将其放入您的 .vimrc 中:

filetype plugin indent on
Run Code Online (Sandbox Code Playgroud)

这对我来说很有效,这样我就可以毫无问题地查看和编辑自由格式和固定格式。