vim-flake8
is a Vim plugin that runs the currently open file through Flake8,
a static syntax and style checker for Python source code. It supersedes both
vim-pyflakes and
vim-pep8.
Flake8 is a wrapper around PyFlakes (static syntax checker), PEP8 (style checker) and Ned's MacCabe script (complexity checker).
Use vim-pathogen if you're not using
it already. Make sure you've installed the flake8 package.
Then, simply put the contents of this repository in your
~/.vim/bundle
directory.
- Open a Python file
- Press
<F7>
to runflake8
on it
It shows the errors inside a quickfix window, which will allow your to quickly jump to the error locations by simply pressing [Enter].
If you don't want to use the <F7>
key for flake8-checking, simply remap it to
another key. It autodetects whether it has been remapped and won't register
the <F7>
key if so. For example, to remap it to <F3>
instead, use:
autocmd FileType python map <buffer> <F3> :call Flake8()<CR>
To add builtins, in your .vimrc:
let g:flake8_builtins="_,apply"
To ignore errors, in your .vimrc:
let g:flake8_ignore="E501,W293"
If you want to change the max line length for PEP8:
let g:flake8_max_line_length=99
To set the maximum McCabe complexity before a warning is issued:
let g:flake8_max_complexity=10
To customize the location of your flake8 binary, set g:flake8_cmd
:
let g:flake8_cmd="/opt/strangebin/flake8000"
A tip might be to run the Flake8 check every time you write a Python file, to
enable this, add the following line to your .vimrc
file (thanks
Godefroid!):
autocmd BufWritePost *.py call Flake8()
This plugin goes well together with the following plugin:
- PyUnit (unit test helper under
<F8>
and<F9>
)
1.3: Added the following options:
- `g:flake8_builtins="_,apply"`
- `g:flake8_max_complexity=10`
1.2: Added the following options:
- `g:flake8_cmd="/opt/strangebin/flake8000"`
- `g:flake8_max_line_length=120`
- `g:flake8_ignore="E501,W293"`
1.1: Added g:flake8_ignore
option.
1.0: Initial version.