【问题标题】:emacs align-regexp with spaces instead of tabsemacs 使用空格而不是制表符对齐正则表达式
【发布时间】:2014-03-28 10:21:57
【问题描述】:

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

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

【问题讨论】:

  • 试试(setq indent-tabs-mode nil)

标签: perl emacs prettify


【解决方案1】:

一般来说你应该避免使用advice,但是由于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 所指出的那样,这不必要地复杂且不那么简单,因此请使用帖子顶部的代码。

【讨论】:

  • 呃,直接绑定indent-tabs-mode就行了。像这样:stackoverflow.com/a/8129994/324105。您所做的几乎相同,但不必要地冗长,并且依赖(可能不安全)附加变量。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-06
  • 2013-09-29
  • 2014-03-14
  • 1970-01-01
相关资源
最近更新 更多