如何在Emacs中启用Zen Coding?

时间:2011-04-06 16:58:52

标签: emacs emmet

我是一个完整的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上给出了同样的错误。我的加载路径明显不同......

谷歌什么也没有回报,所以我在摸不着头脑。

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)

我无法重现你的问题。你以哪种方式“尝试使用它”?你是否意识到C-RET不是你希望在字面上输入缓冲区的东西,而是意味着你应该同时按下 control - return 键?

此外,不需要手动调用M-x zencoding-mode。这条线

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

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

答案 2 :(得分:0)

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

用(或(buffer-file-name)“”替换(buffer-file-name)表达式,它应该可以正常工作。