【发布时间】:2012-06-12 05:25:42
【问题描述】:
背景:
我正在使用(很棒的)Vim 插件python-mode,其中包括 pep8 linter。 :PyLint 命令运行所有 linter 并在 QuickFix 窗口中打开错误。
问题:
现在,假设我只使用 pep8 linter,并且我有一个充满错误的 QuickFix 窗口。我想逐步检查每个错误并应用自动修复(使用类似 autopep8 的东西)。 autopep8 工具很棒,但它会出错。理想情况下,我希望能够监督 Vim 中的每个修复(应用修复、检查、移动到下一个修复)。
我目前的方法是在我的 Python 文件上运行 autopep8,比较结果,然后修复任何错误的更改:
$ autopep8 --in-place spam.py
$ git difftool spam.py # check edits in gVim, write to file
$ git commit spam.py -m "Fix bad PEP8 formatting"
但是,这种方法破坏了我的撤消历史记录,并且看起来不必要地复杂。有没有更好的办法?
问题:
有没有办法在 QuickFix 窗口中自动将 pep8 修复(如果可用)应用于 pep8 错误?
【问题讨论】:
-
感谢有关 python-mode 的提示——看起来很棒——尤其是对 virtualenv 和动态语法错误的支持。 (相对于 syntastic/其他一些较新的 vim 插件)
-
值得注意的是,从0.6.6 版本开始,Python 模式现在支持使用
:PyLintAuto在缓冲区内自动更改autopep8。 (但是,无法一一批准/拒绝更改)。 -
@DavidCain 或
:PymodeLintAuto
标签: python vim pep8 python-mode