在vim中的HTML标签之间删除文本?

CMB*_*CMB 157 html vim editor

我知道

di<
Run Code Online (Sandbox Code Playgroud)

将删除HTML标记本身.

是否有一种简单的方法可以删除两个标签之间的文本?

<span>How can I delete this text?</span>
Run Code Online (Sandbox Code Playgroud)

谢谢!

Bri*_*per 307

dit将删除匹配的XML标记之间的文本.(it用于"内部标记块".)

:h it:h tag-blocks.

  • 当然,当你想在之后立即写作时,请选择`cit`. (29认同)
  • 当您想要执行诸如将周围标记(cst)从<p>更改为<div之类的操作时,Surround插件(http://www.vim.org/scripts/script.php?script_id=1697)非常棒>,例如. (5认同)
  • 还有dat(删除标签块),其中包括实际标签.cit,就像dit但是进入插入模式之后.cat就像dat一样但是进入插入模式之后.也是di"和di(分别用于删除内部双引号和删除内括号). (4认同)
  • 还有“vat”(或“vit”),后面跟着重复的“at”(或“it”)以逐步选择周围的标签。(或“v2at”等)。然后用“d”删除(等等)。 (2认同)

chi*_*ron 25

cit
ci"
Run Code Online (Sandbox Code Playgroud)

vim的两个最佳生产力启动命令.

只用那两个,我节省了大量的时间和精力.

  • 这个帖子涵盖了`cit`,但对于后人来说,`ci``将删除下一个````.非常适合更改html标签中的类名,例如`<span id ="真的很烦恼 - id">` - 用光标放在第一个```,点击`ci"`并放弃在引号之间插入新字符. (3认同)
  • @AlexMoore-Niemi:`ci"` 实际上会删除左边的文本直到下一个引用,向右删除直到下一个引用,然后进入插入模式。`ct"` 实际上是“删除到下一个”的命令“找到”。但是是的,如果光标在左引号下,它的行为是一样的。 (3认同)
  • `ciw` 也很有用,因为它会删除当前单词;实际上,我使用它的次数比 `cit` 和 `ci"` 还多。 (2认同)

Kes*_*Kes 12

dit - 删除内部标签,保持命令模式
cit - 更改内部标签,更改为编辑模式

di" - 删除“”内
di' - 删除 '' 内

di( - 删除 () 内部
di) - 删除 () 内部

di[ - 删除 [] 内部
di] - 删除 [] 内部

di{ - 删除 {} 内
di} - 删除 {} 内

di< - 删除 <>
di> 内的内容 - 等等

如果您想在键入命令后进入编辑模式,请将第一个字母交换dc


JD *_*ias 9

尝试dt <当光标位于要删除的第一个字符上时.在你的例子中'H'.