通过Homebrew安装支持Python和Python3的Vim

7

我希望在Vim中启用Python自动补全,因此这可能不是一个问题。这是我观察到的:

首先,虚拟环境提供了按项目分配解释器的功能。假设Python 2.x和3.x都可能被使用。

我已经安装了Python 2.x和Python 3.x - 没有任何问题。

在通过Homebrew安装Vim时,无论发生什么情况,只支持一个解释器的编译:

/usr/local/bin/vim --version
...
  • +python3 -python,或者
  • -python3 +python

问题:为了实现Python自动补全:

  1. 这是一个真正的问题吗?
  2. 如果是,解决方案是什么?

1
如果你想在Python 2和Python 3中都进行自动补全,可能会出现问题。然而,你可能能够找到一个插件,这个插件可以不依赖内置的Python解释器进行自动补全。 - lcd047
1个回答

16

Vim编译时同时包含两个Python版本或使用“dynamic”选项仅适用于Windows版本。Mac/*nix等系统只能使用一个Python版本。

我的解决方法是编译两个不同的Vim,每个都使用一个Python版本,然后在我的.vimrc文件中创建版本检查以使它们兼容。

if has('python')
  let g:jedi#force_py_version = 2
  let g:syntastic_python_python_exec = 'python2'
  let g:pymode_python = 'python2'
elseif has('python3')
  let g:jedi#force_py_version = 3
  let g:syntastic_python_python_exec = 'python3'
  let g:pymode_python = 'python3'
else
  let g:loaded_jedi = 1
endif

当然,根据您安装的任何特定于Python的插件或函数进行修改。


太棒了,我希望我能给你超过1个赞。谢谢。 - todd_dsm
2
我认为这已经过时了:现在似乎可以在 macOS 上使用 --enable-pythoninterp=dynamic--enable-python3interp=dynamic 编译 Vim。 - A S
@A-S 在 Vim 的后期版本中是真的。我在这里放的片段是针对旧版本的。尽管如此,我仍然将其放在我的基本“vim”设置中,因为我工作的几个服务器只有非常老的版本和配置。一些服务器仍然是古老的 Linux 版本,因为它们是生产服务器,禁止更改。这种“如果它没有坏,就不要修理它”的观点。 :| - Cometsong

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接