我使用的是用+python/dyn
和+python3/dyn
1编译的Vim。我不再使用Python2,也不希望Vim使用Python2,但它似乎在Python3之前找到Python2并使用它
我在其他地方读到,如果在我的.vimrc
的顶部,我包括:
if has('python3')
endif
然后Vim将使用Python3。不幸的是,这不是我的经历。当我在.vimrc
的顶部包含它时,Vim仍然会首先找到Python2,从而忽略Python3
1我对gui和命令行都使用预编译的MacVim
Tags:
问题
Vim在Python2.x和3.x接口上的问题是,它只能使用其中一个:
:python
会阻止进一步使用:python3
:python3
的首次使用阻止了:python
的进一步使用李>黑客
has('python3')
应该作为副作用加载3.x接口,因此,如果在初始化过程中很早就进行了攻击,那么攻击的重点是确保首先加载3.x接口。它本质上与执行类似:py3 ...
的操作相同:它所做的只是使:py
不可用麦克维姆很特别
MacVim不是用
python
或python3
特性构建的,因此has('python')
和has('python3')
将始终返回0
相反,您有
python_dynamic
和python3_dynamic
,它们可以用相同的方法进行测试:但这有几个问题:
has('python3_dynamic')
没有与{has('python3_dynamic')
和has('python_dynamic')
将始终为真,因为它们测试的是始终存在的特性李>现实检查
在任何情况下,
:python
系列的命令总是使用Python2.x,因此,如果您试图将Python3.x与:py
一起使用,您可以立即停止使用,因为Python3.x只能通过:python3
和:pythonx
系列命令使用黑客和妥协
如果您只想确保
:py3
和朋友可用,一种方法是执行以下操作:靠近
vimrc
的顶部,这将提前加载3.x接口,从而阻止进一步加载2.x接口,从而中断:py
和朋友另一种方法是在3.x接口上使用
:pythonx
系列命令:有关更多信息,请参见
:help python-2-and-3
相关问题 更多 >
编程相关推荐