Vim 脚本 Gundo 无法正常工作

Vim 脚本 Gundo 无法正常工作

我的 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 的环境

  1. 得到vim 源代码。我使用 mercurial 下载了源代码。如果你没有安装它:

    安装 mercurial

    然后,使用 mercurial 获取源代码

    hg clone https://vim.googlecode.com/hg/ ~/vimpy2.7

  2. 安装了 Python 2.7 和 Python 库

    apt-get 安装 python python-dev

  3. 使用以下命令进行编译

    cd ~/vimpy2.7
    ./configure --with-features=huge --enable-pythoninterp --with-python-config-dir=/usr/lib/python2.7/config

  4. 安装

    制作
    制作安装

观察:必须以 root 身份运行make install

如果一切正常,vim 必须安装在 /usr/local/vim。输入 ./usr/local/vim,在 vim 中输入:version并验证+python

答案3

我遇到了和你一样的错误。

显然,最近更改Gundo 启用 Python 3 支持却破坏了它。

斯特拉辛加·马尔科维奇已经 fork 了 Steve Losh 的 repo,请求修复至少在 Steve 修复该错误之前,我建议你使用Strahinja 的仓库相反,它对我来说效果很好。

相关内容