我经常使用作为模板提供给我的 Python 文件,这些文件使用 2 的缩进。但是,我个人更喜欢使用 4 的缩进宽度,这是我在
.vimrc
中设置的。然而,由于 Python 的缩进敏感性,将缩进固定为我首选缩进宽度的典型 gg=G
方法根本无法很好地将文件转换为我首选的缩进。此外,只需在我的制表位设置中留下 2 个螺钉宽度的压痕即可。
为了解决这个问题,我想做的是有一些系统将 2 空格缩进文件转换为 4 空格缩进文件。我不知道最简单的方法是什么,但我想
vmap <Tab>
将所选行的制表符宽度增加 1,并 vmap <S-Tab>
将宽度减少 1。我不这样做不知道是否有一些内置方法可以做到这一点,或者这是否需要一些查找/替换规则,但我认为有一些方法将缩进固定为我的首选宽度会很有用,因为自动缩进并不智能足以正确解决此问题。
由于您使用空格(而不是制表符)作为缩进,因此似乎您只需将每行上的前导空格数加倍即可。
您可以使用
ggVG
选择整个文件。按 : 将输入一些默认值,从那里您可以添加 s/^(\s*)/\1\1
到行中的双前导空格。
正则表达式解释:
^
表示行的开头。 (\s*)
是包含任意数量空格的捕获组。 \1
指的是该捕获组,\1\1
表示重复该组两次。
TL;博士:
ggVG=:s/^(\s*)/\1\1