4

我正在尝试使用tabularize在 vi​​m 中对齐以下文本:

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

4

1 回答 1

7

你可以使用这个命令:

:'<,'>Tabularize /\S\+;$/l1
  • /\S\+;$/模式: make a;, *pa;...*pc;作为列分隔符。
  • l1标志:使每列left对齐并one在其后留出空格。(这里不需要,因为这是默认行为)
于 2012-11-24T17:44:56.453 回答