vim如何在命令提示符下输入多个命令

时间:2013-03-31 17:28:41

标签: vim command-line ex

如何在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  

2 个答案:

答案 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

如果你没有更新最后的搜索模式就好了。