Je viens de suivre ces instructions pour compiler vim avec python 3: https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source
Après l'installation, j'ai vérifié si j'avais python3:
vim --version | grep "python"
Qui a renvoyé:
+python3/dyn
et
+python/dyn
Mais quand je démarre vim et tape l'une des commandes suivantes, j'obtiens un 0
:
:echo has('python3/dyn')
:echo has('python3')
:echo has('python')
:echo has('python/dyn')
Quelqu'un at-il eu un problème similaire?
EDIT: Hé les gars beaucoup de commentaires utiles, je voulais juste dire merci et vous faire savoir ce que j'ai fait pour résoudre ce problème. J'ai à nouveau suivi les instructions du premier lien que j'ai fourni, mais cette fois j'ai supprimé vim.tiny et au lieu d'essayer d'obtenir que vim prenne en charge à la fois python2 et python3, je construis simplement avec le support python3. Cela l'a corrigé
Dactylographie
python3 print("works")
à vim, montre works
. Dactylographie
echo has('python3')
me donne une sortie de 1
et enfin
vim --version | grep python3
Me donne une valeur de +python3
Merci les gars pour toute l'aide et les suggestions !!
la source
:python print "works"
; c'est le meilleur test (au moins interactivement; dans un script que je préféreraishas('python')
, qui devrait fonctionner.Réponses:
C'est le résultat attendu. Il n'y a pas de tests
has('python/dyn')
ethas('python3/dyn')
, seulementhas('python')
ethas('python3')
.la source
has()
donc… ne l'utilisez pashas()
.has()
sous:help feature-list
?has('python')
renvoie1
pour+python
et+python/dyn
. Même chose pourhas('python3')
et+python3
/+python3/dyn
. Aussi,has('python/dyn')
ethas('python3/dyn')
revenez toujours0
, que la fonctionnalité soit présente ou non. Conclusion: soit vous ne pouvez pas utiliserhas()
pour déterminer si vous avez+python[3]/dyn
ou ni Sato Katsura ni moi ne savons comment formater correctement l'argument./dyn
vérifications, d'autant plus quehas('python')
charge la bibliothèque Python, ce qui signifie que vous ne pouvez alors pas l'utiliserpython3
, et vice-versa.