如果您要求如何配置是否使用硬標籤(製表符)與用於縮進的空格(基於文件類型),則可以使用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