在 vim 中,我设置了 shiftwidth=2,但我之前的所有缩进仍然是默认的 8。如何将之前的缩进从 8 更改为 2?
问问题
76 次
3 回答
3
您可以使用 重新缩进整个文件gg=G
。gg
转到第一行,=
缩进(采取运动),G
转到最后一行。
于 2012-04-10T17:05:40.747 回答
0
如果你正在使用set expandtab
(就像你应该的那样),你可以修改文件中的缩进
:%s/^ */ /
这些设置会影响如何进行更改,但它们本身并不会对文件进行更改。
于 2012-04-10T17:21:11.647 回答
0
如果您的原始缩进是使用硬制表位实现的,那么您可以做的一个技巧就是这个。将硬制表位设置为 2:
:set ts=2
现在您有了两个空格的缩进(但使用硬制表符实现)。
现在,做
:retab 8
这意味着,粗略地,将硬制表符大小更改为 8(就像 by:set ts=8
一样),但同时编辑缓冲区中的所有制表符,以便缩进的外观不会改变。
所以现在缓冲区仍然缩进两个空格,但现在:ts
又回到了 8。
如果你已经:expandtab
设置,那么缩进现在是所有空格,否则它是 8 个空格制表符和空格的组合。
即使这不适用于您的情况,retab
也很高兴知道,因为它对于处理使用硬制表符并且您希望同时转换为使用空格 和不同缩进级别的源非常方便。
于 2012-04-11T01:47:46.163 回答