如何检查vim编译的python版本?

bea*_*rdc 31 python vim

在终端,它的工作原理

python -c "import sys; print(sys.version)"
Run Code Online (Sandbox Code Playgroud)

但是做

:python -c "import sys; print(sys.version)"
Run Code Online (Sandbox Code Playgroud)

在vim中抛出一个SyntaxError.

bea*_*rdc 57

我刚刚在这里发现你也可以做到

:python import sys; print(sys.version)
Run Code Online (Sandbox Code Playgroud)

  • 使用`:python3 import sys; print(sys.version)`如果你用python 3编译了Vim. (7认同)

pb2*_*b2q 9

我想你想要这个:

类型:

:python << EOF
import sys;
print(sys.version);
EOF
Run Code Online (Sandbox Code Playgroud)

如果vim是使用python编译的,当您:python << EOF在命令行中输入时,命令行将使用换行符展开并等待EOF.在EOF之前,键入您的python代码,并以EOF结束.

编辑:正如您已经发现的那样,这EOF是不必要的,您可以将您的脚本放在一行,没有引号和-c.EOF技巧很适合在命令行中测试python/VIM脚本.


pat*_*eza 6

运行:ve[rsion]命令行模式或运行vim --version

  1. 如果vim用 Python 3编译的,你会发现-python+python3
  2. 如果vim用 Python 2编译的,你会发现+python-python3
  3. 如果vim没有 Python支持的情况下编译,您会发现-python-python31 .

我不确定是否可以在输出中同时找到+python和- 目前可能不是+python3:ve


1目前-python-python3 似乎Debian vim软件包的默认设置。如果您需要vim对脚本语言的支持,请 install vim-nox,它专用于脚本语言,因此已+python3启用(除其他外)。还有一个有趣的、经过大量重构的vim分支,称为neovim(或nvim简称)。顺便说一句:在Debian 上,您可以vim通过运行列出所有已安装的版本update-alternatives --list vim