我已经阅读了几个问题和答案:
但是它们都没有提供适合我的解决方案。
我真的想应用“制表符缩进,空格对齐”原则,但是当涉及自动缩进时,我未能教会Vim如何正确地实现这一点。
考虑以下代码,假设tabstops == 3
,shiftwidth == 3
:
(>--
表示制表符,.
表示空格):
{
>--long a = 1,
>-->--..b = 2,
>-->--..c = 3;
}
因此,它尽可能使用制表符缩进,然后用空格填充其余部分。但这实际上是非常糟糕的方法:当有人使用不同的制表符大小阅读此代码时,代码将会混乱。如果选项卡大小等于8个字符,则代码如下所示:
{
>-------long a = 1,
>------->-------..b = 2,
>------->-------..c = 3;
}
太可怕了。问题在于Vim无法区分缩进和对齐。
为了让代码在任何制表符大小下都能正确显示,应该按照这种方式进行缩进:
{
>--long a = 1,
>--.....b = 2,
>--.....c = 3;
}
那么,无论制表符大小是多少,此代码都会显示得很好。例如,8个字符:
{
>-------long a = 1,
>-------.....b = 2,
>-------.....c = 3;
}
如何实现这个目标?