7

M-x align-regexp在 emacs 中使用来美化我的 Perl 代码,但默认情况下它使用制表符而不是空格,根据 Perl 评论家,这是不应该做的事情。

有没有办法改变它的行为,align-regexp以便它填充适量的空格而不是制表符?

4

1 回答 1

8

一般来说,您应该避免使用建议,但由于align.el直接读取 的值indent-tabs-mode,这可能是最好的方法:

(defadvice align-regexp (around align-regexp-with-spaces activate)
  (let ((indent-tabs-mode nil))
    ad-do-it))

这是我的原始版本:

(defadvice align-regexp (around align-regexp-with-spaces activate)
  (let ((old-indent-tabs-mode indent-tabs-mode))
    (setq indent-tabs-mode nil)
    ad-do-it
    (setq indent-tabs-mode old-indent-tabs-mode)))

正如@Phils 指出的那样,这不必要地复杂且不太简单,因此请使用帖子顶部的代码。

于 2014-08-06T15:14:13.243 回答