每次我在CSS中添加选择器并按Enter来定义属性时,它最终是这样的:

#selector {
        property: value;
}

(8-space标签)

我如何配置Vim使它像这样:

#selector {
    property: value;
}

(4空间选项卡)


当前回答

更新

如果您在一个特定的项目中工作,我强烈建议使用editorconfig。

它允许您在存储库的根定义一个.editorconfig文件,定义跨存储库的每种文件类型所需要的缩进。

例如:

root = true

[*.css]
charset = utf-8
indent_style = space
indent_size = 4

[*.js]
charset = utf-8
indent_style = space
indent_size = 2

有一个vim插件可以根据你打开的文件的配置文件自动配置vim。

此外,许多其他ide和编辑器都自动支持.editorconfig文件,因此它是不同环境下用户之间协作的最佳选择。

原来的答案

如果你需要经常改变大小,并且你不想把它绑定到特定的文件类型,你可以在你的.vimrc文件上有预定义的命令来快速切换首选项:

nmap <leader>t :set expandtab tabstop=4 shiftwidth=4 softtabstop=4<CR>
nmap <leader>m :set expandtab tabstop=2 shiftwidth=2 softtabstop=2<CR>

这将两组不同的大小映射到键\t和\m。你可以把它重新绑定到任何你想要的键。

其他回答

作为vim中的一行代码:

:set tabstop=4 shiftwidth=4

对于永久设置,将这些行添加到~/.vimrc:

set tabstop=4
set shiftwidth=4
set expandtab    <-- (optional) 4-spaces instead of Tab indentation

本页上的几个答案是对所描述问题的“一次性”修复。这意味着,下次使用vim打开文档时,将返回先前的选项卡设置。

如果有人对永久更改标签设置感兴趣:

在这里找到/打开你的.vimrc -指令 添加以下行:(更多信息在这里) 设置制表符= 4 设置shiftwidth = 4 设置expandtab 然后保存文件并进行测试

要更改一个会话,使用以下命令:

:set tabstop=4

要使更改永久生效,请将其添加到~/。Vimrc或~/.vim/ Vimrc:

set tabstop=4

这将影响所有文件,而不仅仅是css。只影响css文件:

autocmd Filetype css setlocal tabstop=4

正如米夏拉的回答中所述。

在vim命令模式下,写入:

:set ts=X

X是你想要的新空间长度

更新

如果您在一个特定的项目中工作,我强烈建议使用editorconfig。

它允许您在存储库的根定义一个.editorconfig文件,定义跨存储库的每种文件类型所需要的缩进。

例如:

root = true

[*.css]
charset = utf-8
indent_style = space
indent_size = 4

[*.js]
charset = utf-8
indent_style = space
indent_size = 2

有一个vim插件可以根据你打开的文件的配置文件自动配置vim。

此外,许多其他ide和编辑器都自动支持.editorconfig文件,因此它是不同环境下用户之间协作的最佳选择。

原来的答案

如果你需要经常改变大小,并且你不想把它绑定到特定的文件类型,你可以在你的.vimrc文件上有预定义的命令来快速切换首选项:

nmap <leader>t :set expandtab tabstop=4 shiftwidth=4 softtabstop=4<CR>
nmap <leader>m :set expandtab tabstop=2 shiftwidth=2 softtabstop=2<CR>

这将两组不同的大小映射到键\t和\m。你可以把它重新绑定到任何你想要的键。