如何在 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
最佳答案
嗯,问题出在您正在进行的正常搜索上。范围搜索看到 |作为其参数的一部分,因此它不能用于输入另一个命令。因此,将其包装到 :exe 调用中,如下所示:
let v:errmsg = ""|exe 'sil! /\cend of .*project gutenberg'|if v:errmsg != ""|echo "Not found"|endif
关于vim如何在命令提示符下输入多个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15732302/