(Vim)在Python模式下更改缩进设置

时间:2014-04-03 08:15:41

标签: vim vim-plugin python-mode

我刚刚安装了python-mode,它有许多很酷的功能,例如"语法检查"。

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

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

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

2 个答案:

答案 0 :(得分:3)

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

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

这适用于所有Python文件。另一种方式是modeline:将它放在所有Python文件的顶部或底部,只影响那些文件:

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

这需要您启用模式支持,这可能要求您set modeline中有.vimrc

但正如rednaw所说,这不是一个好主意,如果你这样做,最好只对你制作的文件而不是所有Python文件(即离开那些由其他人编写的格式化为标准的,所以如果你真的需要,我建议使用第二种方法。

答案 1 :(得分: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,这样的配置不需要pymode_lint_ignore,因为它只适用于pylint和pep8。

相关问题