2015-04-23 6 views
5

Sto usando Vim come mio editor/IDE principale per tutti i miei progetti Django. Usando YouCompleteMe, syntastic e un paio di altri plug-in. L'esperienza è fantastica.Ho bisogno di qualche consiglio vim sul passaggio a python3

Ho deciso di avviare tutti i nuovi progetti con python3 mentre il mondo si sta spostando su Py3K. Ma Vim non sta giocando bene con entrambe le versioni di Python.

Sono compilato con entrambe le versioni di Python.

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

YouCompleteMe non supporta ancora python3. jedi-vim funziona con entrambe le versioni, ma non sto solo facendo le cose per bene.

Solitamente senza alcun plug-in, posso richiamare qualsiasi comando py/py3. Ma abilitando jedi-vim chiama automaticamente il sistema python2.

Utilizzo Vundle come gestore plug-in vim.

Se si desidera condividere le proprie vimrc/altre configurazioni/soluzioni alternative per utilizzare vim per lo sviluppo python3 (o entrambe le versioni) sarà molto utile per me.

Grazie.

+0

C'è qualcosa Django specifico per questa domanda? (Ad esempio, YouCompleteMe ha funzionalità extra per supportare i progetti Django o qualcosa del genere?) In caso contrario, dovresti rimuovere il tag; vuoi attirare le risposte di tutti quelli che sono esperti in Python 3.xe vim, anche se non sanno nulla di Django. (A proposito, ho aggiunto per te il tag 'python-3.x', che sicuramente vorresti.) – abarnert

+0

Grazie. Ho rimosso il tag django. – moonstruck

+0

Lo stai usando solo per lo sviluppo di python3? Avete qualche plugin che richiede effettivamente python3? Assicurati di leggere ': help python-2-and-3', ci sono dei casi (quando il simbolo si scontrano nell'interprete) che non riesce a caricare il secondo interprete. (Verrà caricato solo il primo interprete chiamato). Sembra che tu abbia davvero bisogno del supporto per python (2) nella domanda. – FDinoff

risposta

5

Come altre persone sottolineano nei commenti, non è necessario modificare molto in termini di configurazione Vim per passare a Python3. Quello che devi fare è identificare i plug-in che usano i Python incorporati, scoprire quali di questi supportano sia Python2 che Python3 e dire loro di preferire Python3 e eliminare quelli che funzionano solo con Python2.

Per i plugin che sto usando:

  • Gundo: let g:gundo_prefer_python3 = 1
  • jedi: let g:jedi#force_py_version = 3
  • syntastic: let g:syntastic_python_python_exec = 'python3', e installare le versioni python3 di tutte le pedine
  • python-mode: let g:pymode_python = 'python3'
  • YouCompleteMe: non funziona con Python3.

Inoltre, bello avere se si prevede di modificare i file VimL con py e py3 comandi: installare l'eccellente SyntaxRange, e aggiungere questo alla after/syntax/vim.vim:

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

+0

Grazie per aver consigliato il mio plugin! Ma il built-in 'syntax/vim.vim' supporta già i blocchi Python (2/3) incorporati (configurabili tramite' g: vimsyn_embed')? –

+0

@Ingo Karkat: non lo sapevo. Apparentemente ho un plugin che interferisce con esso, ed è per questo che non ho notato che dovrebbe funzionare per impostazione predefinita. Ok, ho modificato la mia risposta. – lcd047

Problemi correlati