5. Formattare automaticamente

5.1. Restringere l'ampiezza delle colonne

Spesso si deve restringere la larghezza delle colonne a 80 o 75 o qualcos'altro. Ciò può essere fatto facilmente usando il comando

	    :set textwidth=80
	 

Per farlo in maniera automatica semplicemente mettete il comando nel vostro .vimrc.

Oltre alla larghezza delle colonne, potreste desiderare che il testo vada a capo in una determinata colonna. Spesso queste scelte sono dettate dal terminale che si sta usando. In caso la scelta sia libera, il comando è

	    :set wrapwidth=60
	 

Il comando precedente fa immettere testo solo in 60 colonne.

5.2. Indentare automaticamente il codice

Mentre si sta scrivendo codice C, spesso si ha bisogno di indentare dei blocchi interni di codice. Per far questo automaticamente mentre si sta scrivendo il codice, VIM ha un'opzione detta cindent. Per attivarla usate semplicemente il comando

	    :set cindent
	 

Impostando cindent, il codice viene abbellito automaticamente. Per impostare il comando in automatico, aggiungetelo al vostro .vimrc

5.3. Commenti

VIM vi permette anche di auto-formattare i commenti. Potete dividere i commenti in 3 stadi: La prima parte, la parte media e la parte finale. Ad esempio il vostro stile di scrittura del codice potrebbe richiedere dei commenti nella forma seguente

	    /*
	    * Questo è il commento
	    */
	 

In un caso simile potrebbe essere usato il comando seguente

	    :set comments=sl:/*,mb:*,elx:*/
	 

Lasciate che decifri per voi il comando. Il comando ha tre parti. La prima parte é sl:/*. Questa dice a VIM che i commenti in tre pezzi cominciano con /*. La seguente dice a VIM che la parte di mezzo del commento è *. Infine l'ultima sezione del comando dice a vim un bel po' di cose: che il comando dovrebbe finire con */ e che dovrebbe completare il commento in automatico quando premete semplicemente /.

Lasciate che vi dia un altro esempio. Diciamo che il vostro metodo sia il seguente

	    /*
	    ** questo è il commento
	    */
	 

In una situazione simile potreste usare il comando seguente per i commenti

	    :set comments=sl:/*,mb:**,elx:*
	 

Per inserire un commento premete semplicemente /* e invio. La riga seguente conterrà automaticamente il **. Dopo aver finito il commento premete ancora invio e verrà inserito un altro **. Comunque per terminarlo dovrete usare */ e non **/. VIM è abbastanza intelligente in questo. Non avete bisogno di cancellare l'ultimo * e di rimpiazzarlo con /. Invece premete solo / e VIM lo riconoscerà come la fine del commento e cambierà automaticamente la riga da ** a */.

Per ulteriori informazioni premete :h comments