如果您要求如何配置是否使用硬标签(制表符)与用于缩进的空格(基于文件类型),则可以使用autocmd挂钩来完成此操作。
例如,这里是我对大多数文件的基础缩进配置。它设置了一个8的tabstop(用于硬标签显示),并且大多数tab/indentation shift是4,并且它们使用空格而不是硬标签。
set tabstop=8 softtabstop=4 shiftwidth=4 expandtab
然而,在一些语法这是错误的。例如,我想在Javascript和YAML中使用2个空格。在Makefiles中,空格缩进是一个语法错误 - 在那里,我想要硬标签。您可以使用autocmd和相关文件类型来设置这些内容。
autocmd Filetype make setlocal noexpandtab
autocmd Filetype yaml setlocal shiftwidth=2 softtabstop=2
autocmd Filetype javascript setlocal shiftwidth=2 softtabstop=2
如果您不想通过文件指定类型你也可以指定文件名(或水珠匹配文件名)。
autocmd BufNewFile,BufRead rsnapshot.conf setlocal noexpandtab
你是什么意思“tabspaces”和“whitspaces”? – melpomene