如何将注释开始和结束缩进到同一列?

时间:2015-08-22 11:46:57

标签: vim formatting indentation

我正在编辑C代码,我需要将注释的开头放在同一列中,并在所有行的某些不同列中放置注释。

e.g。

int i;         /* some var */
int j;         /* some other */
char c;   /* new char */

所需的输出是

int i;         /* some var    */
int j;         /* some other  */
char c;        /* new char    */

我尝试了indent,阅读了手册页,但没有找到我可以使用的选项(太多旗帜,也许我错过了一些东西)。 我还尝试了一个vim-plugin Tabularize,但没有得到如何实现上述目的。

任何帮助?

1 个答案:

答案 0 :(得分:1)

使用Tabularize,您可以使用以下命令在3个部分中按/**/拆分每一行:

首先选择要格式化的行,然后键入:

Tabularize /\(\/\*\|\*\/\)

这基本上等于其他语言中的正则表达式(/\*|\*/),但Vim需要额外的转义。

结果:

int i;  /* some var   */
int j;  /* some other */
char c; /* new char   */

要从您的示例中生成确切的结果,您可以告诉Tabularize添加这样的额外空格:

Tabularize /\(\/\*\|\*\/\)/l8l1l2