[vim-pyflakes](https://github.com/nvie/vim-pyflakes) and
[vim-pep8](https://github.com/nvie/vim-pep8).
-[Flake8](http://pypi.python.org/pypi/flake8/) is a wrapper around PyFlakes
-(static syntax checker), PEP8 (style checker)
-and Ned's MacCabe script (complexity checker).
+[Flake8](https://pypi.python.org/pypi/flake8/) is a wrapper around PyFlakes
+(static syntax checker), PEP8 (style checker) and Ned's MacCabe script
+(complexity checker).
Installation
------------
-Use [vim-pathogen](https://github.com/tpope/vim-pathogen) if you're not using
-it already. Make sure you've installed the [flake8](http://pypi.python.org/pypi/flake8/) package.
-Then, simply put the contents of this repository in your
-`~/.vim/bundle` directory.
+
+Make sure you've installed the
+[flake8](https://pypi.python.org/pypi/flake8/) package.
+
+If you use vim >= 8, install this plugin with:
+```
+mkdir -p ~/.vim/pack/flake8/start/
+cd ~/.vim/pack/flake8/start/
+git clone https://github.com/nvie/vim-flake8.git
+```
+
+Otherwise, install [vim-pathogen](https://github.com/tpope/vim-pathogen)
+if you're not using it already. Then, simply put the
+contents of this repository in your `~/.vim/bundle` directory.
Usage
-----
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
+ autocmd FileType python map <buffer> <F3> :call flake8#Flake8()<CR>
-To set the maximum [McCabe complexity](https://en.wikipedia.org/wiki/Cyclomatic_complexity) before a warning is issued:
+For flake8 configuration options please consult the following page:
- let g:flake8_max_complexity=10
+http://flake8.pycqa.org/en/latest/user/configuration.html
To customize the location of your flake8 binary, set `g:flake8_cmd`:
highlight link Flake8_Naming WarningMsg
highlight link Flake8_PyFlake WarningMsg
+To show the error message of the current line in the ruler, call `flake8#ShowError()`:
+
+ " add binding to call the function
+ nnoremap <C-K> :call flake8#Flake8ShowError()<cr>
+
+
Tips
----
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](http://github.com/gotcha)!):
+[Godefroid](https://github.com/gotcha)!):
- autocmd BufWritePost *.py call Flake8()
+ autocmd BufWritePost *.py call flake8#Flake8()
This plugin goes well together with the following plugin:
-- [PyUnit](http://github.com/nvie/vim-pyunit) (unit test helper under `<F8>`
+- [PyUnit](https://github.com/nvie/vim-pyunit) (unit test helper under `<F8>`
and `<F9>`)
+Max line lengths
+----------------
+
+One particular customization a lot of people like to make is relaxing the
+maximum line length default. This is a config setting that should be set in
+flake8 itself. (vim-flake8 "just" invokes it and deals with showing the output
+in Vim's quickfix window.)
+
+To do so, put the following into your `~/.config/flake8` file:
+
+ [flake8]
+ max-line-length = 120
+
+
History
-------
+1.6: Deprecated configuring flake8 options through Vim settings. Instead,
+advise users to use the `~/.config/flake8` config file.
+
+ - Decprecated options:
+ - `g:flake8_builtins`
+ - `g:flake8_ignore`
+ - `g:flake8_max_line_length`
+ - `g:flake8_max_complexity`
+
+ - New options:
+ - `g:flake8_quickfix_height`
-1.5: Added markers and the option to don't show the quickfix window, also split functions into
-a autoload file. Added:
+1.5: Added markers and the option to don't show the quickfix window, also split
+functions into a autoload file. Added:
- Options:
- `g:flake8_show_quickfix`