Emacs Clojure режим без паредита - PullRequest
6 голосов
/ 09 марта 2011

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

(setq clojure-enable-paredit nil)

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

Ответы [ 3 ]

28 голосов
/ 09 марта 2011

Не ответ на ваш актуальный вопрос, но дайте шанс режиму 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)

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

16 голосов
/ 09 марта 2011

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

(add-hook 'clojure-mode-hook (lambda () (paredit-mode nil)))
0 голосов
/ 09 марта 2011

Для чего бы то ни было, я использую 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

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

...