我知道 vi 有快捷键可以删除字符、单词和行,并且有多种选项。
但是,我找不到这个:
- 从光标处删除到下一个指定字符
例如,我可能会输入du"
期望编辑器“删除直到"
找到下一个字符”
我所知道最接近的是d9w
需要9
删除的单词数。
有人知道这是否可能吗?
答案1
使用dtc, 其中C是任何字符,例如对于你来说,你想要dt"
这将删除但不是包括C。
如果你有:
delete until exclamation point!
并且光标在第一个空格处并输入dt!,您将获得:
delete!
还dfc。
这将删除最多和包括C。
使用df!上面相同的例子将得到:
delete
几乎任何“动作”均可用于d
、c
和y
类似的命令。
答案2
要删除前一个字符‘X’,请输入dtX
要删除前向字符“X”,请输入dfX
要向后删除至字符“X”,请输入dTX
要向后删除字符“X”,请输入dFX
答案3
输入 dt#(不是 :command,像 G 这样的移动一样使用)
将从光标处删除直到但不包括 # 的内容。你可以用任何字符替换 #。
答案4
w
移动到下一个单词。l
移动到下一个字符。
所以要d9l
删除接下来的9个字符。