emacs: оценивать blink-match-open, когда курсор выделяет круглые скобки - PullRequest
5 голосов
/ 12 мая 2011

Недавно, редактируя код lisp в emacs, я разочаровался в отслеживании соответствия круглых скобок. (show-paren-mode t) помогает, когда совпадающая скобка видна в буфере вместе с его соответствием, и (setq blink-Match-paren t) полезна, когда записывает совпадающую скобку. Есть ли способ подключить show-paren-mode, чтобы функция blink-mathing-open оценивалась как часть процесса "show"? Таким образом, я могу поместить курсор в круглые скобки и узнать, с чем он совпадает, не удаляя и не вводя его повторно.

Спасибо

SetJmp

Ответы [ 2 ]

2 голосов
/ 13 мая 2011

Мой любимый пакет парен: mic-paren , который показывает вам подходящего парена, как вы описали, - он работает даже тогда, когда соответствующий парен находится за пределами экрана (он показывает некоторую информацию в области эха).

Загрузите и поместите где-нибудь в свой load-path, и добавьте это в свой .emacs:

(require 'mic-paren)
(paren-activate)

Существует несколько вариантов конфигурации, которые вы можете выбрать, прочитайте комментарии в верхней части пакета.

2 голосов
/ 13 мая 2011

Попробуйте это

(defadvice show-paren-function (after blink activate)
  (when (= ?\) (char-before (point)))
    (blink-matching-open)))

Или просто используйте C-M-b и C-M-f для перемещения назад и вперед между точкой и соответствующей скобкой.

...