2015-04-23 14 views
5

Tüm Django projelerim için Vim'i birincil düzenleyici/IDE olarak kullanıyorum. YouCompleteMe, sözdizimi ve diğer birkaç eklentiyi kullanma. Deneyim harika.python3'e geçiş konusunda bazı önerilerde bulunmanız gerekiyor

ben dünyanın Py3k taşınıyor olarak python3 ile tüm yeni projeleri başlatmak için karar verdik. Ama vim python'un her iki versiyonunda da doğru oynamıyor.

Python her iki sürümü ile derlenmiş ediyorum.

vim --version | grep python 
+cryptv   +linebreak  +python/dyn  +viminfo 
+cscope   +lispindent  +python3/dyn  +vreplace 

YouCompletePython3'ü henüz desteklemiyoruz. jedi-vim her iki sürümde de çalışıyor ancak ben sadece doğru değil.

Genellikle herhangi eklenti olmadan ben py/PY3 komutunun herhangi çağırabilirsiniz. Ama jedi-vim'i etkinleştirerek otomatik olarak sistem pythonunu2 çağırır. Ben vim olarak yöneticisi eklentisi Vundle kullanıyorum

.

Eğer python3 gelişimi için vim (veya her iki sürümü) kullanmak için vimrc/diğer yapılandırmaları/geçici çözümleri paylaşan lütfen

bu benim için çok yararlı olacak.

Teşekkürler. Başkalarının yorumların çıkış noktası

+0

var mı Bu soruya Django özgü? (Örneğin, YouCompleteMe Django projelerini veya bir şeyleri desteklemek için ekstra işleve sahip mi?) Yoksa etiketi kaldırmanız gerekir; Django hakkında hiçbir şey bilmese bile, Python 3.x ve vim konusunda uzman olan herkesin cevaplarını çekmek istersiniz. (Bu arada, sizin için kesinlikle istediğiniz python-3.x' etiketini ekledim.) – abarnert

+0

Teşekkürler. Django etiketini kaldırdım. – moonstruck

+0

Sadece bunu python3 geliştirme için kullanıyor musunuz? Aslında python3 gerektiren herhangi bir eklentiniz var mı? ': Python-2 ve 3' yardımını okuduğunuzdan emin olun, ikinci yorumlayıcının yüklenememesine neden olan durumlar (yorumlayıcıda sembol çarpıştığında) vardır. (Sadece aranan ilk tercüman yüklenecektir). Bu soruya sadece python (2) desteğine gerçekten ihtiyacın var gibi geliyor. – FDinoff

cevap

5

, sen Python3 geçmek amacıyla Vim yapılandırma açısından fazla bir değişiklik gerekmez. Yapmanız gereken şey, gömülü Python (lar) kullanan eklentileri tanımlamak, Python2 ve Python3'ü desteklediklerini bulmak ve Python3'ü tercih etmelerini ve yalnızca Python2 ile çalışmayı kesmelerini söylemek. eklentileri kullanıyorum İçin

:

  • gundo: let g:gundo_prefer_python3 = 1
  • jedi: let g:jedi#force_py_version = 3
  • syntastic: Bütün dama let g:syntastic_python_python_exec = 'python3' ve yüklemek Python3 versiyonları
  • piton-modu: let g:pymode_python = 'python3'
  • YouCompleteMe: Python3 ile çalışmaz. Ayrıca

, güzel sen py ve py3 komutlarla VIML dosyalarını düzenlemek planlıyorsanız sahip olmak: mükemmel SyntaxRange yükleyin ve after/syntax/vim.vim bu ekleyin: şey

call SyntaxRange#Include('\C\v<py\%(thon)?3?\s+\<\<\s*[A-Z]{3,}\zs$', '\C\v^[A-Z]{3,}$', 'python')

+0

Eklentimi önerdiğiniz için teşekkür ederiz! Fakat yerleşik 'syntax/vim.vim' gömülü Python (2/3) bloklarını zaten desteklemiyor (g: vimsyn_embed' yoluyla yapılandırılabilir)? –

+0

@Ingo Karkat: Bunu bilmiyordum. Görünüşe göre, buna müdahale eden bir eklentim var, bu yüzden varsayılan olarak çalışması gerektiğini fark etmedim. Tamam, cevabımı düzenledim. – lcd047

İlgili konular