perl - emacs 使用空格而不是制表符对齐正则表达式

标签 perl emacs prettify

我用 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/

相关文章:

ruby - 使用 "debugger"gem 在 Emacs 中调试 Ruby 1.9

javascript - highlightjs 与 html 代码

reactjs - 如何配置atom-beautify包以使用babel/jsx javascript文件进行格式化?

emacs - 如何在 Spacemacs 中使用本地 .eslintrc?

emacs - 在 emacs 组织模式下不压缩多个空格的 html 导出选项

python - 如何找到美化后不显示的元素

Perl 使用 HTTP::Request 上传文件

perl - 如何在 Perl 中访问二进制标量的第 n 个字节?

perl - 无法使用 Net::OpenSSH 进行 SSH,可以通过命令行

perl - 如何将附加参数 POST 到 editurl?