2013-01-25 24 views
5

Il supporto per Python è integrato nelle ultime versioni di emacs. Ad esempio, C-c C-z mi fornisce un interprete e C-c C-c interpreta automaticamente il file su cui sto lavorando senza passare all'altro buffer. (Anche se ci sono alcuni aspetti negativi dell'approccio di emacs)vim come python ide

È possibile questo in vim, o come facile come in emacs con solo due sequenze di tasti? So di poter valutare un'espressione con :python, ma non è esattamente ciò che desidero.

risposta

11

Per eseguire il file corrente in python, è possibile utilizzare il comando :!python %. Puoi associare questo a una scorciatoia da tastiera modificando il tuo vimrc. Ad esempio, aggiungendo nnoremap \ll :!python %<cr> a vimrc verrà eseguito il file corrente in python quando si digita \ll in modalità normale. (* vedi nota a piè di pagina per maggiori dettagli).

Il plug-in vim-ipython consente di aprire una finestra ipython in vim. Potresti anche essere interessato a tmux, che ti permette di dividere il tuo terminale in due, in verticale (così puoi avere una shell e una vim in esecuzione in parallelo).

Ci sono molti plugin che possono trasformare vim in un IDE Python veramente buono. "pyflakes", che evidenzia automaticamente errori di sintassi, è uno dei miei preferiti.

Questo post del blog descrive i plugin Vim per python ampiamente:

http://sontek.net/blog/detail/turning-vim-into-a-modern-python-ide


(*) Per inciso, si potrebbe voler fare questo comando specifico per i file Python (in realtà non ha senso eseguire il codice sorgente C++ in un interprete python). Questo può essere fatto sia mettendolo in uno specifico file di python.vim nella directory .vim/ftplugin, o scrivendo

autocmd FileType python nnoremap \ll :!python %<cr> 

nel vostro .vimrc. In questo modo, puoi riassociare la scorciatoia da tastiera \ll a diverse azioni per diversi tipi di file.

In secondo luogo, se si desidera eseguire una sezione del file corrente, selezionare le righe pertinenti in modalità visiva (MAIUSC + v) e digitare il comando :!python %. Le linee selezionate saranno collegate all'interprete python!

0

Sì, ho dedicato del tempo a estendere Vim per fare esattamente questo. La maggior parte dei miei tentativi sono disponibili in un repository di subversion. Vedi lo vim tree.

Vim può anche essere compilato con un interprete Python integrato, che è possibile utilizzare per valutare linee di codice nel buffer o aggiungere nuove funzionalità utilizzando Python. Prova :help python per i dettagli.

io uso X di Windows, quindi la maggior parte di questi lavori in quell'ambiente, e invocare un wrapper shell da Vim che assomiglia a questo:

1 $ cat bin/xpython

#!/bin/sh 

if [ $# -gt 0 ] ; then 
    urxvt -title Python2 -name Python -e python -i "[email protected]" 
else 
    urxvt -title Python2 -name Python -e bpython 
fi 

Quindi da Gvim puoi eseguire xpython invece di solo python, mappato su una chiave (vedi il sorgente). Questo aprirà una nuova finestra di terminale con una nuova istanza Python che esegue il tuo codice.