【发布时间】:2010-11-05 19:38:31
【问题描述】:
我在我的 .vimrc 中添加了一个函数,它只是几个搜索和替换命令。但是,如果未找到其中一种模式,我会收到一条需要输入的错误消息。我怎样才能抑制它?
【问题讨论】:
我在我的 .vimrc 中添加了一个函数,它只是几个搜索和替换命令。但是,如果未找到其中一种模式,我会收到一条需要输入的错误消息。我怎样才能抑制它?
【问题讨论】:
您可以使用:silent 或:silent! 作为任何命令的前缀或您可以将“e”选项添加到替代项中,这通常更容易。
:%s/x/y/ge
:silent! %s/x/y/g
:silent %s/x/y/g
有关详细信息,请参阅
:help :silent
:help :s_flags
e 标志上的信息是在 :s_flags 帮助后面几段。
【讨论】:
vimrc中配置吗?即我可以只做%s,它会拿起e 标志吗?
cnoremap %s silent %s,但它可能会产生意想不到的后果(例如,如果您在命令开头以外的地方键入 %s)。
你可以使用静默:
:silent %s/x/y/g
或者,如果您需要进行字符串操作来确定要搜索和替换的字符串:
exec ":silent %s/x/" . varName . "/g"
我不是 100% 确定,但我认为 silent 仅适用于脚本。
【讨论】:
可能有点跑题了,但是当我想在 vim 中搜索下一次出现时,我在 vim 中搜索“未找到搜索模式”错误的解决方案时发现了这个线程。以下地图省略了按'n'时的错误
地图n:安静! /
【讨论】:
也许 :he :silent 可以用来抑制这些错误?
【讨论】: