2012-08-10 13 views
5

Fortran 77で書かれたコードをvimで読みました。コードは、コメントがcで始まる行にあり、Fortran 77の標準のように書かれています。しかし、vimはそれらを認識せず、したがってコードを読みにくくする色分け構文を使用します。どうすればこれを克服できますか?Fortran 77のコメントのハイライトがvimで機能しない

post with the same problemがあります。私は答えを読んで、提案されている別の解決策を試してみました:

  1. の.vimrcとするlet fortran_have_tabs=1を追加

の.vimrcとする

syn match fortranComment excludenl "^[!c*].*$" [email protected],@spell 
syn match fortranComment excludenl "!.*$" [email protected],@spell 

の追加します彼らは私のために働かない。なぜ誰かが知っていますか?私はどこかでミスをしたことがありますか?さもなければ、誰かが別の提案をしていますか?

+2

vimのどのバージョンですか?ファイル拡張子が.fの場合は動作しますか? – milancurcic

+1

それは何かを着色していますか?あるいは、コメントに色付けされていないだけですか? Fortran 90のコメント(!)を試してみると、その色になりますか?私はvim Fortranのハイライトルーチンがファイルの最初の数行を見て、そのファイルが固定フォーマットかどうかを判断すると思います。ファイルの最初の数行に標準以外のFORTRAN 77のものがある場合、vimはそのファイルがフリーフォーマットであると仮定している可能性があります。したがって、 "c"はコメントではありません。 – SethMMorton

+0

質問のテストのためのサンプルコードを見ていただければ幸いです。 – xaizek

答えて

2

これは私の.vimrcに私のためにどのような作品です:

let fortran_have_tabs=1 
if has('syntax') && (&t_Co > 2) 
    syntax enable 
endif 

重要な部分は、最も可能性が高いsyntax enable部分です。また:help ft-fortran-syntaxを入力して、それを読んでみてください(:http://vimdoc.sourceforge.net/htmldoc/syntax.html#ft-fortran-syntaxまたはこちらを参照)

filetype on 

:あなたも、これを必要な場合があります。

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でこれを置く:私は、私はファイル~/.vim/ftplugin/fortran.vimを作成し、その中でこのことを置くために必要なことだったから奪ったものを私のためのトリックを行います

filetype plugin indent on 

私は自由形式と固定形式を何も問題なく見て編集することができます。

関連する問題