vim的标签长度​​因.py文件而异

时间:2014-12-10 14:23:57

标签: python vim indentation

在我的~/.vimrc我设置标签给我2个空格

set shiftwidth=2
set tabstop=2

但是,当我打开.py文件时,标签长度为4个空格。我没有python文件的特定配置。 ~/.vim/after为空,搜索py并未引发任何可疑行。

你经历过那种经历吗?如何解决这种行为?

2 个答案:

答案 0 :(得分:9)

它在一般Python文件类型插件文件($VIMRUNTIME/ftplugin/python.vim)中定义:

" As suggested by PEP8.
setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8

应符合PEP 8


@Carpetsmoker补充道:

vim-dev @ list上有a discussion about this

您可以在~/.vimrc中使用此功能重置此设置。例如:

aug python
    " ftype/python.vim overwrites this
    au FileType python setlocal ts=4 sts=4 sw=4 noexpandtab
aug end

或者在$HOME/.vim/after中添加配置设置。

答案 1 :(得分:1)

可能你安装了一些插件来简化你的python编辑,这些插件重新设置了一些vim选项。

您可以通过以下方式找到:

  • 打开一个py文件,验证tabstop / shiftwidth是否为4
  • 然后运行命令::verbose set ts:verbose set sw

您可以看到上次设置选项的位置。