In an answer https://stackoverflow.com/a/8129994/357313, 我注意到:
;; 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)
This sounds http://www.gnu.org/software/emacs/manual/html_node/elisp/Around_002dAdvice.html有前途,但是...它有什么作用?
I tried eval-region
在代码块上。但对我来说,它所做的只是将以下内容添加到align-regexp
docs:
建议使用此功能。
周围建议“align-regexp-with-spaces”:
切勿使用制表符进行对齐。
我似乎无法实际使用align-regexp-with-spaces
,如果这就是效果......我错过了什么?
我使用 GNU Emacs 版本 24.0.96.1 (i386-mingw-nt6.1.7601)。
当我问这个问题时,我意识到我只是不明白咨询职能 http://www.gnu.org/software/emacs/manual/html_node/elisp/Advising-Functions.html.
我清楚地意识到:
-
align-regexp-with-spaces
不是函数也不是变量,而只是一个名称(用于启用/禁用单个建议)
- 自从
(ad-activate 'align-regexp)
, align-regexp
只是做了我“建议”它的事情:不要使用制表符
So: ad-activate
激活建议,有效地改变原始函数的行为。伟大的!
我不明白为什么这比定义一个函数“更好”align-regexp
尽管。但话又说回来,我对 Emacs Lisp 不太了解。
恐怕额外的文档行只会增加混乱......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)