我使用msdos脚本用vim搜索模式并向我显示结果
rem script is called: tel.bat <pattern>
gvim -R %WORKSPACE%\telliste.csv "+set ignorecase" "+set ft=javascript" -c /%1
如果文件中存在模式,则此方法可以正常工作。如果模式不匹配,我收到一条错误消息,我被卡住了。没有击键或鼠标操作会改变状态。喜欢:
Enter key - has no effect
Esc key - has no effect
Ctrl + C - the error-messages disappears, but the editor is frozen. No action possible
Mouse click in editor - has no effect
我只能关闭vim并再试一次。当我在命令行上调用脚本tel.bat konez
时,这就是我得到的错误:
翻译错误消息:
Error during execution of "command line":
E486: Pattern not found: konez
Confirm with the ENTER Key or place a command
即使找不到模式,我怎样才能进一步处理文件?换句话说,我怎么能避免我被困在vim中。
我已在批处理文件中尝试使用-c ":execute 'silent !'"
,但无法识别。也许我是以错误的方式做到的......
答案 0 :(得分:2)
这个应该工作,我无法在Vim版本8.0.1358的Linux上重现这个;我可以使用<Enter>
接受错误消息并继续。
这可能是一个插件/配置问题;尝试使用gvim --clean
启动。
多行错误消息很难看。你可以通过转移到较低级别的search()
函数来避免它:
gvim ... -c "call search('%1')"
通过评估其回报值;您还可以制作自己的错误消息:if search(...) == 0 | echomsg 'No matches' | endif