How can I set the Python max allowed line length to 120 in Syntastic for Vim?

Question:

I’m using python-mode for Vim, I prefer for there to be 120 character lines rather than the stark 80 as defined in the PEP8 standard.

In python-mode, this is easy. I just add the following to my ~/.vimrc:

" Pylint configuration file
let g:pymode_lint_config = '$HOME/.pylint.rc'
let g_pymode_options_max_line_length=120

This works great, but then, I also wanted to use the superb Syntastic plugin for checking syntax of various other kinds (Chef recipes for foodcritic, for example.)

Unfortunately, Syntastic also does Python linting, and as such it has now started complaining about my 120 character lines. Is there something similar I can do to it as well to make it stop complaining about my slightly longer lines?

Asked By: feoh

||

Answers:

You can pass additional arguments to each linter.
For pylint, you can use:

let g_syntastic_python_pylint_post_args="--max-line-length=120"
Answered By: Fedalto

This is now configured globally in ~/.config/flake8 in linux and ~/.flake in windows. The file can look like this.

[flake8]
max-line-length = 120

Have a look at their documentation for per project settings: http://flake8.readthedocs.io/en/latest/user/configuration.html#project-configuration

Answered By: zkanda

I would just recommend you disable the length checking by adding this line to your .vimrc dot file:

let g:pymode_lint_ignore = "E501,W"
Answered By: Lerner Zhang

There is a file named – defaults.py inside your virtual environment folder –
……./lib/python3.6/site-packages/flake8

You can change the value of max-line-length in that file.

Answered By: Venu Gopal Tewari