但是,我找不到它:
从光标删除到下一个指定字符
例如,我可能键入
du"
,期望编辑器“删除,直到找到下一个"
字符为止”。我知道的最接近的是
d9w
,其中9
是要删除的单词数。任何人都可以做知道这是否可能吗?
#1 楼
使用dtc,其中c是任何字符,例如为您,您想要dt“这将删除最多但不包括c。
如果您拥有:
delete until exclamation point!
< br光标位于第一个空格处,然后键入dt !,您将得到:
delete!
也dfc。
此将删除最多并包含c。
在上面的同一示例中使用df!会给您:
delete
关于任何“运动”可以用于
d
,c
,y
和类似命令。评论
大概助记符是“耕种”吗?好答案。
–过度思考
2015年5月5日17:01
您还可以使用移动命令的大写字母删除字符的先前实例。也许对逗号更有用-dT和dF。
– joelostblom
15年4月28日在14:53
这不适用于多行。
– 0xcaff
15年12月29日在22:41
可以在一系列生产线上完成吗?
–雷
17年8月3日在17:17
为了在行的范围内执行类似的操作,可以执行常规搜索(如zpletan的答案):d /单词搜索多达单词。后面必须按Enter键(以关闭搜索)。
– Eric O Lebigot
18年5月21日在11:15
#2 楼
要向前删除最多字符'X',请输入dtX
要向前删除最多字符'X',请输入dfX
要向前删除最多字符'X',请输入dTX
要删除向后通过字符“ X”键入dFX
#3 楼
输入dt#(不是:command,像G这样的动作一样使用它)将从光标中删除,直到但不包括#。您可以将任何字符替换为#。
评论
这是正确的答案! df#也会删除#。
–越南
2014年12月23日15:30
一直在寻找,这很棒
– Nadeem Khedr
2015年4月3日在7:29
#4 楼
看起来@Arcege已经回答了问题,但是我做了d/l
删除,直到字符l
为止;其他字符也可以。评论
这适用于跨换行符的东西。
– Jasonszhao
16-09-9的3:11
注意:这之后必须按Enter。
– Eric O Lebigot
18年5月21日在11:13
d?l向后删除
– Hipponax43
20 Mar 10 '20 at 16:59
#5 楼
w
移至以下单词。 l
移至以下字符。因此,
d9l
删除接下来的9个字符。评论
关闭,l是Vim的向右箭头键,因此您实际上是在向右删除。相反,d9h将删除剩余的9个字符。
–沃尔夫
16年5月30日在2:24
评论
如果您对Vi和Vim感兴趣,他们现在拥有自己的SE网站:Vi和Vim