这不是一个非常简单的问题。
我发现python文件的“shiftwidth”设置为4,而我在.vimrc的底部有这些:
set tabstop=2
set shiftwidth=2
set softtabstop=2
set expandtab
所有其他文件类型的shiftwidth为2;但它仅适用于python。
我想知道是否可以看到变量(在我的情况下,shiftwidth)的位置已经改变;如果这个变量被改变的可能位置是不可能的话。有没有办法让shiftwidth = 2普遍......甚至对于python文件? (虽然它也建议使用4个空格用于python,但我个人更喜欢2)
答案 0 :(得分:5)
:verbose set shiftwidth
告诉您当前值和定义的位置。请参阅:help :verbose
。
文件类型插件是在触发相应的FileType
事件后获取的,因此它们会覆盖vimrc
中的选项。
在配置中添加特定于文件类型的设置的简单方法是向vimrc
添加类似的内容:
augroup Python
autocmd!
autocmd fileType python setlocal tabstop=2 shiftwidth=2 softtabstop=2 expandtab
augroup END
请参阅:help :autocmd
。
干净的方法是将您想要的设置放入自定义ftplugin
。
文件:
~/.vim/after/ftplugin/python.vim
其内容:
setlocal tabstop=2
setlocal shiftwidth=2
setlocal softtabstop=2
setlocal expandtab
请注意使用setlocal
代替set
,因为您不希望在任何地方应用这些设置。
答案 1 :(得分:1)
这可能是由Python的内置ftplugin
文件设置的。如果你
:e $VIMRUNTIME/ftplugin/python.vim
并搜索shiftwidth
,您可能会发现它设置为4
。