浮点数十进制的Emacs缩进

时间:2014-08-28 18:43:39

标签: emacs elisp emacs23 dot-emacs

让我们说一个文本文件如下:

    0.00    33.90   -93.9
    0.00     43.90  -93.9
    10.00  53.90    -93.9
    10.00   63.90   -93.9

-100.00    10.00   -7.0
-100.00    9.00    -8.0
100.00    9.00    -9.0
100.00    63.00   -10.0

用于排列文本的相应emacs命令是什么,所以它看起来像这样:

     0.00    33.90    -93.9
     0.00    43.90    -93.9
    10.00    53.90    -93.9
    10.00    63.90    -93.9

-100.00    10.00     -7.0
-100.00     9.00     -8.0
 100.00     9.00     -9.0
 100.00    63.00    -10.0

浮点数需要在小数点垂直对齐。我熟悉align-regexp,但我不知道应该使用align-rule-list

1 个答案:

答案 0 :(得分:4)

以下功能无法正常工作,但应该让您入门。 justify属性对于小数点对齐非常重要。但是,justify没有可选的align-regexp参数。要查看属性的含义,请参阅align-rules-list的帮助。

(defun align-numbers (beg end)
  (interactive "r")
  (let (indent-tabs-mode
        (align-rules-list '((temporary
                 (regexp . "\\( *[+-]?[0-9]*\\.\\)")
                 (group . 1)
                 (justify . t)
                 (repeat . t)
                 ))))
    (align beg end)))