我的emacs init文件中有下面一行。
(setq auto-mode-alist (cons `("\*nrepl\*" . paredit-mode) auto-mode-alist))我通过创建一个名为*nrepl* Ctrl-x-f *nrepl*的新缓冲区来检查它是否工作。是的,*nrepl*缓冲区已激活Paredit,paredit模式已启用。
我关闭*nrepl*缓冲区而不保存它。
我通过输入M-x nrepl-jack-in启动nrepl会话。nrepl服务器启动,我将看到nrepl repl。nrepl repl也被称为*nrepl*,但是Paredit没有启用。
我做错了什么?
发布于 2012-10-21 23:14:49
您混淆了缓冲区和文件:auto-mode-alist将文件名与regexp匹配,以决定在编辑这些文件时使用哪种模式。但是*nrepl*是一个不包含文件的缓冲区,因此auto-mode-alist对它没有任何影响。相反,您可能想知道主要模式*nrepl*使用哪种模式,然后使用(add-hook '<the-major-mode>-hook 'paredit-mode)。
发布于 2012-10-22 06:10:35
简单地说,您需要以下代码:
(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)))发布于 2013-02-28 01:48:58
(add-hook 'nrepl-mode-hook 'paredit-mode)是他们在nrepl github页面上的建议
https://stackoverflow.com/questions/13002482
复制相似问题