我刚刚安装python-mode
,它有很多很酷的功能,比如“语法检查”。
我喜欢为我的 python 代码缩进 2 个空格,但语法检查警告我它应该是 4 个空格。
我相信我应该有一个变量来设置这个偏好。我已经阅读了 pymode 的文档,我找不到相关的设置。
(另外,我还想更改 pymode 设置的 shiftwidth 设置)
我刚刚安装python-mode
,它有很多很酷的功能,比如“语法检查”。
我喜欢为我的 python 代码缩进 2 个空格,但语法检查警告我它应该是 4 个空格。
我相信我应该有一个变量来设置这个偏好。我已经阅读了 pymode 的文档,我找不到相关的设置。
(另外,我还想更改 pymode 设置的 shiftwidth 设置)
您可以有多个 lints。将此添加到您~/.vimrc
只保留您想要的跳棋。
let g:pymode_lint_checkers = ['mccabe', 'pyflakes', 'pylint', 'pep8', 'pep257']
在这里尝试使用 2 行缩进代码,出现并与缩进相关的唯一消息是:
这些可以很容易地删除更改相同的文件:
let g:pymode_lint_ignore = 'E111,W0311'
以及其他消息,如果您需要。您还可以选择使用更少的检查程序,而不是创建消息代码黑名单。
恕我直言,风格不应该用烦人的跳棋来严格标准化。我不使用 pylint、pep8 或 pep257,并且这样的配置不需要 a pymode_lint_ignore
,因为它仅适用于 pylint 和 pep8。
最好的方法是在 中创建一个文件.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 文件执行它(即,将其他人编写的文件格式化为标准),所以如果你真的需要,我推荐第二种方法。