Vim技术求助:如何强制让Vim优先使用Python3而非Python2
解决Vim优先使用Python3而非Python2的问题
我之前也碰到过一模一样的情况——MacVim和命令行Vim都编译了Python2和Python3的动态支持,但系统默认总是优先加载Python2,哪怕已经完全不用它了。你之前加的if has('python3') endif其实只是做了个支持性检查,并不会改变Vim选择Python版本的优先级,所以没效果很正常。这里有几个实用的解决办法:
强制指定Python3路径(最推荐)
在你的.vimrc文件里添加以下配置,直接告诉Vim要使用的Python3解释器路径:if has('python3') # 替换成你系统中Python3的实际路径,可以用`which python3`命令查询 let g:python_host_prog = '/usr/bin/python3' let g:python3_host_prog = '/usr/bin/python3' endif这样不管系统里的
python指向哪个版本,Vim都会乖乖用你指定的Python3。调整系统环境变量,让
python指向Python3
如果你希望整个系统的python命令都默认调用Python3,可以修改你的shell配置文件(比如~/.zshrc或者~/.bash_profile),添加:alias python=python3 # 如果你的Python3安装在非默认路径,比如Homebrew的路径,加上这个 export PATH="/opt/homebrew/bin:$PATH"保存后执行
source ~/.zshrc(对应你的shell)生效,之后Vim启动时就会优先找到Python3了。重新编译Vim,移除Python2支持
如果你有编译Vim的条件,干脆直接编译一个只支持Python3的版本,彻底解决优先级问题:# 先进入Vim源码目录 ./configure --enable-python3interp=dynamic --disable-pythoninterp make && sudo make install这样编译出来的Vim就只会加载Python3动态库,再也不会碰Python2了。
内容的提问来源于stack exchange,提问作者jlconlin
相关产品推荐
相关产品推荐

