Этот ответ не отвечает на ваш вопрос о том, как настроить electric-pair-mode
. Но это может привести вас к желаемым результатам.
wrap-region
Пакет , доступный на Melpa может быть ответ на вашу проблему. Вот краткое описание его github:
Wrap Region - это второстепенный режим для Emacs, который оборачивает область пунктуацией. Для «размеченных» режимов разметки, таких как HTML и XML, он переносится тегами.
Вот как я настроил его для работы в выбранных мной режимах. Фрагмент также охватывает вопросы, которые вы подняли в своем вопросе; о org-mode
маркерах свойств шрифта.
(require 'wrap-region)
;; Enable wrap-region in the following major modes
(dolist (hook '(emacs-lisp-mode-hook
org-mode-hook))
(add-hook hook 'wrap-region-mode))
(wrap-region-add-wrapper "`" "'") ; select region, hit ` then region -> `region'
(wrap-region-add-wrapper "=" "=" nil 'org-mode) ; select region, hit = then region -> =region= in org-mode
(wrap-region-add-wrapper "*" "*" nil 'org-mode) ; select region, hit * then region -> *region* in org-mode
(wrap-region-add-wrapper "/" "/" nil 'org-mode) ; select region, hit / then region -> /region/ in org-mode
(wrap-region-add-wrapper "_" "_" nil 'org-mode) ; select region, hit _ then region -> _region_ in org-mode
(wrap-region-add-wrapper "+" "+" nil 'org-mode))) ; select region, hit + then region -> +region+ in org-mode
Я хотел бы добавить, что этот пакет действительно хорошо работает с expand-region
пакетом (также доступен на Melpa).
С этими 2 пакетами, когда я буду org-mode
, делаю: MY-EXPAND-REGION-BINDING
*
одним словом выделю жирным шрифтом.
defun
в вашем ответе.