如何提前退出 vimscript 中的 python 块
How to exit early from a python block inside vimscript
我有一个 vim 函数,类似这样
func! Foo()
python3 <<EOF
import yaml, sys
data = yaml.safe_load('@"')
if len(data) < 0:
sys.exit(0)
# do more stuff on data
EOF
endfun
显然这不起作用,我收到此错误:
ch 3 was closed by the client
如何从 vim 脚本中提前退出 python?
如果不产生被 Vim.
捕获的错误(异常),你就不能真正提前离开
要么使用 if len(data) >= 0:
并缩进后面的块,要么将所有内容都放在函数中,使用 return
退出并在块末尾调用函数。
我有一个 vim 函数,类似这样
func! Foo()
python3 <<EOF
import yaml, sys
data = yaml.safe_load('@"')
if len(data) < 0:
sys.exit(0)
# do more stuff on data
EOF
endfun
显然这不起作用,我收到此错误:
ch 3 was closed by the client
如何从 vim 脚本中提前退出 python?
如果不产生被 Vim.
捕获的错误(异常),你就不能真正提前离开要么使用 if len(data) >= 0:
并缩进后面的块,要么将所有内容都放在函数中,使用 return
退出并在块末尾调用函数。