使用Tabularize插件在Vim中根据空格对齐文本

4

我正在尝试使用 tabular 工具来对 vim 中的以下文本进行对齐:

typedef struct {
    int a;
    int *pa;
    float b;
    float *pb;
    double c;
    double *pc;
} foo_t;

转换为:

typedef struct {
    int    a;
    int    *pa;
    float  b;
    float  *pb;
    double c;    /* notice there's only one space between 'double' and 'c' */
    double *pc;
} foo_t;

我使用了 :'<,'>Tab/.*\s 但它在 doublec 之间留下了两个空格。我该怎么办?
1个回答

7
您可以使用这个命令:
:'<,'>Tabularize /\S\+;$/l1
  • /\S\+;$/模式: 将a;,*pa;...*pc;作为列分隔符。
  • l1标志: 使每个列左对齐并在其后添加一个空格。(这里不需要,因为这是默认行为)

这个方法很好用,只需要在第一次尝试时添加l0标志即可。我之前不知道这些标志,应该先看文档,谢谢。 - none

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接