【发布时间】:2011-12-29 13:37:42
【问题描述】:
我在写html的时候使用单引号,但是zencoding-mode的扩展代码使用双引号。
我找不到关于这个的自定义选项,我的 zencoding-mode 来自https://github.com/rooney/zencoding
【问题讨论】:
我在写html的时候使用单引号,但是zencoding-mode的扩展代码使用双引号。
我找不到关于这个的自定义选项,我的 zencoding-mode 来自https://github.com/rooney/zencoding
【问题讨论】:
看起来" 被硬编码到源代码中,因此没有直接的自定义方法。这很容易做到,所以也许您可以向维护者提交功能请求。
与此同时,您需要的是zencoding-make-html-tag 的修改版本,将"\"" 的所有实例替换为"'"。您可以将该函数的自定义版本添加到您的 .emacs 中,并在 zencoding 之后使用挂钩来加载它。像下面这样的东西可能会做到这一点:
(defun my-zencoding-hook ()
(zencoding-mode))
(eval-after-load "zencoding-mode"
'(defun zencoding-make-html-tag ()
"Insert your modified version of zencoding-make-html-tag here"
...))
(add-hook 'sgml-mode-hook 'my-zencoding-hook)
在 zencoding-mode.el 本身的源代码中进行搜索和替换会更容易但更容易出现意外,因为它会从您下载到的任何位置运行。每当您更新版本时,这都会中断,并且可能会中断其他标记语言的行为,但它既快速又简单。
【讨论】:
zencoding-make-html-tag中的单引号替换了\后面的三个双引号,并在我的init文件中添加了一个自定义钩子,效果很好。
eval-after-load,因此函数覆盖只发生一次,而不是每次运行挂钩时发生。