2

我是一个完整的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)

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

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

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

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

4

3 回答 3

2

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

(define-key my-keys-minor-mode-map (kbd "C-1") 'zencoding-expand-line)
于 2011-04-06T17:20:06.227 回答
2

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

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

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

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

于 2011-04-06T22:17:05.940 回答
0

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

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

于 2011-05-15T07:38:42.523 回答