在vim
中为特定文件定义自己的缩进样式有很多问题+答案。例如,python
的Ubuntu上的默认设置在ftype/python.vim
中设置,可以使用自定义喜欢的内容覆盖,~/.vimrc
中的语句:
aug python
au FileType python setlocal ts=3 sts=3 sw=3 noexpandtab
aug end
如果我正在编写自己的代码,这很好,但如果我正在编辑其他人的文件,我想使用他们的缩进样式。
在~/.vimrc
中自动应用文件的现有缩进并同时使用我自己的缩进来处理新文件的方法是什么?
答案 0 :(得分:2)
Vim没有内置的自动缩进检测/调整功能。 vim-sleuth和YAIFA是两个“安装即忘记”的插件(还有其他一些)可以很好地运行。
如果您不想要第三方插件或不想自己编写插件,可以尝试以下方法:
command! -nargs=1 Spaces execute "setlocal shiftwidth=" . <args> . " softtabstop=" . <args> . " expandtab" | set shiftwidth? softtabstop? expandtab?
command! -nargs=1 Tabs execute "setlocal shiftwidth=" . <args> . " softtabstop=" . <args> . " noexpandtab" | set shiftwidth? softtabstop? expandtab?
你可以这样使用:
:Space 4 " 4 spaces for indentation
:Tabs 3 " 3 chars-wide tabs for indentation