我的 vim 对“python”的支持出现了问题。
我在 Ubuntu 11.04 中安装了 gnome-vim,理论上它有“python”支持,但如果我安装病原和郡都,当我按 F5 时,显示以下消息:
Error detected while processing /home/perseus/Coding/LinuxConfigFiles/.vim/bundle/gundo/autoload/gundo.vim:
line 22:
E837: This Vim cannot execute :py3 after using :python
line 30:
E121: Undefined variable: s:has_supported_python
E15: Invalid expression: !s:has_supported_python
Error detected while processing function gundo#GundoToggle..<SNR>26_GundoToggle..<SNR>26_GundoOpen:
line 2:
E121: Undefined variable: s:has_supported_python
E15: Invalid expression: s:has_supported_python == 2
line 10:
E121: Undefined variable: s:has_supported_python
"__Gundo_Preview__" [New File]
Error detected while processing function gundo#GundoToggle..<SNR>26_GundoToggle..<SNR>26_GundoOpen..<SNR>26_GundoRenderGraph:
line 1:
E121: Undefined variable: s:has_supported_python
E15: Invalid expression: s:has_supported_python == 2
Error detected while processing function gundo#GundoToggle..<SNR>26_GundoToggle..<SNR>26_GundoOpen..<SNR>26_GundoRenderPreview:
line 1:
E121: Undefined variable: s:has_supported_python
E15: Invalid expression: s:has_supported_python == 2
谁知道怎么修它?
答案1
为了使它现在能够正常工作(支持 python3),您需要将以下变量添加到您的.vimrc
:
let g:gundo_prefer_python3 = 1
否则,您会遇到类似以下错误:“E117:未知函数:gundo#GundoShow”
答案2
我假设一个类似 Debian 的环境
得到vim 源代码。我使用 mercurial 下载了源代码。如果你没有安装它:
安装 mercurial
然后,使用 mercurial 获取源代码
hg clone https://vim.googlecode.com/hg/ ~/vimpy2.7
安装了 Python 2.7 和 Python 库
apt-get 安装 python python-dev
使用以下命令进行编译
cd ~/vimpy2.7
./configure --with-features=huge --enable-pythoninterp --with-python-config-dir=/usr/lib/python2.7/config安装
制作
制作安装
观察:必须以 root 身份运行make install
如果一切正常,vim 必须安装在 /usr/local/vim。输入 ./usr/local/vim,在 vim 中输入:version
并验证+python
答案3
我遇到了和你一样的错误。
显然,最近更改Gundo 启用 Python 3 支持却破坏了它。
斯特拉辛加·马尔科维奇已经 fork 了 Steve Losh 的 repo,请求修复至少在 Steve 修复该错误之前,我建议你使用Strahinja 的仓库相反,它对我来说效果很好。