我使用的是来自ELPA的Clojure模式包。除此之外,一切都很好,但我就是不能忍受paredit模式。我似乎不能轻易地关闭它,现在我只是对我打开的每个缓冲区禁用它。我尝试将此变量设置为nil:
(setq clojure-enable-paredit nil)但paredit仍然会出现。有什么想法吗?
发布于 2011-03-09 17:04:42
不是你实际问题的答案,但给paredit模式一个机会。我也对它自动关闭我的父母,并拒绝为我删除一个单独的paren感到恼火。
但这样做可以让它始终确定缓冲区是一个平衡良好的性别,所以它可以为你执行许多有用的面向性别的任务,而不仅仅是面向文本的任务。例如,我一直使用以下代码
(first some-list)来包装一个性别,例如
(map f some-list)将另一个性别包装成当前的,例如(let [x 10]) (println x)变成(first (map f some-list))和/或M-r在源树中将性别拉到更高的级别,销毁包装它的东西,例如把(map f some-list)或(first some-list)变成(first (map f some-list))
有无数像这样有用的功能,可以让你开始编辑代码而不是文本。虽然有很多优秀的Lisp黑客不喜欢paredit模式,但我建议你在意识到它可以为你做的可怕的事情之前不要决定不使用它。
发布于 2011-03-09 15:07:08
找到了一个有效的窍门。在init.el中加载elpa包之前,将这个钩子添加到clojure模式:
(add-hook 'clojure-mode-hook (lambda () (paredit-mode nil)))发布于 2011-03-10 03:02:39
无论如何,我也通过ELPA使用clojure-mode,这并不意味着paredit。也许可以直接卸载它?我发现clojure-mode、slime和slime-repl是我需要在干净的EMACS上安装的唯一包,才能让clojure/swank/slime正常工作。
我只测试了这个:
http://www.learningclojure.com/2010/08/clojure-emacs-swank-slime-maven-maven.html
几周前,它仍然工作正常。
https://stackoverflow.com/questions/5242380
复制相似问题