Vim - 删除搜索到的字符串

问题描述 投票:0回答:4

是否有一个 VIM 命令/组合键可以执行类似

dt/mystring
的操作(这不起作用)?

dta
尝试在
当前行
上查找字母a,但我想删除搜索字符串之前的所有内容(可能在其他行上)。

vim keyboard shortcut
4个回答
97
投票

试试这个

d/mystring

它不会删除字符串本身。


24
投票

d/mystring
删除
mystring

之前的所有内容

编辑:哇,太慢了:/


24
投票

Greg Reynolds 提供了一个可行的解决方案。
或者,如果搜索模式已定义,请使用:

dn

n
运动是排他性的,因此图案的第一个字符不会被吃掉。

您可以使用 Easymotion 插件的另一种替代方案

<leader><leader>t<first letter of pattern
(通常领导者是反斜杠);那么模式之前的字符就会变成一个字母;输入这封信即可完成。


0
投票

这就是您可以在不突出显示搜索和弄乱您的

/
缓冲区的情况下做到这一点的方法:

d:echo search('yourpattern')<CR>

例如,删除直到以“function”开头的行:

d:echo search('^function')<CR>
© www.soinside.com 2019 - 2024. All rights reserved.