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

Fortran 77注释的语法突出显示在vim中不起作用,vim,comments,fortran,Vim,Comments,Fortran,我有一个用Fortran 77编写的代码,我用vim阅读它。编写代码时,注释位于以c开头的行上,这是Fortran 77中的标准。但是,vim无法识别它们,因此使用了着色语法,这使得代码非常难以阅读!我怎样才能克服这个问题 我已经看到有一个。我已经阅读了答案并尝试了建议的不同解决方案: 在.vimrc中添加让fortran有\u tabs=1 加 syn match fortranComment excludenl "^[!c*].*$" contains=@fortranCommentGrou

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

我已经看到有一个。我已经阅读了答案并尝试了建议的不同解决方案:

  • 在.vimrc中添加
    让fortran有\u tabs=1

  • syn match fortranComment excludenl "^[!c*].*$" contains=@fortranCommentGroup,@spell
    syn match fortranComment excludenl "!.*$" contains=@fortranCommentGroup,@spell
    
    到vimrc


  • 但它们不适合我。有人知道为什么吗?我在什么地方出错了吗?否则,有人有不同的建议吗?

    这就是我在.vimrc中的工作原理:

    let fortran_have_tabs=1
    if has('syntax') && (&t_Co > 2)
        syntax enable
    endif
    
    最重要的部分很可能是
    语法启用
    部分。您可能还需要:

    filetype on
    
    另外,请尝试键入
    :help 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
    
    并将其放在您的.vimrc中:

    filetype plugin indent on
    

    这对我来说是个窍门,这样我就可以毫无问题地查看和编辑自由形式和固定形式。

    什么版本的vim?如果文件扩展名是.f,它能工作吗?它会着色吗?或者只是评论没有着色?如果您尝试Fortran 90注释(!),它会给它上色吗?我相信vim Fortran高亮显示例程会查看文件的前几行,并由此确定文件是否为固定格式。如果您在文件的前几行中有一些非标准FORTRAN 77内容,vim可能会假设该文件为自由格式,因此“c”不会被视为注释。在这个问题中看到一段用于测试的示例代码会很好。我刚刚注意到。它有一些信息给你。您可能需要深入了解.vimrc文件的内部结构和语法,以了解其他方面的情况。