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

时间:2009-06-03 17:55:05

标签: html vim editor

我知道

di<

将在HTML标记中删除。

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

<span>How can I delete this text?</span>

谢谢!

6 个答案:

答案 0 :(得分:300)

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

请参阅:h it:h tag-blocks

答案 1 :(得分:24)

cit
ci"

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

我只用这两个节省了很多时间和精力。

答案 2 :(得分:9)

尝试 dt&lt; ,同时光标位于要删除的第一个字符上。在你的例子中'H'。

答案 3 :(得分:4)

要删除的第一个字符上的光标) 的 V /百分比抑制率数据输入] d

此解决方案从第一个字符开始,然后进入可视模式(“v”)。然后它搜索下一个开始括号(“/&lt;”),然后按Enter退出搜索。

此时,您的视觉选择将涵盖要删除的文本。按d(“d”)删除它。

如果我必须为一堆标签执行此操作,我会记录命令并将其与其他一些搜索结合起来以使其可重复。键序列可能如下所示:

[文件开头的光标] 的 QA /&GT;输入] LV /百分比抑制率数据输入] DNQ

然后按:

<强> 20 @一个

为20个标签执行此操作

答案 4 :(得分:1)

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

di" - 删除 ""
di' - 删除内部 ''

di( - 删除里面的 ()
di) - 在 () 内删除

di[ - 在 [] 内删除
di] - 在 [] 内删除

di{ -delete 内 {}
di} - 在内部删除 {}

di< - 删除内部 <>
di> - 等等

在给出命令后将上面的 d 替换为 c 进入编辑模式

答案 5 :(得分:-1)

如果您的目标是在标记之间删除文本,我建议安装Vim-Surround并运行删除环绕标记的dst