我正在使用ELPA的Clojure模式包。否则一切都很好,但我无法忍受paredit模式。我似乎无法轻易将其关闭,现在我只是为我打开的每个缓冲区禁用它。我尝试将此变量设置为nil:
(setq clojure-enable-paredit nil)
但是paredit仍然出现。有什么想法吗?
答案 0 :(得分:28)
不是你实际问题的答案,但给了paredit模式一个机会。我也非常生气,因为它自动关闭我的parens,拒绝为我删除一个paren。
但这样做可以让它始终确定缓冲区是一个均衡的性别,因此它可以为您执行许多有用的针对性别的任务,而不仅仅是面向文本的任务。例如,我一直使用以下 :
(map f some-list)
转为(doto (map f some-list) println)
(let [x 10]) (println x)
转变为(let [x 10] (println x))
(first (map f some-list))
变成(map f some-list)
或(first some-list)
有许多这样有用的功能,让您开始编辑代码而不是文本。虽然有很多优秀的Lisp黑客不喜欢paredit模式,但我建议你在实现它可以为你做的很棒的事情之前不要反对它。
答案 1 :(得分:16)
找到一个有效的技巧。在init.el
中加载elpa包之前,将此挂钩添加到clojure模式:
(add-hook 'clojure-mode-hook (lambda () (paredit-mode nil)))
答案 2 :(得分:0)
对于它的价值,我也通过ELPA使用clojure模式,并不意味着paredit。也许只是卸载它?我发现clojure-mode,slime和slime-repl是我需要在干净的EMACS上安装以获得clojure / swank / slime工作的唯一包。
我只测试了这个:
http://www.learningclojure.com/2010/08/clojure-emacs-swank-slime-maven-maven.html
几个星期前,它仍然可以正常工作。