2011-07-01 9 views
29

Io uso vim per la codifica. Quando devo compilare il file corrente, Attualmente utilizzo :!g++ % && ./a.out o :make. Gli errori/l'output visualizzati scompaiono quando premo invio e ritorno al file. Vorrei che gli errori e l'output fossero visualizzati in una divisione verticale di lato. Sarebbe bello se i flussi di output e di errore fossero in buffer separati. Come si può fare? Gli errori e i buffer di output dovrebbero essere aggiornati quando ricompongo e non dovrebbe creare nuovi buffer. Come si può fare? qualche vim pluggin/funzione? o un oneliner: P?Come eseguire make in vim e aprire i risultati in una finestra divisa?

risposta

40
+0

wow. grande! Posso avere una divisione verticale invece di una divisione orizzontale? – balki

+2

@balki, prova a mettere un 'vert' appena prima del' copen'. –

+1

Sì, usa solo '' vert copen'' anziché '' copen''. Vedi http://vimdoc.sourceforge.net/htmldoc/windows.html#opening-window per maggiori informazioni. –

-1

Se si desidera compilare ed eseguire se compilazione riuscita. (Cioè !g++ % && ./a.out)

creare uno script shell con la seguente riga,

g++ $1 -o /tmp/a.out && /tmp/a.out

Ora impostare il makeprg come questo. set makeprg=compileNrun.sh\ %

Impossibile impostare l'intero comando direttamente come makeprg a causa di &&. Se impostato in makeprg direttamente il comando precedente sarà ampliato a,

!g++ file.C -o /tmp/a.out && /tmp/a.out 2>&1 | tee /tmp/errorFile

Quindi errori di compilazione solito reindirizzato al file errore se la compilazione è fallita; P come && prevale sul |

Problemi correlati