【问题标题】:how to make emacs' zencoding-mode use single quote insted of double quote如何使emacs的编码模式使用单引号而不是双引号
【发布时间】:2011-12-29 13:37:42
【问题描述】:

我在写html的时候使用单引号,但是zencoding-mode的扩展代码使用双引号。

我找不到关于这个的自定义选项,我的 zencoding-mode 来自https://github.com/rooney/zencoding

【问题讨论】:

    标签: emacs emmet


    【解决方案1】:

    看起来" 被硬编码到源代码中,因此没有直接的自定义方法。这很容易做到,所以也许您可以向维护者提交功能请求。

    与此同时,您需要的是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文件中添加了一个自定义钩子,效果很好。
    • @Tyler 我修改了您的答案以使用eval-after-load,因此函数覆盖只发生一次,而不是每次运行挂钩时发生。
    • @event_jr - 谢谢。我得研究一下,但这听起来是个好主意。
    猜你喜欢
    • 2011-05-18
    • 1970-01-01
    • 2011-12-08
    • 1970-01-01
    • 2010-10-13
    • 2016-06-15
    • 2021-01-19
    • 1970-01-01
    • 2017-07-09
    相关资源
    最近更新 更多