9

我刚刚安装python-mode,它有很多很酷的功能,比如“语法检查”。

我喜欢为我的 python 代码缩进 2 个空格,但语法检查警告我它应该是 4 个空格。

我相信我应该有一个变量来设置这个偏好。我已经阅读了 pymode 的文档,我找不到相关的设置。

(另外,我还想更改 pymode 设置的 shiftwidth 设置)

4

2 回答 2

3

您可以有多个 lints。将此添加到您~/.vimrc只保留您想要的跳棋。

let g:pymode_lint_checkers = ['mccabe', 'pyflakes', 'pylint', 'pep8', 'pep257']

在这里尝试使用 2 行缩进代码,出现并与缩进相关的唯一消息是:

  • [pep8] E111 缩进不是四的倍数
  • [pylint] W0311 压痕错误。找到 {} 个空格,应为 4

这些可以很容易地删除更改相同的文件:

let g:pymode_lint_ignore = 'E111,W0311'

以及其他消息,如果您需要。您还可以选择使用更少的检查程序,而不是创建消息代码黑名单。

恕我直言,风格不应该用烦人的跳棋来严格标准化。我不使用 pylint、pep8 或 pep257,并且这样的配置不需要 a pymode_lint_ignore,因为它仅适用于 pylint 和 pep8。

于 2014-05-13T08:15:58.697 回答
3

最好的方法是在 中创建一个文件.vim/ftplugin/python.vim,然后将其放入:

setlocal smarttab
setlocal expandtab
setlocal shiftwidth=2
setlocal tabstop=2
setlocal softtabstop=2

这将适用于所有 Python 文件。另一种方法是模式行:将其放在所有 Python 文件的顶部或底部以仅影响这些文件:

# vim: sta:et:sw=2:ts=2:sts=2

这需要您打开模式行支持,这可能需要您set modeline.vimrc.

但正如 rednaw 所说,这并不是一个好主意,如果你这样做,最好只对你制作的文件而不是所有 Python 文件执行它(即,将其他人编写的文件格式化为标准),所以如果你真的需要,我推荐第二种方法。

于 2014-04-03T08:23:48.910 回答