3

我从官方 VIM.org 网站下载了 gVim73_46.exe 并安装了它的完整组件,我使用 Python 3.2 进行开发(但如果它更有可能与 VIM 一起使用,我会选择 3.1)。

运行vim --version命令给了我一个-python -python3结果。但是,:echo has("python")在 Vim 中运行会给出1(True)。这是否意味着我的 Vim 是为支持 Python 2 而构建的?

至于 Python 3,运行:py3命令会给出E370: Could not load library python31.dll. 这是否意味着它是为支持 Python 3.1 而构建的?如果是,我可以让它使用我的 3.2 吗?

如果没有,是否有任何资源可以获得支持 Python 3 ( +python3) 的预编译 Windows 二进制文件?

4

2 回答 2

2

来自:help python3

Vim can be built in four ways (:version output):
1. No Python support        (-python, -python3)
2. Python 2 support only    (+python or +python/dyn, -python3)
3. Python 3 support only    (-python, +python3 or +python3/dyn)
4. Python 2 and 3 support   (+python/dyn, +python3/dyn)

When Python 2 and Python 3 are both supported they must be loaded dynamically. 

运行 :py3 命令给出 E370: 无法加载库 python31.dll。这是否意味着它是为支持 Python 3.1 而构建的?

是的。如果你得到 python 3.1 并正确设置你的路径,vim 应该有 python。

我可以让它使用我的 3.2 吗?

不,vim 被编译为期望某个接口,所以你需要一个匹配的库。

于 2012-07-31T03:00:44.267 回答
1

@pydave 正确回答了你的问题,我只能另外建议使用另一个版本的 vim:http ://tuxproject.de.nyud.net/projects/vim/ 。它使用几乎最新版本的解释器编译,包括 Python-3.2.3。它还使用最新的 vim-7.3.618,其中包含我扩展 python/python3 解释器支持的补丁(pyeval()/py3eval()函数和vim.bindeval())。

更新:它似乎已移至http://tuxproject.de/projects/vim/,但我不再使用预编译的二进制文件(有一个为我交叉编译它们的脚本)因此无法验证这是真的。

于 2012-07-31T04:37:05.167 回答