Regex 表示替换需要确认对话的最佳方式是什么?

Regex 表示替换需要确认对话的最佳方式是什么?,regex,vim,input,substitution,confirmation,Regex,Vim,Input,Substitution,Confirmation,我经常从菜单中调用函数 许多都有双重条目: -一个用于正常替换 -一个用于带有确认对话框(gc)的替代 p、 e: vnoreme 20.900 &Edit.Delete\ All\ but\ 1st\ Doubles\ :<C-U>call <SID>DeleteD("'<,'>","confirm-no")<CR> vnoreme 20.901 &Edit.Delete\ All\ but\ 1st\

我经常从菜单中调用函数

许多都有双重条目:
-一个用于正常替换
-一个用于带有确认对话框(gc)的替代

p、 e:

vnoreme 20.900 &Edit.Delete\ All\ but\ 1st\ Doubles\              :<C-U>call <SID>DeleteD("'<,'>","confirm-no")<CR>
vnoreme 20.901 &Edit.Delete\ All\ but\ 1st\ Doubles\ (gc)\        :<C-U>call <SID>DeleteD("'<,'>","confirm-yes")<CR>

vnoreme 20.900&Edit.Delete\All\but\1st\Doubles\:call DeleteD(“”好的,您可以更改Delete()函数来询问您是否希望确认每个替换。如下所示:

fu! Delete(range)
let confirm = confirm("confirm each change?", "&yes\n&no", 1)
let cmd=printf("%ss/foobar/foobaz/g%s", a:range, confirm ? 'c' : '')
exe cmd
endfu
(这只是一个示例,您可能希望至少更改搜索和替换条件)

或者,如果您使用的是简单的替换,请学习使用:ex命令
:promptrepl

e、 g.
:promptrepl foobar
将打开一个搜索/替换对话框,其中搜索字段将设置为“foobar”,您只需输入替换部分并点击您喜欢的按钮。

谢谢您的
:promptrepl
。谢谢您,Christian,我希望有一个不同的解决方案,比如输入框中的复选框或类似的东西但我知道这是一个错误的希望:)只有一个问题..是否可以在每个带有热键的函数中插入一个“let confirm”命令?(我不经常使用confirm命令)