使用我的.emacs init文件时,我有时会犯错误.当我执行eval-buffer时,我收到消息"解析期间文件结束".
我如何要求Emacs告诉我错误的确切位置?
Rai*_*wig 20
首先要检查括号和字符串引号的平衡.
对于Emacs Lisp在GNU中使用Emacs M-x check-parens.
其他类似Emacs的编辑器也有类似的命令.例如,在LispWorks中可以使用M-x Find Unbalanced Parentheses.
小智 4
这些错误实际上很难定位。
最好努力避免括号不匹配。有几种内置和第三方次要模式可以帮助您:
electric-pair-mode:自动插入匹配的右括号(内置)show-paren-mode:当点位于括号上方时,突出显示匹配的点(内置)rainbow-delimiters-mode:以不同的面突出显示每一级括号paredit-mode:始终保持括号平衡。一般来说,集中编辑 Sexps 而不是字符和单词。我建议启用所有这些。因此,克服不匹配括号的合理配置是:
(add-hook 'emacs-lisp-mode-hook 'paredit-mode)
(add-hook 'emacs-lisp-mode-hook 'rainbow-delimiters-mode)
(show-paren-mode 1)
(electric-pair-mode 1)
Run Code Online (Sandbox Code Playgroud)
Paredit 和 Rainbow Delimiters 可从 MELPA 获取。