Emacs,nxhtml如何突出显示或跳转到关闭html标签?

时间:2011-08-11 07:52:47

标签: emacs nxhtml

我正在使用带有 nxhtml 的emacs来编辑我的HTML文件,但我找不到如何突出显示或跳转到结束 HTML标记?

这听起来像一个简单而愚蠢的问题,但我真的找不到它。也许我不是在找正确的事。

2 个答案:

答案 0 :(得分:12)

我使用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)
 )
)

答案 1 :(得分:4)

nxhtml-mode中, C-h m 应指明以下绑定:

<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

前向和后向功能是您所要求的,而向上和向下功能可让您移动到层次结构中的父元素或子元素。

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)