如何自动对齐以下代码?

时间:2013-05-31 03:03:59

标签: emacs

get_base_exp(PlayerLv)->
    case PlayerLv of
        1->30;
        2->30;
        3->60;
        4->100;
        5->160;
        6->240;
        7->330;
        8->440;
        9->570;
        10->710;
        11->880;
        12->1060
    end.

以下内容:

get_base_exp(PlayerLv)->
    case PlayerLv of
        1  -> 30;
        2  -> 30;
        3  -> 60;
        4  -> 100;
        5  -> 160;
        6  -> 240;
        7  -> 330;
        8  -> 440;
        9  -> 570;
        10 -> 710;
        11 -> 880;
        12 -> 1060
    end.

3 个答案:

答案 0 :(得分:5)

这是一种方式(我有全局绑定(global-set-key (kbd "C-x \\") 'align-regexp)):

  1. 选择要对齐的12行
  2. C-x \ - RET对齐箭头
  3. C-x C-x再次选择该地区
  4. C-u C-x \ \(>\) RET 1 RET 2 RET n对齐箭头后面的数字

答案 1 :(得分:5)

  1. 选择要对齐的行
  2. M-x align-regexp RET - RET
  3. M-x align-regexp [0-9] +; - RET
  4. 作为完美缩进和对齐代码的小粉丝,我有一个用于align-regexp和另一个用于对齐的键控。

答案 2 :(得分:3)

标记案例表达式并点击C-u C-c C-aerlang-align-arrows)。这接近你想要的:

get_base_exp(PlayerLv) ->
    case PlayerLv of
        1  ->30;
        2  ->30;
        3  ->60;
        4  ->100;
        5  ->160;
        6  ->240;
        7  ->330;
        8  ->440;
        9  ->570;
        10 ->710;
        11 ->880;
        12 ->1060
    end.

然后您可以在第一个得分之前移动,点击C-SPC,移到最后得分之前,然后点击C-x r t(对于string-rectangle)并让它插入一个空格每一行的位置。