在vim中,如何将所有现有的缩进修改为2?

时间:2012-04-10 17:00:19

标签: vim

在vim中,我设置shiftwidth = 2,但我之前的所有缩进仍然是默认值8.如何将之前的缩进从8更改为2?

3 个答案:

答案 0 :(得分:3)

您可以使用gg=G重新加载整个文件。 gg转到第一行,=缩进(进行移动),G转到最后一行。

答案 1 :(得分:0)

如果您正在使用set expandtab(就像 那样),则可以使用

修改文件中的缩进
:%s/^ */  /

这些设置会影响更改的方式,但不会自行更改文件。

答案 2 :(得分:0)

如果您的原始缩进是使用硬标签停止实现的,那么您可以做的一件事就是这个。将硬标签停止设置为2:

:set ts=2

现在你有两个空格缩进(但用硬标签实现)。

现在,做

:retab 8

这意味着,粗略地将硬标签大小更改为8(好像通过:set ts=8),但同时编辑缓冲区中的所有标签,以便缩进的外观不会改变。

所以现在缓冲区仍然缩进到两个空格,但现在:ts又回到了8。

如果设置了:expandtab,则缩进现在是所有空格,否则它是8空格选项卡和空格的组合。

即使这不适用于您的情况,retab也很有用,因为它可以方便地处理使用硬标签的来源,并且您希望转换为使用空格和< / em>同时使用不同的缩进级别。