7

.emacs init ファイルを操作しているとき、時々間違いを犯します。eval-buffer を実行すると、「解析中にファイルの終わりです」というメッセージが表示されます。

Emacs にエラーの正確な場所を教えてもらうにはどうすればよいですか?

4

2 に答える 2

20

最初に、括弧と文字列引用符のバランスを確認します。

Emacs Lisp の場合 GNU Emacs ではM-x check-parens.

他の Emacs に似たエディターには、同様のコマンドがあります。たとえば LispWorks では、 を使用できますM-x Find Unbalanced Parentheses

于 2013-02-25T19:51:25.037 に答える
4

これらのエラーは、実際に見つけるのが非常に困難です。

かっこの不一致をまったく回避するように努力することをお勧めします。これに役立つ組み込みおよびサードパーティ製のマイナー モードがいくつかあります。

  • electric-pair-mode: 対応する右括弧を自動的に挿入 (組み込み)
  • show-paren-mode:ポイントが括弧の上にある場合、一致するものを強調表示します(組み込み)
  • rainbow-delimiters-mode: 括弧の各レベルを異なるフェイスでハイライトします
  • paredit-mode: 常に括弧のバランスを保ちます。一般に、文字や単語ではなく、Sexp に編集の焦点を合わせます。

これらすべてを有効にすることをお勧めします。したがって、括弧の不一致を無効にするための合理的な構成は次のとおりです。

(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)

Paredit と Rainbow Delimiter は MELPA から入手できます。

于 2013-02-26T17:06:24.397 に答える