小编典典

如何在 Vim 中更改选项卡大小?

all

每次我在 CSS 中添加一个选择器并按下Enter以定义属性时,它最终都会像这样:

#selector {
        property: value;
}

(8 格制表符)

我怎样才能配置 Vim 使它像这样:

#selector {
    property: value;
}

(4 格制表符)


阅读 90

收藏
2022-05-10

共1个答案

小编典典

扩展zoul的答案:

如果你想设置 Vim 在编辑特定文件类型时使用特定设置,你需要使用自动命令:

autocmd Filetype css setlocal tabstop=4

这将使选项卡显示为 4 个空格。设置expandtab将导致 Vimtabstop在您按 Tab 时实际插入空格(由
控制的空格数);您可能希望使用softtabstop退格键使退格正常工作(也就是说,当使用制表符时会发生这种情况时减少缩进,而不是每次删除一个字符)。

要对如何进行设置做出全面的决定,您需要阅读有关tabstopshiftwidthsofttabstop的Vim
文档expandtab。最有趣的部分位于expandtab( :help 'expandtab) 下:

在 Vim 中使用制表符有四种主要方式:

  1. 始终将 ‘tabstop’ 设置为 8,将 ‘softtabstop’ 和 ‘shiftwidth’ 设置为 4(或 3
    或任何您喜欢的值)并使用 ‘noexpandtab’。然后 Vim 将混合使用制表符和空格,但键入 和 将表现得像一个制表符每 4(或
    3)个字符出现一次。

  2. 将“tabstop”和“shiftwidth”设置为您喜欢的任何内容并使用“expandtab”。这样,您将始终插入空格。当
    ‘tabstop’ 改变时,格式永远不会混乱。

  3. 将 ‘tabstop’ 和 ‘shiftwidth’ 设置为你喜欢的任何值并使用 |modeline| 再次编辑文件时设置这些值。仅在使用
    Vim 编辑文件时有效。

4.
始终将“tabstop”和“shiftwidth”设置为相同的值,以及“noexpandtab”。这应该适用于人们使用的任何制表位设置(仅适用于初始缩进)。如果您这样做,在第一个非空白插入空格之后插入制表符可能会很好。否则,当
‘tabstop’ 改变时,对齐的注释将是错误的。

2022-05-10