В моем .vimrc
и моем VIM плагине UltiSnips У меня есть много кода, который выглядит, как этотСовместимый способ использования: py OR: py3 в vim?
:py << EOF
print("Hi")
EOF
Теперь я хочу, чтобы проверить, если python3 компилируется в Vim с помощью has("python3")
, а затем использовать :py3
вместо :py
, Сохранение кода python, совместимого между python 2 и 3, не является проблемой - проблема заключается в том, чтобы сказать vim: py3, если он доступен, и: py в противном случае.
Есть ли у кого-то хорошая идея?
Очевидным способом было бы иметь 'if has (" python3 ")' каждый раз, когда вы хотите использовать ': py3'. – romainl
Или, может быть, функция-обертка, которая принимает код Python, который вы хотите запустить как аргумент, и выполняет одиночный 'if'. – romainl
Ваш первый комментарий - очевидное решение, которое я выбрал сейчас. Второй комментарий - это то, что я хотел сделать, но я не знаю, как сделать функцию, определенную пользователем, принятой синтаксисом heredoc (<< EOF). Вы? – SirVer