7. Quickfix

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

Figura 11. Quickfile Program Listing

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

Figura 12. :make error

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à

Figura 13. No Error

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.