13

vim 中的默认对齐方式(使用“=”)将我的代码对齐为:

void my_loooong_function (int arg1,
        int arg2,
        int arg3
        )

但是,我希望与从同一行开始的所有参数保持一致,例如:

void my_loooong_function (int arg1,
                          int arg2,
                          int arg3
                         )

如何才能做到这一点?

4

2 回答 2

22

要按==您的意愿工作,您需要cinoptions适当地设置:

:set cino+=(0

可以通过 找到可能值的完整文档,:help cinoptions-values特别:help cino-(是控制未闭合括号内的缩进。

该设置还将影响自动缩进行为(例如,当您在打开括号后输入回车时)。

当然,这可以添加到您的 vimrc 或 ftplugin 以自动为某些文件类型设置此值。

于 2012-08-16T11:22:27.480 回答
6

试试 vim 插件Tabular

:Tabularize /\v[( )](int|$)

教程:http: //vimcasts.org/episodes/aligning-text-with-tabular-vim/

于 2012-08-16T09:46:49.010 回答