如何在vim
的命令提示符下输入以下单个字符串:let v:errmsg = ""
:silent! /\cend of .*project gutenberg
:if v:errmsg != ""
:echo "Not found"
:endif
这不起作用,不打印消息。
:let v:errmsg = ""|:silent! /\cend of .*project gutenberg|:if v:errmsg != ""|:echo "Not found"|:endif
答案 0 :(得分:2)
嗯,问题是你正在进行的正常搜索。范围搜索看到|作为其参数的一部分,因此它不能用于输入另一个命令。因此,将它包装到:exe调用中,如下所示:
let v:errmsg = ""|exe 'sil! /\cend of .*project gutenberg'|if v:errmsg != ""|echo "Not found"|endif
答案 1 :(得分:0)
范围搜索可能不是您的最佳选择。你可以使用
if !search('\cend of .*project gutenberg') | echo 'Not found' | endif
如果你没有更新最后的搜索模式就好了。