Quando si sta lavorando su codice C, spesso si segue un ciclo scrivi-compila-scrivi . In genere voi scriverete il file C usando le cose che vi ho detto prima, salverete il file, compilerete il codice e tornerete al sorgente, visti gli errori, per scrivere ancora. VIM vi aiuta a sveltire il ciclo usando una modalità detta quickfix. Sostanzialmente, si devono salvare gli errori del compilatore in un file e poi aprirlo con VIM usando il comando
$ vim -q compiler_error_file |
VIM apre il file contenente gli errori automaticamente e posiziona il cursore nel punto dove si trova il primo errore.
C'è una scorciatoia per il ciclo. Usando il comando "make", il codice verrà compilato automaticamente e il cursore andrà nella posizione dove si trova il primo errore. Per usare il comando make scrivete
:make |
Sostanzialmente, questo comando richiama "make" in una shell e va al primo errore. Comunque, se non state compilando usando make e state compilando usando un comando come cc, allora dovete impostare una variabile detta makeprg per il comando che volete usare come comando make. Ad esempio :set makeprg=cc\ foo.c
Dopo aver impostato makeprg, basterà, ancora, chiamare il comando make e quickfix entrerà in gioco.
Dopo che avrete corretto il primo errore, dovrete andare all'errore seguente e correggerlo. Il comando che vedete qui sotto viene usato per passare all'errore successivo :cn
Per tornare indietro, potete usare il comando :cN
Lasciate che vi mostri il tutto con un esempio. Considerate il seguente codice
Come potete vedere c'è un errore nella riga numero 5. Il file è salvato come test.c e makeprg viene impostata usando
:set makeprg=gcc\ test.c |
Poi viene richiamato il comando make tramite :make . gcc restituisce un errore e l'output del comando make è qualcosa del genere
Alla pressione di INVIO, il cursore si sposta alla riga numero 6.
Ora, il comando :cn sposterà il cursore alla riga numero 4.
Per tornare all'errore precedente, si può usare il comando :cN ed il cursore ritornerà alla riga numero 6.
Dopo aver corretto l'errore alla riga 5 aggiungendo "return 1;", si può eseguire ancora :make e l'output sarà
Questo era solo un piccolo esempio. Potete usare quickfix per risolvere i vostri problemi di compilazione, si spera, per ridurre il tempo del ciclo modifica-compila-modifica.