在Vimscript中尝试捕获

时间:2011-05-01 17:34:33

标签: exception-handling vim

我试图像这样在Vim中发现错误(E490):

:try | foldopen! | catch | | endtry

但是,执行此操作时,Vim会显示错误:

Error detected while processing :
E490: No fold found

如果有任何折叠,我想打开所有折叠。

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

看起来像一个错误:您的版本显示错误,

:execute 'try | foldopen! | catch | | endtry'

表现得像

:echo 'try | foldopen! | catch | | endtry'

没有折叠。

尝试以下解决方法:

:execute "try\n    foldopen!\ncatch\nendtry'

顺便说一下,如果你想忽略所有错误,还有更好的方法:

:silent! foldopen!

请注意,如果消息存在,它将不会从重定向中清除消息,而try...catch则会消息。