如果您刚刚删除了一些文本d,则可以使用/<CTRL-R>"以匹配刚删除的文本(即使您刚刚删除了删除u).
如果删除的文本包含换行符或正则表达式元字符(如\或[),则无效.如果可能的话,试试:
/\V<CTRL-R>=substitute(substitute(getreg('"'), "[\\/]", '\\\0', 'g'), "\n", '\\n', "g")
Run Code Online (Sandbox Code Playgroud)
\V - 非常无害 - 关闭大多数正则表达式元字符<CTRL-R>= - 插入vim表达式的评估substitute(..., "\n", '\\n', "g") - 转义给定字符串中的所有换行符substitute(..., "[\\/]", '\\\0', 'g') - 转义给定字符串中的所有斜杠和反斜杠getreg('"')- 获取"寄存器的内容,其中包含最近被删除和/或删除的文本这有点罗嗦,所以如果你发现自己需要经常这样做,你可以将它绑定到你的命令~/.vimrc:
" use ,/ in normal mode to match the most recently deleted or yanked text
nmap ,/ /\V<C-R>=substitute(substitute(getreg('"'), "[\\/]", '\\\0', 'g'), "\n", '\\n', "g")<CR><CR><CR>
Run Code Online (Sandbox Code Playgroud)