Я просто следовал этим инструкциям для компиляции vim с python 3: https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source
После установки я проверил, есть ли у меня python3:
vim --version | grep "python"
Который вернулся:
+python3/dyn
и
+python/dyn
Но когда я запускаю vim и набираю одну из следующих команд followinf, я получаю 0
:
:echo has('python3/dyn')
:echo has('python3')
:echo has('python')
:echo has('python/dyn')
У кого-нибудь была подобная проблема?
РЕДАКТИРОВАТЬ: Привет, ребята, много полезных комментариев, я просто хотел поблагодарить вас и дать вам знать, что я сделал, чтобы решить эту проблему. Я снова последовал инструкции по первой ссылке, которую я предоставил, но на этот раз я удалил vim.tiny и вместо того, чтобы пытаться заставить vim поддерживать и python2, и python3, я просто собираю с поддержкой python3. Это исправило
Typing
python3 print("works")
в VIM, показывает works
. Typing
echo has('python3')
дает мне вывод 1
и, наконец,
vim --version | grep python3
Дает мне значение +python3
Спасибо, ребята, за помощь и предложения!
источник
:python print "works"
; это лучший тест (по крайней мере, в интерактивном режиме; в сценарии, который я бы предпочелhas('python')
, который должен работать.Ответы:
Это ожидаемый результат. Нет тестов
has('python/dyn')
иhas('python3/dyn')
, толькоhas('python')
иhas('python3')
.источник
has()
таким ... не используйтеhas()
.has()
under:help feature-list
?has('python')
возвращается1
за+python
и+python/dyn
. То же самое дляhas('python3')
и+python3
/+python3/dyn
. Кроме того,has('python/dyn')
иhas('python3/dyn')
всегда возвращайте0
, есть ли функция там или нет. Вывод: либо вы не можете использовать,has()
чтобы определить, есть ли у вас+python[3]/dyn
Сато Кацура, либо я не знаю, как правильно форматировать аргумент./dyn
проверки, особенноhas('python')
если загружать библиотеку Python, а это значит, что вы не сможете ее использоватьpython3
, и наоборот.