Vim highlighting weird parts of FORTRAN

12,058

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.

Share:
12,058
rusty
Author by

rusty

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

Updated on August 27, 2022

Comments

  • rusty
    rusty over 1 year

    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.