Vim中的PEP 8兼容代码

问题描述:

有没有一种好的方法来设置Vim来处理PEP 8合规性?Vim中的PEP 8兼容代码

我试了几个vim插件,pep8和flake8。这些擅长识别错误,但在您键入时不会“自动纠正”您。我不想担心手动处理适当的间距。

特别是79个字符的限制。我可以设置textwidth = 79,但是这并不能智能地识别哪里断线。例如,这将不正确地超出/缩小新行,导致pep8/flake8投诉,并且它将在语法上不正确的位置(例如,%)分割,导致代码无法运行。

有没有人有一个适合他们的解决方案?

+1

的可能的复制。[VIM和PEP 8 - 样式指南的Python代码](http://*.com/questions/9864543/vim-and-pep-8-style-guide-for -python-code) – doubleDown

+0

我发现了一些似乎工作得很好的东西:http://www.vim.org/scripts/script.php?script_id=3003。 – blindsnowmobile

+0

这一个也看起来可以工作,但我还没有尝试过:https://github.com/hynek/vim-python-pep8-indent/。感谢下面的答案,但我特别想要一些能够在我输入时进行正确缩进的东西。 – blindsnowmobile

你有没有试过vim-autopep8?

https://vim-autopep8.readthedocs.org/en/latest/

https://github.com/tell-k/vim-autopep8

这不是您键入,但我认为并不坏按命令来修复在一段时间格式化一次

+0

它解决了你的问题吗? –

我喜欢蟒蛇模式。它不会自动更正,但会标记错误。它结合了来自pylint,绳索,pydoc,pyflakes,pep8和mccabe的特征。

https://github.com/klen/python-mode