Vim highlighting weird parts of FORTRAN


Solution 1

If you search :help fortran, you'll get a list of options that you can set. These are the fortran options I set in my own .vimrc file. (I don't work with fixed-format code though) I know there are one or two fortran specific scripts that are available online, but I don't use them.

let fortran_free_source=1
let fortran_have_tabs=1
let fortran_more_precise=1
let fortran_do_enddo=1

Solution 2

Vim was using fixed-format/punchcard when I created a new .f90 file. In order to differentiate it, I found this. I copied it to my ~/.vim/syntax/ directory and added the following lines to my .vimrc (also specified at following link)

nmap <S-F> :set syntax=fortran<CR>:let b:fortran_fixed_source=!b:fortran_fixed_source<CR>:set syntax=text<CR>:set syntax=fortran<CR>
nmap <C-F> :filetype detect<CR>

Allowing me to bind Shift-F to switch formats, and Ctrl-F to auto detect.

Solution 3

You can install the Fortran F90/95 indentation rules script in ~/.vim/after/indent, and it should fix the index errors.

Author by


Software engineer and system administrator at Cray Inc. Programming with Python, Perl, and Ruby amidst shell languages.

Updated on August 27, 2022


  • rusty
    rusty about 1 month

    I am using VIM theme molokai, if that makes any difference.

    I have been learning FORTRAN lately and when I write a FORTRAN program using VIM, I have weird coloring depending on my whitespace.

    For instance, if I tab things over as is (no indenting) I have this purple highlight on only a portion of the word (sometimes it isn't there, notice the PRINTs and READs).

    without tabs

    If I tab it over it looks normal:

    with tabs

    I am new to VIM (not to mention FORTRAN) so I am not sure what's happening, I don't mind tabbing over all the time but I think it looks a little ridiculous if the whole program is wasting that column of white space.