如何在Emacs中删除HTML标记的内容

时间:2011-01-24 18:07:44

标签: html vim emacs keyboard-shortcuts text-editor

Vim有一个很棒的功能,允许用户删除标记内容,引号等。例如,在以下情况:

<h1>  Cursor is here -> █ <- :)  </h1>

可以输入 d i t (“在标签中删除”)删除<h1> HTML标签的内容

还有其他快捷方式,例如:

  • d i 删除括号中的内容()
  • d i 删除双引号""中的内容。
  • d i '删除单引号''中的内容。

Emacs是否存在类似的内容?

我知道zap-to-char和nXhtml的sgml-delete-tag,但他们并不是我想要的。

1 个答案:

答案 0 :(得分:5)

这段代码对你有用吗?

(defun sgml-delete-tagged-text ()
  "delete text between the tags that contain the current point"
  (interactive)
  (let ((b (point)))
    (sgml-skip-tag-backward 1)
    (when (not (eq b (point)))
      ;; moved somewhere, should be at front of a tag now
      (save-excursion 
        (forward-sexp 1)
        (setq b (point)))
      (sgml-skip-tag-forward 1)
      (backward-sexp 1)
      (delete-region b (point)))))