2012-06-02 30 views

回答

48

我刚刚发现here,你也可以用

:python import sys; print(sys.version) 
+2

使用':python3 import sys; print(sys.version)'如果你已经用python 3编译Vim了。 –

9

我想你想要这样的:

类型:

:python << EOF 
import sys; 
print(sys.version); 
EOF 

如果Vim编译与蟒蛇,当你在命令行中键入:python << EOF,在命令行将会换行扩大和等待EOF。在EOF之前,键入您的python代码,并以EOF结束。

编辑:正如你已经发现,在EOF是不必要的,你可以在一个单一的线,没有引号和-c脚本。 EOF技巧非常适合在命令行中测试python/VIM脚本。

+0

+1。到目前为止的答案中,你知道他们是否都使用vim编译的版本,而不是系统vim? – beardc

+0

不知道我跟着你。什么?在vim中键入':!anyCommand'会调用外部(系统)命令,例如'!python'。 ':python'(internal)只有在Python脚本支持已经被编译到vim中时才可用。 – pb2q

+0

谢谢,我基本上只是询问哪些pythons':!python'和':python'被引用。 – beardc

0

运行:ve[rsion]做到在command-line modeBash运行vim --version

  1. 如果vim与Python的3编译,你会发现-python+python3
  2. 如果vim编译为与Python 2,你会发现+python-python3
  3. 如果vim编译没有Python的支持,你会发现-python-python3

我不知道是否有可能找到既+python+python3:ve输出 - 目前probably not


目前-python-python3seems是默认Debian'svim package。如果您需要vim对脚本语言的支持,请安装专用于它们的vim-nox,因此启用了(其中包括)+python3。还有一个有趣的,重重构造的vim分叉neovim(或简称nvim)。 BTW:在Debian上,您可以通过运行update-alternatives --list vim列出所有已安装的vim版本。