Acabo de seguir estas instrucciones para compilar vim con Python 3: https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source
Después de la instalación, verifiqué si tengo python3:
vim --version | grep "python"
Que volvió:
+python3/dyn
y
+python/dyn
Pero cuando inicio vim y escribo uno de los comandos followinf, obtengo un 0
:
:echo has('python3/dyn')
:echo has('python3')
:echo has('python')
:echo has('python/dyn')
¿Alguien tiene un problema similar?
EDITAR: Hola chicos, muchos comentarios útiles, solo quería decir gracias y decirles lo que hice para resolver esto. Seguí las instrucciones nuevamente desde el primer enlace que proporcioné, pero esta vez eliminé vim.tiny y, en lugar de intentar que vim sea compatible con python2 y python3, simplemente construí con el soporte de python3. Esto lo arregló
Mecanografía
python3 print("works")
en vim, espectáculos works
. Mecanografía
echo has('python3')
me da una salida de 1
y finalmente
vim --version | grep python3
Me da un valor de +python3
¡Gracias a todos por toda la ayuda y sugerencias!
fuente
:python print "works"
; esa es la mejor prueba (al menos interactivamente; en un guión preferiríahas('python')
, que debería funcionar.)Respuestas:
Este es el resultado esperado. No hay pruebas
has('python/dyn')
yhas('python3/dyn')
, solohas('python')
yhas('python3')
.fuente
has()
... así que no lo useshas()
.has()
under:help feature-list
?has('python')
vuelve1
para+python
y+python/dyn
. Lo mismo parahas('python3')
y+python3
/+python3/dyn
. Además,has('python/dyn')
yhas('python3/dyn')
siempre regresa0
, ya sea que la función esté allí o no. Conclusión: no puedes usarhas()
para determinar si tienes+python[3]/dyn
Sato Katsura ni yo sabemos cómo formatear el argumento correctamente./dyn
comprobaciones, especialmente porquehas('python')
carga la biblioteca de Python, lo que significa que no puede usarpython3
, y viceversa.