6

emacsのinitファイルに次の行があります。

(setq auto-mode-alist (cons `("\*nrepl\*" . paredit-mode) auto-mode-alist))

* nrepl *という新しいバッファを作成して、これが機能することを確認しますCtrl-x-f *nrepl*。はい、* nrepl *バッファでPareditがアクティブになっており、pareditモードが有効になっています。

*nrepl*バッファを保存せずに閉じます。

と入力してnreplセッションを開始しますM-x nrepl-jack-in。nreplサーバーが起動し、nreplreplが表示されます。nreplreplは*nrepl*とも呼ばれますが、Pareditは有効になっていません

私は何が間違っているのですか?

4

3 に答える 3

6

バッファとファイルを混同しています。auto-mode-alistファイル名を正規表現と照合して、これらのファイルを編集するときに使用するモードを決定します。ただし、* nrepl *はファイルを含まないバッファーであるためauto-mode-alist、効果はありません。代わりに、どのメジャーモード* nrepl *が使用されているかを把握してから、を使用することをお勧めします(add-hook '<the-major-mode>-hook 'paredit-mode)

于 2012-10-21T23:14:49.767 に答える
5

簡単に言うと、次のコードが必要です。

(add-hook 'nrepl-mode-hook 'paredit-mode) ; for nrepl.el <= 0.1.8
(add-hook 'nrepl-repl-mode-hook 'paredit-mode) ; for nrepl.el > 0.1.8

これは長い形式に相当します:

(add-hook 'nrepl-mode-hook (lambda () (paredit-mode +1)))
于 2012-10-22T06:10:35.817 に答える
2
(add-hook 'nrepl-mode-hook 'paredit-mode)

彼らがnreplgithubページで提案していることです

于 2013-02-28T01:48:58.263 に答える