在answer中,我注意到了:
;; Align with spaces only
(defadvice align-regexp (around align-regexp-with-spaces)
"Never use tabs for alignment."
(let ((indent-tabs-mode nil))
ad-do-it))
(ad-activate 'align-regexp)
这sounds有希望,但......它做了什么?!
我在代码块上尝试了eval-region
。但对我来说,它所做的就是在align-regexp
文档中添加以下内容:
建议使用此功能。
围绕建议`align-regexp-with-spaces':
切勿使用标签进行对齐。
我似乎无法真正使用align-regexp-with-spaces
,如果这应该是什么效果......我错过了什么?
我使用的是GNU Emacs版本24.0.96.1(i386-mingw-nt6.1.7601)。
答案 0 :(得分:3)
在问这个问题时,我意识到我只是没有理解advising functions。
我清楚地知道:
align-regexp-with-spaces
不是函数,也不是变量,只是名称(启用/禁用单个建议)(ad-activate 'align-regexp)
以来,align-regexp
只做了我建议的事情:不使用标签所以:ad-activate
激活建议,有效地改变了原始函数的行为。太好了!
我不明白为什么这比定义align-regexp
周围的函数“更好”。但是我再一次对Emacs Lisp了解不多。
我担心额外的文档只会增加混乱......