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

Wil*_*den 3 vim whitespace tabs editor indentation

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

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

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

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

Xav*_* T. 6

有一个专门讨论该主题的wikia条目:缩进标签,与空格对齐

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