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