我想跳转到包含特定模式的行,并确定是否应用:s命令。
但在申请:s命令后,' /' register被s命令中的模式替换, 用原始模式跳转并不是很方便。
那么,它是否有一种舒适的方式来完成这项任务呢? 谢谢!
答案 0 :(得分:2)
Vim(版本8+)提供:keeppatterns
命令,可防止命令更改搜索寄存器。例如:
:keeppatterns %s/foo/bar/g
如需更多帮助,请参阅:h :keeppatterns
。
答案 1 :(得分:1)
您可以通过vim-script实现这一目标。这些方面的东西应该有所帮助:
function! s:CustomSearch()
let oldsearch = @/
:%s/pattern/replace/flags
let @/=oldsearch
endfunction
答案 2 :(得分:1)
Vim手册(:help histdel
)提供了另一种删除最后搜索模式的方法:
call histdel("search",-1)
let @/ = histget("search",-1)