38

在终端中,它可以做

python -c "import sys; print(sys.version)"

但做

:python -c "import sys; print(sys.version)"

在 vim 中抛出一个 SyntaxError。

4

4 回答 4

67

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

:python import sys; print(sys.version)
于 2012-06-02T16:44:18.383 回答
10

我想你想要这个:

类型:

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

如果 vim 是用 python 编译的,当你输入:python << EOF命令行时,命令行会用换行符展开并等待 EOF。在 EOF 之前,键入您的 python 代码,并以 EOF 终止。

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

:python import sys; print(sys.version);
于 2012-06-02T16:39:35.040 回答
8

:ve[rsion]命令行模式下运行或vim --versionBash运行。

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

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


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

于 2017-09-13T21:48:44.587 回答
-1

你可以python --version直接在 Vim 中运行:

  1. 打开vim。
  2. 在正常模式(非插入模式)下,键入:!python --version.
  3. 输入。

显示 python 的版本。

于 2020-07-25T07:35:53.770 回答