我想跳转到包含特定模式的行并确定是否应用 :s 命令。
但应用 :s 命令后,'/' 寄存器被 :s 命令中的模式替换,并且用原始模式跳转不太方便。
那么,它有没有一种舒适的方式来完成这个任务呢?
谢谢!
Vim(版本 8+)提供了:keeppatterns防止搜索寄存器被您的命令更改的命令。例子:
:keeppatterns %s/foo/bar/g
Run Code Online (Sandbox Code Playgroud)
如需更多帮助,请参阅:h :keeppatterns。
您可以通过 vim 脚本实现这一点。这些方面的内容应该有所帮助:
function! s:CustomSearch()
let oldsearch = @/
:%s/pattern/replace/flags
let @/=oldsearch
endfunction
Run Code Online (Sandbox Code Playgroud)