Di solito organizzo una screen
sessione per ogni progetto. Vim è nella finestra 0 e uso la finestra 1 per una sessione di shell. Se sto codificando in una lingua che ha un REPL decente, di solito lo eseguo nella finestra 2. Naturalmente, non è necessario screen
farlo; potresti farlo con diverse finestre del terminale o con schede in un terminale multitab. Trovo screen
che sia più stabile di altre alternative: se l'app del tuo terminale si arresta in modo anomalo, puoi semplicemente avviare un altro terminale e riconnetterti alla screen
sessione ancora in esecuzione . screen
è anche molto veloce da navigare una volta appreso (proprio come vim stesso).
Alla fine finisco per usare la sessione della shell per complicate attività di controllo della versione come il rebasing o l'unione: cose più semplici possono essere fatte dalla riga di comando di vim (es. :!git commit % -m 'Added info about
Schermo .'
) o usando il componente aggiuntivo fuggitivo . Trovo il fuggitivo :Gmove
(rinominare il buffer corrente sia in vim che nell'indice git) e :Gdiff
(invocare vimdiff sul buffer corrente con un punto precedente nella sua storia) particolarmente utile. Puoi anche eseguire operazioni come la creazione di un messaggio di commit in un buffer di memoria virtuale, la copia di testo da varie parti del codice e il commit con:%!git commit -F /dev/stdin
Userò anche la sessione della shell per i test funzionali / di integrazione se questo è applicabile a tutto ciò su cui sto lavorando, ad esempio se sto scrivendo un'utilità da riga di comando.
La funzionalità quickfix di Vim è utile per il debug, anche se sembra che ci sia un addon diverso richiesto per ogni lingua in cui potresti voler lavorare. Sembrano anche usare una varietà di tecniche di invocazione, mappatura su tasti funzione o sequenze di tasti che iniziano con \
o ,
, o ai comandi personalizzati, oppure invocando automaticamente quando viene salvato un buffer. Finora non mi sono preso la briga di darci un'occhiata, e ho appena letto i risultati del test unit o del lint in un buffer di memoria usando ad es :r !python -m doctest whatever.py
. Modifica il codice, torna al buffer di memoria virtuale, u
per annullare, quindi premi :r
e la freccia su (il più delle volte) per riavere quel comando. Ma potrebbe valere la pena cercare un addon per questo, a seconda della lingua in cui lavori.
Per i linguaggi compilati popolari come C, java, ecc., :make
Farà una build e il supporto per l'elenco quickfix è ben definito. Quindi puoi fare ciò :copen
per visualizzare il buffer di aggiornamento rapido. Mostrerà un elenco di errori, uno per riga; colpire Entersu una linea salterà l'altra finestra a quel punto in quel file.
Se stai lavorando con più progetti contemporaneamente, puoi fare :lmake
in modo che un elenco di errori sia memorizzato nell'elenco delle posizioni : questo è come l'elenco delle correzioni rapide ma è associato a una singola finestra anziché essere un singleton all'interno del tuo istanza vim. :lopen
aprirà un elenco di posizioni per la finestra corrente.