vi 快捷键删除“直到下一个 X 字符”

vi 快捷键删除“直到下一个 X 字符”

我知道 vi 有快捷键可以删除字符、单词和行,并且有多种选项。

但是,我找不到这个:

  • 从光标处删除到下一个指定字符

例如,我可能会输入du"期望编辑器“删除直到"找到下一个字符”

我所知道最接近的是d9w需要9删除的单词数。

有人知道这是否可能吗?

答案1

使用dtc, 其中C是任何字符,例如对于你来说,你想要dt"

这将删除但不是包括C

如果你有:

delete until exclamation point!

并且光标在第一个空格处并输入dt!,您将获得:

delete!

dfc

这将删除最多包括C

使用df!上面相同的例子将得到:

delete

几乎任何“动作”均可用于dcy类似的命令。

答案2

  • 要删除前一个字符‘X’,请输入dtX

  • 要删除前向字符“X”,请输入dfX

  • 要向后删除至字符“X”,请输入dTX

  • 要向后删除字符“X”,请输入dFX

答案3

输入 dt#(不是 :command,像 G 这样的移动一样使用)

将从光标处删除直到但不包括 # 的内容。你可以用任何字符替换 #。

答案4

w移动到下一个单词。l移动到下一个字符。

所以要d9l删除接下来的9个字符。

相关内容