0

我正在尝试建立一个像this guy这样的 emacs 环境,但我不断收到这个该死的错误:

Syntax read error: )

这是我的 init.el 文件的样子,它并不长,但我不知道它是什么意思。我是 lisp 的新手。

(add-to-list 'load-path' "~/.emacs.d/auto-complete-1.3.1")
;Load the default configuration
(require 'auto-complete-config')
;Make sure we can find the dictionaries
(add-to-list 'ac-dictionary-directories' "~/.emacs.d/auto-complete-1.3.1/dict")
;Use dictionaries by default
(setq-default ac-sources (add-to-list 'ac-sources' 'ac-source-dictionary'))
(global-auto-complete-mode t)
;Start auto completion after two characters of a word
(setq ac-auto-start 2)
; case sensitivity is important when finding matches
(setq ac-ignore-case nil)

(add-hook 'js-mode-hook'
  (lambda ()
    ;;Scan the file for nested code blocks
    (imenu-add-menubar-index)
    ;;Activate folding mode
    (hs-minor-mode t))
4

2 回答 2

2

你在最后的调用中有不平衡的括号add-hook

基本上,在最后添加一个额外)的两个。

如果您键入M-x show-paren-mode RET然后将光标定位在右括号之后,它将突出显示匹配的左括号(反之亦然,如果您将光标定位在左括号上)。

于 2013-01-24T05:25:45.030 回答
2

在某些符号的末尾有额外的引号。在 lisp 中,通过在表达式前面加上单引号 (') 来引用表达式,而不是其他任何地方:'correct, 'incorrect'. 字符串文字与许多其他语言一样,前后都有双引号:"a string literal"

此外,正如 phils 所指出的那样,缺少括号。

通常,您可以使用 --debug-init 启动 emacs,以使其对 init 文件中的任何错误进行回溯。在这种情况下,它不是很有用,因为甚至没有评估代码。

于 2013-01-24T07:07:48.747 回答