dit
will delete the text between matching XML tags. (it
is for "inner tag block".)
See :h it
and :h tag-blocks
.
cit
ci"
Two of the best productivity enabler commands of vim.
I save a lot of time and effort with just those two.
try dt< while the cursor is on the first character to delete. In your example the 'H'.
dit - delete inner tag, remains in command mode
cit - change inner tag, changes to edit mode
di" - delete inside ""
di' - delete inside ''
di( - delete inside ()
di) - delete inside ()
di[ - delete inside []
di] - delete inside []
di{ -delete inside {}
di} - delete inside {}
di< - delete inside <>
di> - etc
swap first letter d
for c
, if you want to be in edit mode after typing the command
(cursor on first character to delete) v/<[enter]d
This solution starts on the first character, then enters visual mode ("v"). It then searches for the next start bracket ("/<"), and then press enter to exit the search.
At this point, your visual selection will cover the text to delete. press d ("d") to delete it.
If I had to do this for a bunch of tags, I'd record the command and combine it with some other searches to make it repeatable. The key sequence might look like this:
[cursor on start of file] qa/>[enter]lv/<[enter]dnq
then press:
20@a
to do this for 20 tags
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With