我用 M-x align-regexp
在 emacs 中美化我的 Perl 代码,但默认情况下它使用制表符而不是空格,根据 Perl 评论家的说法,这是不应该做的。
有没有办法改变 align-regexp
的行为?以便它填充适量的空格而不是制表符?
最佳答案
一般来说,你应该避免使用建议,但因为 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 所指出的,这是不必要的复杂且不太可靠,因此请使用帖子顶部的代码。
关于perl - emacs 使用空格而不是制表符对齐正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22710040/