Esta resposta não responde à sua pergunta sobre como configurar electric-pair-mode
. Mas isso pode levar você aos resultados desejados.
O wrap-region
pacote disponível no Melpa pode ser a resposta para o seu problema. Aqui está uma breve descrição do seu github:
Região de quebra automática é um modo secundário para o Emacs que envolve uma região com pontuações. Para os modos de marcação "etiquetados", como HTML e XML, ele envolve etiquetas.
Aqui está como eu o configurei para funcionar nos meus modos selecionados. O snippet também cobre os pontos que você levantou na sua pergunta; sobre org-mode
marcadores de propriedade de fonte.
(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
Gostaria de acrescentar que este pacote funciona muito bem com o expand-region
pacote (também disponível no Melpa).
Com estes 2 pacotes, quando eu estou org-mode
, fazendo: MY-EXPAND-REGION-BINDING
*
em uma palavra vai torná-lo em negrito.
defun
da sua resposta.