Emacs, nxhtml, как выделить или перейти к закрывающему тегу html?
Я использую emacs с nxhtml для редактирования моих файлов HTML, но я не могу узнать, как выделить или перейти к закрывающему тегу HTML?
Звучит как простой и глупый вопрос, но я действительно не могу его найти. Возможно я не ищу правильную вещь.
2 ответа
Я использую функции из sgml-mode
:
- Ctrl+c Ctrl+f (
sgml-skip-tag-forward
) - Ctrl+c Ctrl+b (
sgml-skip-tag-backward
)
Вы всегда можете переназначить их на более удобный ярлык для вашего основного режима, а именно:
(add-hook 'html-mode-hook
(lambda ()
(define-key html-mode-map (kbd "<M-left>") 'sgml-skip-tag-backward)
(define-key html-mode-map (kbd "<M-right>") 'sgml-skip-tag-forward)
)
)
В nxhtml-mode
, Chm должен указывать следующие привязки:
<C-M-down> nxml-down-element
<C-M-left> nxml-backward-element
<C-M-right> nxml-forward-element
<C-M-up> nxml-backward-up-element
Функции forward и backward - это то, о чем вы спрашиваете, а функции up и down позволяют перемещаться к родительскому или дочернему элементу в иерархии.
sgml-mode
Ответ более надежен для HTML (в отличие от правильно сформированного XHTML), но вы можете добавить автозагрузки для этих функций, если вы будете использовать их в nxhtml-mode
, так как последний не требует первого.
(autoload 'sgml-skip-tag-forward "sgml-mode"
"Skip to end of tag or matching closing tag if present.
With prefix argument ARG, repeat this ARG times.
Return t if after a closing tag." t)
(autoload 'sgml-skip-tag-backward "sgml-mode"
"Skip to beginning of tag or matching opening tag if present.
With prefix argument ARG, repeat this ARG times.
Return non-nil if we skipped over matched tags." t)