2

奇妙なことに、さまざまな paredit チートシートがM-?にバインドされていることが示されていますがparedit-convolute-sexpparedit.elファイルにはその関数に対するバインドがありませんが、関数は定義されています。paredit.elここに追加するように編集しました:

 ....
("M-q"  paredit-reindent-defun)
("M-\?" paredit-convolute-sexp)

しかし、emacs を再起動しても、まだバインドされていませんM-?"M-?"バックスラッシュなしでバインディングだけを使用してみましたが、違いはありませんでした。

私もこれをやろうとしました:

(defun my-clojure-hook ()
  (auto-complete-mode 1)
  (define-key clojure-mode-map
    (kbd "M-\?" 'paredit-convolute-sexp)))

(add-hook 'clojure-mode-hook 'my-clojure-hook)

また、バックスラッシュの有無にかかわらず試してみました。

オートコンプリートモードを有効にしても、それも違いはありませんでした。

このバインディングをどこに置くべきか誰にもアドバイスできますか?

4

1 に答える 1

2

への呼び出しに閉じ括弧がありませんkbd。フックは次のようになります (ちなみに、疑問符をエスケープする必要はないと思います)。

(defun my-clojure-hook ()
  (auto-complete-mode 1)
  (define-key clojure-mode-map
    (kbd "M-?") 'paredit-convolute-sexp))

実際にはdefine-key、新しい clojure バッファーを開くたびに呼び出すのではなく、1 回 (たとえば、.emacs ファイル内で) を呼び出すだけでよいため、それ自体をフックに入れる必要はありません。

于 2014-06-07T09:24:30.633 に答える