Saya baru saja mengikuti instruksi ini untuk mengkompilasi vim dengan python 3: https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source
Setelah menginstal saya memeriksa untuk melihat apakah saya punya python3:
vim --version | grep "python"
Yang dikembalikan:
+python3/dyn
dan
+python/dyn
Tetapi ketika saya memulai vim dan mengetik salah satu perintah followinf, saya mendapatkan 0
:
:echo has('python3/dyn')
:echo has('python3')
:echo has('python')
:echo has('python/dyn')
Adakah yang punya masalah serupa?
EDIT: Hai banyak komentar bermanfaat, saya hanya ingin mengucapkan terima kasih dan memberi tahu kalian apa yang telah saya lakukan untuk menyelesaikan ini. Saya mengikuti instruksi lagi dari tautan pertama yang saya berikan tetapi kali ini saya menghapus vim.tiny dan alih-alih mencoba mendapatkan vim untuk mendukung python2 dan python3, saya hanya membangun dengan dukungan python3. Ini memperbaikinya
Mengetik
python3 print("works")
dalam vim, pertunjukan works
. Mengetik
echo has('python3')
memberi saya output 1
dan akhirnya
vim --version | grep python3
Memberiku nilai +python3
Terima kasih kawan atas semua bantuan dan sarannya !!
sumber
:python print "works"
; itu tes terbaik (setidaknya secara interaktif; dalam naskah saya lebih sukahas('python')
, yang seharusnya bekerja.Jawaban:
Ini adalah hasil yang diharapkan. Tidak ada tes
has('python/dyn')
danhas('python3/dyn')
, hanyahas('python')
danhas('python3')
.sumber
has()
begitu ... jangan gunakanhas()
.has()
bawah:help feature-list
?has('python')
kembali1
untuk+python
dan+python/dyn
. Hal yang sama untukhas('python3')
dan+python3
/+python3/dyn
. Juga,has('python/dyn')
danhas('python3/dyn')
selalu kembali0
, apakah fitur tersebut ada atau tidak. Kesimpulan: Anda tidak dapat menggunakanhas()
untuk menentukan apakah Anda memiliki+python[3]/dyn
atau tidak Sato Katsura atau saya tidak tahu bagaimana memformat argumen dengan benar./dyn
pemeriksaan, terutama karenahas('python')
memuat pustaka Python, yang berarti Anda tidak dapat menggunakanpython3
, dan sebaliknya.