我在emacs中使用M-x align-regexp
来美化我的Perl代码,但默认情况下它使用制表符而不是空格,这是Perl评论家不应该做的事情。
有没有办法改变align-regexp
的行为,以便填充适当数量的空格而不是标签?
答案 0 :(得分:6)
一般来说,你应该避免使用建议,但由于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指出的那样,这是不必要的复杂而且不那么简单,所以请使用帖子顶部的代码。