2015-01-23 18 views
14

Sto usando python-mode per Vim, preferisco che ci siano 120 linee di caratteri anziché il 80 rigido come definito nello standard PEP8.Come posso impostare la lunghezza massima consentita della linea Python a 120 in Syntastic for Vim?

In modalità Python, questo è facile. Mi basta aggiungere il seguente al mio ~/.vimrc:

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

Questa grande opera, ma poi, ho anche voluto usare la superba Syntastic plug-in per il controllo della sintassi di diversi altri tipi (ricette Chef per foodcritic, per esempio .)

Sfortunatamente, Syntastic fa anche il linting di Python, e come tale ha iniziato a lamentarsi delle mie 120 linee di caratteri. C'è qualcosa di simile che posso fare anche per farmi smettere di lamentarmi delle mie linee leggermente più lunghe?

+0

don devi specificare quali controllori di sintassi usare? Ho lasciato che g: syntastic_python_checkers = ['pylint'] nel mio vimrc. A cosa serve g: syntastic_python_checkers impostato su? –

risposta

10

È possibile passare argomenti aggiuntivi a ciascun linter. Per pylint, è possibile utilizzare:

let g:syntastic_python_pylint_post_args="--max-line-length=120" 
7

Se si utilizza flake8 come un correttore di sintassi di Python che si possa fare in questo modo mettendo nella tua vimrc o ftplugin/python.vim del file:

let g:syntastic_python_checkers=['flake8'] 
let g:syntastic_python_flake8_args='--ignore=E501,E225' 

È necessario mettere a tacere ogni classe di errore in modo esplicito (e non può disabilitare PEP8 nel suo insieme). Vedere "Warning/Error codes" per i collegamenti a tutti i codici di errore e di avviso.

Tra l'altro, se non si utilizza Flake8 si dovrebbe fare:

let g:syntastic_[filetype]_[subchecker]_args='--ignore=E501,E225' 

Per il vostro caso è filetypepython e subchecker è flake8 o di qualsiasi altra pedina.

0

Consiglierei solo si disattiva il controllo di lunghezza con l'aggiunta di questa riga al vostro file di Vimrc dot:

let g:pymode_lint_ignore = "E501,W" 
Problemi correlati