Ich habe gerade diese Anweisungen befolgt, um vim mit Python 3 zu kompilieren: https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source
Nach der Installation habe ich überprüft, ob ich python3 habe:
vim --version | grep "python"
Welches zurückgegeben:
+python3/dyn
und
+python/dyn
Aber wenn ich vim starte und einen der followinf Befehle eingebe, bekomme ich ein 0
:
:echo has('python3/dyn')
:echo has('python3')
:echo has('python')
:echo has('python/dyn')
Hat jemand ein ähnliches Problem gehabt?
EDIT: Hey Leute, viele hilfreiche Kommentare, ich wollte nur Danke sagen und euch wissen lassen, was ich getan habe, um das zu lösen. Ich habe die Anweisung von dem ersten Link an, den ich bereitgestellt habe, erneut befolgt, aber dieses Mal habe ich vim.tiny entfernt und anstatt zu versuchen, vim dazu zu bringen, sowohl Python2 als auch Python3 zu unterstützen, habe ich nur mit Python3-Unterstützung gebaut. Das hat es behoben
Tippen
python3 print("works")
in vim zeigt works
. Tippen
echo has('python3')
gibt mir eine Ausgabe von 1
und schließlich
vim --version | grep python3
Gibt mir einen Wert von +python3
Danke Jungs für all die Hilfe und Vorschläge !!
quelle
:python print "works"
. Das ist der beste Test (zumindest interaktiv; in einem Skript würde ich es vorziehenhas('python')
, das funktionieren sollte.Antworten:
Dies ist das erwartete Ergebnis. Es gibt keine Tests
has('python/dyn')
undhas('python3/dyn')
nurhas('python')
undhas('python3')
.quelle
has()
also ... nicht verwendenhas()
.has()
unter überprüft werden kann:help feature-list
?has('python')
kehrt1
für+python
und zurück+python/dyn
. Gleiches fürhas('python3')
und+python3
/+python3/dyn
. Auchhas('python/dyn')
undhas('python3/dyn')
immer zurück0
, ob die Funktion vorhanden ist oder nicht. Fazit: Entweder können Sie nichthas()
bestimmen, ob Sie+python[3]/dyn
das Argument haben, oder weder Sato Katsura noch ich wissen, wie Sie es richtig formatieren./dyn
Überprüfungen zu unterstützen , zumalhas('python')
die Python-Bibliothek geladen wird, was bedeutet, dass Sie sie dann nicht verwenden könnenpython3
, und umgekehrt.