我知道
di<
将在 HTML 标记本身中删除。
有没有一种简单的方法来删除两个标签之间的文本?
<span>How can I delete this text?</span>
谢谢!
当光标位于要删除的第一个字符上时,尝试使用 Dt < 。
dit将删除匹配的 XML 标记之间的文本(it表示“内部标记块”)
dit
it
参见 :h it和 :h tag-blocks。
:h it
:h tag-blocks
(要删除的第一个字符上的光标) [输入] d
这个解决方案从第一个字符开始,然后进入可视模式(“ v”)。然后搜索下一个开始括号(“/<”) ,然后按 Enter 退出搜索。
此时,您的视觉选择将覆盖要删除的文本。按 d (“ d”)删除它。
如果我必须为一堆标签这样做,我会记录命令并将其与其他一些搜索结合起来,以使其可重复。密钥序列可能如下所示:
[ 文件开始时的光标] [输入] lv/< [输入] dnq
然后按下:
20@a
为了20个标签
cit ci"
Vim 的两个最佳生产力促进命令。
我省了很多时间和精力,只有他们两个。
如果您的目标是在标志之间做相反的删除文本,我建议安装 Vim-Surround并运行 dst来删除环绕标记
dst
Dit-delete 内部标记,保持在命令模式 Cit-change 内部标签,改为编辑模式
内删除 内部删除”
Di (- delete inside () Di)-delete inside ()
删除里面的内容[] - 删除里面的内容[]
内部删除 删除内部
内部删除 等等
如果希望在键入命令之后处于编辑模式,则将第一个字母 d替换为 c
d
c
这适用于光标所在的任何地方:
dit-用于在命令模式下删除标记内容
为删除标记内容,插入模式为 (首选方法)
dit-用于删除仍处于命令模式的字符串内容
ci"/ci'-用于删除字符串内容,插入模式为 (首选方法)
ci"
ci'
希望这有所帮助;)