在emacs中对齐C变量声明而不包括* chars

时间:2011-08-11 21:18:44

标签: emacs alignment

我喜欢在emacs中使用align-current。对于变量声明,它执行此操作:

my_function(
    int         *foo,
    double     **pfoo,
    int          bar)
               ^
1234567890123456

(align-to-tab-stop为t,c-basic-offset为4)

但我更喜欢将变量名称与制表位对齐,忽略指针*,如下所示:

my_function(
    int       *foo,
    double   **pfoo,
    int        bar)
               ^
1234567890123456

我无法弄清楚如何更改c-variable-declaration对齐规则来获取它。按照我的风格,*始终位于变量名称的旁边,因此解决方案只适用于该情况。 (实际上我想为C ++做这件事,所以我想忽略*和`& s'。)

2 个答案:

答案 0 :(得分:3)

您可以尝试使用align-regexp的变体。 M-x align-whole应该这样做。

答案 1 :(得分:0)

看看规则文字 - 美元 - 数字。它知道如何对齐美元金额,使小数周期排成一行。您想要的是相关的,因为您希望文本落在目标列的左侧和右侧。