Skip to navigation
Logo Penaz's Area

cat /dev/random > penaz

Impariamo VI (Improved) - Parte 4 - Il file di configurazione .vimrc


Impariamo come usare a nostro vantaggio il file .vimrc, il file di configurazione di VI, per avere sempre a disposizione l'ambiente a noi più adatto.

VIM può risultare un po' difficile da usare all'inizio, ma la difficoltà iniziale ripaga con una flessibilità ineguagliabile, grazie ad un proprio linguaggio di scripting è possibile trasformare VI in praticamente qualsiasi cosa, ecco alcuni esempi:

  • Un client/editor per Wordpress (VIMPress)
  • Un client di Chat IRC (VIMIrc)
  • Un file-commander testuale (VIMCommander)
  • Un Tetris (VITetris)

Oggi impareremo a fare delle piccole modifiche al file di configurazione, e spiegherò riga per riga cosa accadrà. Iniziamo. Assicurandoci di essere nella nostra home digitiamo:

vim .vimrc

Ora digiteremo i comandi che ci ritroveremmo a digitare se dovessimo fare tutto a mano ogni volta, ma senza i due punti iniziali (:). Alla fine di questo capitolo avrete un file di configurazione praticamente uguale al mio, molto flessibile anche se semplice. Ecco la prima riga:

set number

Questo fa in modo che prima di ogni riga compaia un numero che rappresenta, appunto, il numero di riga, molto utile per i programmatori.

set numberwidth=4

Questo comando imposta la distanza dei numeri di riga dal margine sinistro dello schermo.

set cursorline

Questo comando fa in modo che sia evidenziata la riga che si sta modificando, così da evitare confusione in caso di testi molto lunghi.

map :tabnew

Questo comando fa in modo che premendo CTRL+T sulla tastiera, si apra una nuova scheda.

map :tabprev

Questo comando fa in modo che in presenza di più schede e premendo CTRL+"Freccia Sinistra", si passi alla scheda precedente.

map :tabnext

Questo comando adopera lo stesso ragionamento di quello precedente: premendo CTRL+"Freccia Destra", si passa alla scheda successiva.

set laststatus=2

Abilita la barra di stato, che potrete personalizzare a vostro piacimento con il prossimo comando. La barra di stato può contenere messaggi, informazioni sul testo e molto altro.

Ora arriva la parte difficile:

set statusline=%F\ %m\ %w\ %h\ [FileType:\ %Y]\ [Linea:\ %l/%L\ (%p%%)]\ [Col:\ %v]

In questo caso penso sia meglio spezzettare il comando in più parti:

set statusline=

Comunica a VIM che quello che segue dovrà essere il contenuto della barra di stato.

%F

Il nome del file, comprensivo del percorso.

\ %m

Il backslash ( \ ) serve solo per fare in modo che VIM scriva lo spazio successivo nella barra di stato e non lo interpreti come un separatore per tenere in ordine il codice, in gergo si dice che in questo caso il backslash è un carattere di "escape". Mentre il "%m" è il flag di modifica, se il file viene modificato, nella barra di stato comparirà un simbolo di questo tipo:

[+]

Così saprete se avete modificato il file.

Avanti col prossimo pezzo di comando:

\ %r

Uso ancora il backslash per far stampare lo spazio, mentre "%r" è il flag di sola lettura. Se il file aperto è di sola lettura nella barra di stato comparirà un simbolo come questo:

[RO]

Dove "RO" sta per Read-Only.

Via col prossimo pezzo:

\ %w

Dopo aver fatto stampare un altro spazio usiamo "%w"  che fa in modo che venga mostrato il simbolo:

[Preview]

nel caso il file mostrato fosse un'anteprima.

Ora continuiamo con:

\ %h

Mostra nella barra di stato la scritta:

[help]

nel caso stessimo consultando il file d'aiuto di VIM.

Via uno, sotto un altro!

\ [FileType:\ %Y]

Dopo aver visualizzato un altro spazio, faccio scrivere la stringa:

[Filetype:

Poi visualizzo un altro spazio e con "%Y" faccio stampare a VIM il tipo di file aperto. Infine faccio stampare la parentesi chiusa.

Il prossimo!

\ [Linea: %l/%L\ (%p%%)]

Il concetto è esattamente lo stesso della parte precedente con la differenza che:

  • %l  -  visualizza il numero della riga evidenziata
  • %L  -  visualizza il numero totale delle righe
  • %p  -  visualizza a che percentuale del documento è posizionato il cursore
  • %%  -  visualizza semplicemente il segno %

Come prima ho usato il backslash ( \ ) per visualizzare tutti gli spazi necessari, altrimenti il tutto verrebbe orribilmente condensato. Continuiamo con l'ultima parte del comando:

\ [Col:\ %v]

La flag %v visualizza il numero di carattere evidenziato nella riga corrente, insieme al numero di riga permette di avere le coordinate precise del nostro cursore.

Alla fine della fiera, la vostra barra di stato sarà simile a questa:

~/.vimrc [+] [RO] [FileType: VIM] [Linea: 1/16 (6%)] [Col: 1]

Beh, non avrete questo risultato immediatamente. Dovrete prima chiudere e salvare il file, quando avvierete di nuovo VIM, vi ritroverete con un'interfaccia un po' diversa da prima.

Con questo per ora abbiamo finito.

Saluti e al prossimo post!

Penaz