Режим Emacs Clojure без паредита

Я использую пакет режима Clojure от ELPA. В остальном все нормально, но я просто терпеть не могу режим паредита. Кажется, я не могу отключить его легко, теперь я просто отключаю его для каждого открытого буфера. Я попытался установить эту переменную в ноль:

(setq clojure-enable-paredit nil)

Но паредит все еще появляется. Есть идеи?

3 ответа

Не ответ на ваш актуальный вопрос, но дайте шанс режиму paredit. Я тоже был действительно раздражен тем, что он автоматически закрывал мои парены и отказывался удалить только одного парня для меня.

Но выполнение этого позволяет всегда быть уверенным, что буфер является хорошо сбалансированным sexp, поэтому он может выполнять множество полезных для вас задач, ориентированных на секс, а не только на текстовые. Например, я все время использую следующее:

  • M- (обернуть сексп с новым, например, повернуть (map f some-list) в (doto (map f some-list) println)
  • C-) "хлебать" другой пол в текущий, например, повернуть (let [x 10]) (println x) в (let [x 10] (println x))
  • M- и / или Mr, чтобы вытащить sexp на уровне "выше" в дереве исходных текстов, уничтожив объект, который его оборачивал, например, чтобы повернуть (first (map f some-list)) в (map f some-list) или же (first some-list)

Существует множество таких полезных функций, которые позволяют вам начать редактировать код вместо текста. И хотя есть много отличных хакеров Lisp, которым не нравится режим paredit, я советую вам не принимать решения против этого, прежде чем вы поймете, что он может сделать для вас.

Нашел один трюк, который работает. Перед загрузкой пакетов elpa в init.el, добавьте этот хук в режим clojure:

(add-hook 'clojure-mode-hook (lambda () (paredit-mode nil)))

Что бы это ни стоило, я использую clojure-mode через ELPA, и это не подразумевает paredit. Может быть, просто удалить его? Я считаю, что clojure-mode, slime и slime-repl являются единственными пакетами, которые мне нужно установить на чистый EMACS, чтобы заставить работать clojure / swank / slime.

Я только проверял это:

http://www.learningclojure.com/2010/08/clojure-emacs-swank-slime-maven-maven.html

Несколько недель назад, и это все еще работает отлично.

Другие вопросы по тегам