Vim - 删除搜索到的字符串

时间:2011-12-22 10:00:45

标签: vim keyboard shortcut

是否存在可以执行dt/mystring(不起作用)的VIM命令/键组合?

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

4 个答案:

答案 0 :(得分:61)

试试这个

d/mystring

它不会删除字符串本身。

答案 1 :(得分:17)

d/mystring会删除mystring

以外的所有内容

编辑:哇,太慢了:/

答案 2 :(得分:15)

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

dn

n动作是独占的,所以你的模式的第一个角色不会被吃掉。

使用Easymotion插件的另一种替代方法,您可以使用<leader><leader>t<first letter of pattern(通常是领导者反斜杠);然后在模式之前的角色将变成一个字母;输入这封信,你就完成了。

答案 3 :(得分:0)

如何在不突出显示搜索和弄乱/缓冲区的情况下做到这一点:

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

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

d:echo seatch('^function')<CR>