我有一些带有很多typedef
'edstruct
的 C 代码,在 VIM 中看起来像这样:
typedef struct {
int a;
someValue* b;
someOtherValue* c;
} val_t;
当我通过 VIM 在 VIM 中启用“打印空白字符”时:set list
,我看到代码如下所示(.
字符表示空格,-->
表示硬制表符):
typedef struct {
int->-->-->-->a;
someValue*....b;
someOtherValue*>>c;
} val_t;
因此,似乎这段代码到处都是硬制表符和空格,这可能是由于使用了不同的编辑器来维护它。我正在尝试编写一些命令来整理它。我知道我可以通过SHIFT+进行视觉选择V,然后将选择col
通过管道传递给:
:'<:'>!col
但是,VIM 中的输出看起来很糟糕,因为它似乎col
只是“逻辑地”(即:通过三个硬制表符)而不是词法地分隔列,并且输出看起来像这样:
typedef struct {
int--->--->--->a;
someValue*>--->--->b;
someOtherValue*--->--->--->c;
} val_t;
有没有办法告诉col
使用固定宽度的硬制表符(即:每个制表符 4 个“空格”)对齐数据列,如下所示,以便结构中变量名称的开头在视觉上对齐?期望的结果是:
typedef struct {
int--->--->--->--->a;
someValue*>--->--->b;
someOtherValue*--->c;
} val_t;
这将允许我在每个块/每个结构级别上重构一堆头文件,而不是花费数小时手动缩进代码块以使其看起来不错。
谢谢你。