このところsyntax colouringを使ってきたが,拡張子がf90なのに固定形式として認識されているようだった. 調べてみると,先頭250行を見て判断していることが分かった. このソースは,左端から6桁開いているが,72桁より長いところが 無効としてハイライトされていた.

拡張子がfとFの時に固定形式とするには,.vimrcに次のように書く. filetype plugin indent onはsyntax onよりも前でなくてはならない.

なお,既定では,新しいファイルは固定形式と仮定するようだ. これまでは,少し書いてから,いったん保存して開き直していた.

filetype plugin indent on
let s:extfname = expand("%:e")
if s:extfname ==? "f" || s:extfname ==? "F"
    let fortran_fixed_source=1
    unlet! fortran_free_source
else
    let fortran_free_source=1
    unlet! fortran_fixed_source
endif
syntax on
autocmd FileType * set formatoptions-=tcq

最後の行は,自動改行を防ぐおまじない