我在emacs中使用 M-x align-regexp
来美化我的Perl代码,但默认情况下它使用tab而不是空格,这是根据Perl评论家不应该做的事情。
有没有办法改变align-regexp
的行为,使其填充正确数量的空格而不是tab?
一般情况下应避免使用建议,但由于 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)))
indent-tabs-mode
绑定即可。就像这样:https://dev59.com/KnNA5IYBdhLWcg3wjOpS#8129994。你所做的几乎是相同的,但是过于冗长,并且依赖于一个额外的变量(可能不安全)。 - phils
(setq indent-tabs-mode nil)
。 - abo-abo