Acabei de seguir estas instruções para compilar o vim com python 3: https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source
Após a instalação, verifiquei se tenho o python3:
vim --version | grep "python"
O que retornou:
+python3/dyn
e
+python/dyn
Mas quando inicio o vim e digito um dos comandos followinf, recebo um 0
:
:echo has('python3/dyn')
:echo has('python3')
:echo has('python')
:echo has('python/dyn')
Alguém teve um problema similar?
EDIT: Ei, pessoal, muitos comentários úteis, eu só queria agradecer e informar o que eu fiz para resolver isso. Segui as instruções novamente a partir do primeiro link que forneci, mas desta vez removi o vim.tiny e, em vez de tentar obter o vim para suportar python2 e python3, apenas desenvolvi com o suporte python3. Isso consertou
Digitando
python3 print("works")
no vim, mostra works
. Digitando
echo has('python3')
me dá uma saída 1
e, finalmente,
vim --version | grep python3
Dá-me um valor de +python3
Obrigado pessoal por toda a ajuda e sugestões !!
fonte
:python print "works"
; esse é o melhor teste (pelo menos interativamente; em um script que eu prefeririahas('python')
, o que deve funcionar.Respostas:
Este é o resultado esperado. Não há testes
has('python/dyn')
ehas('python3/dyn')
, apenashas('python')
ehas('python3')
.fonte
has()
isso ... não usehas()
.has()
abaixo:help feature-list
?has('python')
retorna1
para+python
e+python/dyn
. A mesma coisa parahas('python3')
e+python3
/+python3/dyn
. Além disso,has('python/dyn')
ehas('python3/dyn')
sempre retorne0
, independentemente de o recurso estar presente ou não. Conclusão: você não podehas()
determinar se possui+python[3]/dyn
ou Sato Katsura e eu não sabemos como formatar o argumento corretamente./dyn
verificações, especialmente porquehas('python')
carrega a biblioteca Python, o que significa que você não pode usá-lopython3
e vice-versa.