兼容的方式:在vim中使用py OR:py3?

Sir*_*Ver 7 python vim python-3.x ultisnips

在我.vimrc和我的vim插件UltiSnips中,我有很多看起来像这样的代码

:py << EOF
print("Hi")
EOF
Run Code Online (Sandbox Code Playgroud)

现在,我想检查python3是否已编译到Vim中has("python3"),然后使用:py3而不是:py.保持python 2和3之间的python代码兼容不是问题 - 问题是告诉vim使用:py3 if available is和:py否则.

有人有个好主意吗?

Ida*_*rye 6

您可以利用vim中用户定义的命令只是place-in-patter-and-eval语句,并写入:

if has("python3")
    command! -nargs=1 Py py3 <args>
else
    command! -nargs=1 Py py <args>
endif
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用:Py与经常使用:py或运行相同的方式运行python命令:py3.