在终端中执行以下命令可正常运行
python -c "import sys; print(sys.version)"
但是正在做
:python -c "import sys; print(sys.version)"
在vim中会抛出SyntaxError。
在命令行模式下运行:ve[rsion]
或从Bash中运行vim --version
。
vim
编译时使用了 Python 3,你会发现 -python
和 +python3
。vim
编译时使用了 Python 2,你会发现 +python
和 -python3
。vim
没有编译支持 Python,则会发现 -python
和 -python3
1。我不确定是否可能在:ve
输出中同时找到+python
和+python3
- 目前可能不行。
1目前,在Debian vim
package中,-python
和-python3
似乎是默认设置。如果您需要vim
支持脚本语言,请安装vim-nox
,该软件包专门为它们提供支持,并启用了(除其他功能外)+python3
。还有一个经过大量重构的vim
分支叫做neovim
(或简称nvim
)。顺便说一下:在Debian上,您可以通过运行update-alternatives --list vim
来列出所有已安装的vim
版本。
: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);
:!anyCommand
将调用外部(系统)命令,例如:!python
。只有在vim中编译了Python脚本支持时,才会提供:python
(内部)。 - pb2q:!python
和 :python
分别指的是哪个 Python 版本。 - beardc<< EOF
从来没有显示出^M
。 - pb2qpython --version
命令来查看 Python 版本:
:!python --version
。Python 的版本将被显示出来。
:python3 import sys; print(sys.version)
。请注意,翻译文本保留了原始意思和专业术语,同时努力使其更加通俗易懂。 - Frederik Aalund