VIM“升级”为 Python 文件上的 expandtab 和 tabstop=8

VIM“升级”为 Python 文件上的 expandtab 和 tabstop=8

将操作系统从 Kubuntu 12.10 重新安装到 Kubuntu 14.04 后,VIM 在编辑 Python 文件时的行为发生了变化。虽然在重新安装之前,所有文件类型都已设置noexpandtabtabstop=4,但现在在 Python 中这些值是expandtabtabstop=8,也可以通过 VIM 行为和询问 VIM 进行检查set foo?

非 Python 文件保留了我喜欢的noexpandtab和行为。tabstop=4

重新安装期间目录.vim.vimrc未发生改变。可以看出,.vimrc几个月来没有改变过 中的文件(除了不相关的.netrwhist):

 - bruno():~$ ls -lat ~/.vim
total 68
drwxr-xr-x 85 dotancohen dotancohen 12288 Aug 25 13:00 ..
drwxr-xr-x 12 dotancohen dotancohen  4096 Aug 21 11:11 .
-rw-r--r--  1 dotancohen dotancohen   268 Aug 21 11:11 .netrwhist
drwxr-xr-x  2 dotancohen dotancohen  4096 Mar  6 18:31 plugin
drwxr-xr-x  2 dotancohen dotancohen  4096 Mar  6 18:31 doc
drwxrwxr-x  2 dotancohen dotancohen  4096 Nov 29  2013 syntax
drwxrwxr-x  2 dotancohen dotancohen  4096 Nov 29  2013 ftplugin
drwxr-xr-x  4 dotancohen dotancohen  4096 Nov 29  2013 autoload
drwxrwxr-x  5 dotancohen dotancohen  4096 May 27  2013 after
drwxr-xr-x  2 dotancohen dotancohen  4096 Nov  1  2012 spell
-rw-------  1 dotancohen dotancohen   138 Aug 14  2012 .directory
-rw-rw-r--  1 dotancohen dotancohen   190 Jul  3  2012 .VimballRecord
drwxrwxr-x  2 dotancohen dotancohen  4096 May 12  2012 colors
drwxrwxr-x  2 dotancohen dotancohen  4096 Mar 16  2012 mytags
drwxrwxr-x  2 dotancohen dotancohen  4096 Feb 14  2012 keymap

虽然.vimrc自从重新安装后就一直有动静,但只有我进行测试以查看问题出在哪里。

我怎么知道什么是settingexpandtabtabstop

附注:我甚至不确定我应该在内置帮助中阅读有关此问题的哪些内容。我从“:h plugin”开始,但除了显示已加载以下插件(可能相关)外,这没有任何帮助:

                                                standard-plugin-list    
Standard plugins
pi_getscript.txt Downloading latest version of Vim scripts
pi_gzip.txt      Reading and writing compressed files
pi_netrw.txt     Reading and writing files over a network
pi_paren.txt     Highlight matching parens
pi_tar.txt       Tar file explorer
pi_vimball.txt   Create a self-installing Vim script
pi_zip.txt       Zip archive explorer

LOCAL ADDITIONS:                                local-additions
DynamicSigns.txt - Using Signs for different things
NrrwRgn.txt   A Narrow Region Plugin (similar to Emacs)
fugitive.txt  A Git wrapper so awesome, it should be illegal
indent-object.txt         Text objects based on indent levels.
taglist.txt     Plugin for browsing source code
vimwiki.txt   A Personal Wiki for Vim

答案1

您可以通过以下方式检查这些值在哪里被更改

:verbose setlocal ts? et?

很可能,它是通过以下添加的行来实现的$VIMRUNTIME/ftplugin/python.vim

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

~/.vim/after/ftplugin/python.vim您可以通过以下内容的脚本撤消此操作

setlocal noexpandtab shiftwidth=4 softtabstop=0 tabstop=4

或者,如果你想要按项目配置选项卡,而不是全局配置,请添加

let g:python_recommended_style=0

到项目的.vimrc。此后,python 插件将不再强制执行 PEP8 建议,您可以自由地在项目中设置选项卡.vimrc

相关内容