- Other Suggested Plugins
- My other apps
This is a
fortran ide for
vim. It is intended to make the coding with
fortran easier and
faster in vim.
- an ide like environment for fortran 90+
- increases development speed considerably.
- easy to add new subprograms
- auto completion of program blocks, like
- popup menu for standard and user defined modules and subroutines
- support for menu mode
- support for gnu-autotools (configure, make)
The easiest way of installation is to use a vim plugin manager.
- Ultisnips: (Essential) Snippetes
leader key used here is `. You can change this by using:
let g:VimF90Leader = "your chosen key"
There are two ways to do the completions. One is Inbuilt Completions and Completions using Ultisnips
select etc statements, that are closed by a corresponding
is defined here. after typing the first line, pressing
complete the construct. for example:
trial: do i=1,10<f7>
you will get:
trial: do i=1,10 ⌶ end do trial
These key-combinations makes program and subprograms header. it supports program(`
sub) and function(`
fun). For example,
!this is file : <your file name> ! author= <users login name> ! started at: <current time> ! program <filename> implicit none <++start typing++> end program <filename>
NB: this part is shamelessly copied from fortran-codecomplete
Some statements is included here for less typing. these are mostly one-liner or part of the line:
|you type:||you get|
<++> is a nice option, a
<c-j> will put your cursor in that position. Use
inoremap <c-j> <Esc>/<++><CR><Esc><cf>
.vimrc for this feature.
Completions can also be achieved using Ultisnips (Few snippets are supplied with this code, as
ultisnips does not provide fortran snippets. More snippets are welcome!).
etc is inbuilt. You should define your ultisnips trigger in your vimrc(
and so on. Please check
vimf90/Ultisnips/fortran.snippets in your
.vim/ for complete list.
(Too lazy to type all.)
Fortran subprogram complete
vimf90 now supports subprogram completions.
<leader>call will popup a list of
modules and subroutine inside present working dirs and fortran’s standard module and subroutines.
Update: Moving completions completely to
coc-nvim and LSP implemented there. See
Basic linting is enabled. So, when a operator is typed preceded by a space, e.g.
A =B⌶, a
space is automatically inserted, yielding
A = B⌶. This basically enables
pep8’s whitespace rule in
You can enable/disable linting behaviour using
let g:VimF90Linter =0/1/-1
0: linting as you write. But this will check every keystroke. Use cautiously. Mostly for testing purpose.
1: Default. Lint only when you save a buffer
-1: Disable Linting.
For more, use dedicated linting packages like ALE.
Menu is added for
gui-help. it helps building project using
autotool. Every fortran file will open with
in the menubar.
it currently has the option of compile(
automake( a rudimentary configure.ac and makefile.am file
generator) and programing blocks (as given in Subprograms).
Other Suggested Plugins
- coc-nvim: (Highly Recommended) Autocompletion and language server protocol.
- ALE: (Recommended) Dedicated plugin for Linting and syntax checking.
The preferred way of contacting me is via github project page.
My other apps
Other apps I have developed: