Vim缩进和对齐:组合空格和制表符

时间:2011-06-28 09:41:15

标签: vim editor tabs whitespace indentation

我正在尝试找出如何使Vim遵循比大多数编辑器默认允许的稍微复杂一点的缩进方案。基本上我想使用制表符进行缩进,但是使用空格来对齐跨越多行的语句。例如:

    private static $_columns = array('id' => 'id',
                                     'email' => 'email',
                                     'passwordHash' => 'password_hash',
                                     'salt' => 'salt');
    ^ tabs up to here
                                     ^ spaces up to here

这里的想法是缩进遵循编辑文件的人的标签宽度首选项,而多行语句仍然正确对齐。

我想实现这个的简单方法是让Vim只要输入新行就复制前一行(即前导空格)上使用的缩进模式。在Vim有什么办法吗?我需要写一个插件吗?

1 个答案:

答案 0 :(得分:6)

有一个专门讨论该主题的wikia条目:Indent with tabs, align with spaces

建议的解决方案是使用插件:“Smart Tabs