Właśnie wykonałem te instrukcje, aby skompilować vima z Pythonem 3: https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source
Po instalacji sprawdziłem, czy mam python3:
vim --version | grep "python"
Który zwrócił:
+python3/dyn
i
+python/dyn
Ale kiedy uruchamiam vima i wpisuję jedno z następujących poleceń, otrzymuję 0
:
:echo has('python3/dyn')
:echo has('python3')
:echo has('python')
:echo has('python/dyn')
Czy ktoś miał podobny problem?
EDYCJA: Hej chłopaki, wiele pomocnych komentarzy, chciałem tylko podziękować i dać Wam znać, co zrobiłem, aby to rozwiązać. Ponownie podążyłem za instrukcją z pierwszego podanego linku, ale tym razem usunąłem vim.tiny i zamiast próbować uzyskać vima do obsługi zarówno python2, jak i python3, po prostu buduję z obsługą python3. To naprawiło to
Pisanie na maszynie
python3 print("works")
w vim, pokazuje works
. Pisanie na maszynie
echo has('python3')
daje mi wynik 1
i wreszcie
vim --version | grep python3
Daje mi wartość +python3
Dzięki chłopaki za wszelką pomoc i sugestie !!
źródło
:python print "works"
.; to najlepszy test (przynajmniej interaktywnie; w skrypcie wolałbymhas('python')
, który powinien zadziałać.Odpowiedzi:
To oczekiwany wynik. Nie ma testów
has('python/dyn')
ihas('python3/dyn')
tylkohas('python')
ihas('python3')
.źródło
has()
więc… nie używajhas()
.has()
Under:help feature-list
?has('python')
zwraca1
dla+python
i+python/dyn
. To samo dotyczyhas('python3')
i+python3
/+python3/dyn
. Równieżhas('python/dyn')
ihas('python3/dyn')
zawsze wrócić0
, czy funkcja istnieje, czy nie. Wniosek: nie możesz użyćhas()
do ustalenia, czy masz,+python[3]/dyn
ani Sato Katsura, ani ja nie wiemy, jak poprawnie sformatować argument./dyn
kontroli, zwłaszcza, żehas('python')
ładuje bibliotekę Python, co oznacza, że wtedy nie możesz używaćpython3
i na odwrót.