【问题标题】:Omit 'Pattern not found' error message in Vim script在 Vim 脚本中省略“找不到模式”错误消息
【发布时间】:2010-11-05 19:38:31
【问题描述】:

我在我的 .vimrc 中添加了一个函数,它只是几个搜索和替换命令。但是,如果未找到其中一种模式,我会收到一条需要输入的错误消息。我怎样才能抑制它?

【问题讨论】:

    标签: vim vi


    【解决方案1】:

    您可以使用: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 帮助后面几段。

    【讨论】:

    • @DrAI 这个可以在vimrc中配置吗?即我可以只做%s,它会拿起e 标志吗?
    • @Krishna 据我所知没有。我想你可以想出一个在开始时添加静音的映射,例如cnoremap %s silent %s,但它可能会产生意想不到的后果(例如,如果您在命令开头以外的地方键入 %s)。
    【解决方案2】:

    你可以使用静默:

    :silent %s/x/y/g
    

    或者,如果您需要进行字符串操作来确定要搜索和替换的字符串:

    exec ":silent %s/x/" . varName . "/g"
    

    我不是 100% 确定,但我认为 silent 仅适用于脚本。

    【讨论】:

      【解决方案3】:

      可能有点跑题了,但是当我想在 vim 中搜索下一次出现时,我在 vim 中搜索“未找到搜索模式”错误的解决方案时发现了这个线程。以下地图省略了按'n'时的错误

      地图n:安静! /

      【讨论】:

        【解决方案4】:

        也许 :he :silent 可以用来抑制这些错误?

        【讨论】:

          猜你喜欢
          • 2011-01-19
          • 1970-01-01
          • 2019-05-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-09-19
          • 2014-04-07
          相关资源
          最近更新 更多