Не думаю, что для тегов есть что-то встроенное, но для паренов вы можете сделать M - (. Для скобок / скобок / кавычек вы можете сделать:
(global-set-key (kbd "M-[") 'insert-pair)
(global-set-key (kbd "M-{") 'insert-pair)
(global-set-key (kbd "M-\"") 'insert-pair)
Обратите внимание, что если у вас нет выделенного региона, он просто вставит пару whatevers и поместит курсор между ними. Также удобно для удаления соответствующих whatevers является
(global-set-key (kbd "M-)") 'delete-pair)
Если вы хотите вставить пары тегов, это просто elisp:
(defun my-insert-tags (tag)
(interactive "sTag: ")
(if (region-active-p)
(let ((beg (region-beginning)))
(save-excursion
(goto-char (region-end))
(insert "</" tag ">")
(goto-char beg)
(insert "<" tag ">")))
(insert "<" tag ">")
(save-excursion
(insert "</" tag ">"))))