【问题标题】:How do I enable Zen Coding in Emacs?如何在 Emacs 中启用 Zen Coding?
【发布时间】:2011-07-31 00:29:23
【问题描述】:

我是一个完整的 emacs 新手。

我已将 zencoding-mode.el 添加到我的 .emacs.d 目录中。我已将它添加到 init.el 中,如下所示:

(add-to-list 'load-path "C:/Documents and Settings/jwharton/Application Data/.emacs.d/zencoding/")
(require 'zencoding-mode)
(add-hook 'sgml-mode-hook 'zencoding-mode)

当我在缓冲区中启用它(M-x zencoding-mode)并尝试使用它时,它会突出显示该术语(在我的情况下为 html:5 - C-RET)但随后给我一个错误:

zencoding-preview-post: (wrong-type-argument stringp nil)

这在 OS X 上给了我同样的错误。我的加载路径显然不同......

Google 什么也没返回,所以我摸不着头脑。

【问题讨论】:

    标签: emacs emmet


    【解决方案1】:

    我无法重现您的问题。您以哪种方式“尝试使用它”?您是否知道 C-RET 不是您应该按字面意思输入缓冲区的内容,而是意味着您应该同时按下键 control-return ?

    另外,应该不需要手动调用M-x zencoding-mode。线

    (add-hook 'sgml-mode-hook 'zencoding-mode)
    

    旨在在 HTML 缓冲区中自动激活 zencoding-mode。

    【讨论】:

    • 看起来我正试图让它在暂存缓冲区中工作......只要我打开一个带有 HTML 扩展名的文件,它就可以正常工作。谢谢!
    【解决方案2】:

    我不确定它是否打算这样使用,摆脱钩子并设置一个快捷方式,例如:

    (define-key my-keys-minor-mode-map (kbd "C-1") 'zencoding-expand-line)
    

    【讨论】:

    • 不,你是对的。我可以使用 M-x zencoding-mode 在暂存缓冲区中手动启用它。
    【解决方案3】:

    打开 zencoding-mode.el 并找到 zencoding-default-filter 函数。它会尝试根据当前文件名猜测过滤器,如果在暂存缓冲区中运行它会失败。

    用 (or (buffer-file-name) "") 替换 (buffer-file-name) 表达式,它应该会再次正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-20
      • 2012-12-09
      • 2012-12-29
      • 2013-05-01
      • 2010-12-27
      • 2012-03-23
      • 2011-04-04
      • 1970-01-01
      相关资源
      最近更新 更多