省略';找不到模式';Vim脚本中的错误消息
我在我的.vimrc中添加了一个函数,它只包含几个搜索和替换命令。但是,如果没有找到其中一个模式,我会收到一条错误消息,需要输入。我如何才能抑制这种情况?您可以使用静默:省略';找不到模式';Vim脚本中的错误消息,vim,vi,Vim,Vi,我在我的.vimrc中添加了一个函数,它只包含几个搜索和替换命令。但是,如果没有找到其中一个模式,我会收到一条错误消息,需要输入。我如何才能抑制这种情况?您可以使用静默: :silent %s/x/y/g 或者,如果需要执行字符串操作以确定要搜索和替换的字符串: exec ":silent %s/x/" . varName . "/g" 我不是100%确定,但我认为静默只在脚本中有效。也许:he:silent可以用来抑制那些错误?你可以使用:silent或:silent作为任何命令的前缀,或
:silent %s/x/y/g
或者,如果需要执行字符串操作以确定要搜索和替换的字符串:
exec ":silent %s/x/" . varName . "/g"
我不是100%确定,但我认为
静默
只在脚本中有效。也许:he:silent可以用来抑制那些错误?你可以使用:silent
或:silent
作为任何命令的前缀,或者您可以将“e”选项添加到替换项中,这通常更容易
:%s/x/y/ge
:silent! %s/x/y/g
:silent %s/x/y/g
有关详细信息,请参阅
:help :silent
:help :s_flags
e
标志上的信息是:s_标志
帮助中的几段内容。可能有点离题,但我在搜索vim中“搜索模式未找到”错误的解决方案时发现了这条线索,当时我想搜索vim中的下一个错误。按下“n”时,以下映射忽略了错误
地图n:安静/ @DrAI这可以在
vimrc
中配置吗?i、 e.我能不能只做%s
,它就会拿起e
旗?@Krishna,据我所知,不是这样。我想您可能会想出一个在开始时添加沉默的映射,例如,cnoremap%s silent%s
,但它可能会产生意外的后果(例如,如果您在命令开头以外的其他地方键入%s)。