我的vim configuration使用设置expandtab
将标签替换为空格。
对于某些配置文件,例如rsnapshot配置文件,我必须使用制表符而不是空格。
另请注意,字段由制表符分隔,而不是空格。这样做的原因是,指定带有空格的文件路径更容易。 rsnapshot documentation
在我的Ubuntu 16.04和Debian 9.0 Server上,rsnapshot配置文件存储在/etc/rsnapshot.conf
上。
如何设置.vimrc
仅使用特定文件名的标签?例如rsnapshot.conf
?
答案 0 :(得分:5)
如果您正在询问如何配置是否使用硬标签(制表符)与缩进空格,则可以使用autocmd挂钩来执行此操作。
例如,这是大多数文件的基本缩进配置。它设置了一个8的tabstop(用于硬标签显示),大多数标签/缩进移位是4,它们使用空格而不是硬标签。
set tabstop=8 softtabstop=4 shiftwidth=4 expandtab
但是,在某些语法错误中。例如,我想在Javascript和YAML中有2个空格。在Makefile中,space indent是一个语法错误 - 在那里,我想要硬标签。您可以使用autocmd和相关文件类型设置这些内容。
autocmd Filetype make setlocal noexpandtab
autocmd Filetype yaml setlocal shiftwidth=2 softtabstop=2
autocmd Filetype javascript setlocal shiftwidth=2 softtabstop=2
如果您不想按文件 type 指定,您还可以指定文件名(或匹配文件名的glob)。
autocmd BufNewFile,BufRead rsnapshot.conf setlocal noexpandtab