是否可以删除所选文本以外的所有内容?

Is it possible to delete everything except the selected text?

例如,我们有文本:

<Text>Test_request</Text>

命令vit会选中所有里面的标签,如何只删除标签?

真实现实世界的解决方案是使用无处不在的surround插件提供的dst命令。

如果你想要普通的解决方案:

yit"_datP

细分:

  • yit 将标签内容拉到默认寄存器,
  • "_dat将整个标签切到“黑洞”寄存器,
  • P 将默认寄存器的内容放在光标前。

参见 :help "_:help P

只是为了补充 romainl 的回答。还有另一个名为 vim-sandwich 的插件,其工作方式与 vim-surround 类似。如果您已成功安装 vim-sandwich,您可以使用 sdt 删除文本周围的 HTML 标签。这对我来说完美无缺。