Ця відповідь не відповідає на ваше запитання щодо налаштування electric-pair-mode
. Але це може призвести до бажаних результатів.
wrap-region
Пакет , доступний на Melpa може бути відповідь на вашу проблему. Ось його короткий опис з його github:
Область обертання - це незначний режим для 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).
З цими двома пакетами, коли я перебуваю org-mode
, роблю: MY-EXPAND-REGION-BINDING
*
на слові, це зробить сміливим.
defun
у вашій відповіді.