#python #vim
#python #vim
Вопрос:
У меня есть функция 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
Как досрочно выйти из python изнутри vimscript?
Ответ №1:
На самом деле вы не можете уйти раньше, не сгенерировав ошибку (исключение), которая перехватывается Vim.
Либо используйте if len(data) >= 0:
и сделайте отступ в следующем блоке, либо поместите все внутри функции, используйте return
для выхода и вызова функции в конце блока.