Как удалить содержимое тега HTML в Emacs - PullRequest
9 голосов
/ 24 января 2011

Vim имеет замечательную функцию, которая позволяет пользователям удалять содержимое тегов, в кавычках и т. Д. Например, в следующей ситуации:

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

можно ввести d i t (& ldquo; удалить в теге & rdquo;), чтобы удалить содержимое тега <h1> HTML.

Есть и другие ярлыки, например:

  • d i ( для удаления содержимого в скобках ()
  • d i " для удаления содержимого в двойных кавычках "".
  • d i ' для удаления содержимого в одинарных кавычках ''.

Существует ли что-нибудь подобное для Emacs?

Я знаю о zap-to-char и nXhtml sgml-delete-tag, но они не совсем делают то, что я хочу.

1 Ответ

5 голосов
/ 24 января 2011

Как этот код работает для вас?

(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)))))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...