Guida rapida all'uso di VIM

· 5 min lettura
Guida rapida all'uso di VIM

Personalmente, reputo VIM il miglior editor di testo del mondo UNIX.

Successore dell'altrettanto popolare ed utilizzato editor VI, il pacchetto VIM sta per "VI Improved".

Questo articolo mostrerà come iniziare ad utilizzare uno strumento tanto potente quanto semplice, perché sembra difficile da utilizzare, ma è la console che spaventa (cit.).

Dove si comincia?

VIM si avvia da console con il semplice comando vim.

Se non è compreso nel sistema, si installa con il comando

sudo apt install vim

Su Windows si può installare dal sito ufficiale (https://www.vim.org/download.php) e avviare sia da console (dopo che si è aggiunta la cartella d'installazione alla PATH di sistema), sia da eseguibile con doppio click.

Si aprirà l'interfaccia VIM.

Iniziamo dall'inizio

Per iniziare a scrivere dentro VIM, bisogna premere il pulsante "i" (insert).
Si entrerà nella modalità di scrittura. Da questo momento, qualsiasi carattere digitato verrà scritto sullo schermo.
Il tasto "i" inizierà l'inserimento dei caratteri nella posizione corrente del cursore, mentre se si volesse iniziare a scrivere subito DOPO il cursore, bisognerà digitare il tasto "a", ossia "append".

Da notare che la modalità di scrittura è caratterizzata dalla scritta "--INSERISCI--" in basso a sinistra.

Per uscire dalla modalità di scrittura, basterà premere il tasto ESC.

Modalità comandi

VIM basa parte del suo funzionamento su dei comandi che possono essere inseriti dopo aver invocato la modalità comandi con i due punti ":".

Una volta digitati i due punti (MAIUSC + pulsante del punto), compariranno due punti in fondo a sinistra della schermata, permettendo all'utente di scrivere il comando desiderato.

Se voglio programmare con VIM?

Un comando utile per chi scrive programmi o script è il comando

:syntax on

Permette di evidenziare la sintassi di file sorgenti, rendendo il file più leggibile.

Di seguito, prima e dopo aver abilitato il comando "syntax" su un file SH.

prima di syntax
dopo syntax

Un altro comando utile per chi programma è il seguente:

:set number

Esso permetterà di far apparire un elenco di numeri che rappresenteranno il numero delle righe.

Di seguito, prima e dopo aver abilitato il numero delle righe.

Si possono cambiare i colori?

In caso i colori di VIM non dovessero essere di buon gusto o semplicemente di difficile lettura, è possibile usare il comando "colorscheme" per cambiare la palette dei colori dell'interfaccia.

:colorscheme [palette]

Un esempio di palette dei colori che uso quotidianamente è "Desert":

Le palette disponibili sono le seguenti:

blue darkblue delek desert elflord evening industry koehler morning murphy pablo peachpuff ron shine slate torte zellner

Come si apre un file?

Per aprire un file, esso dovrà essere invocato da console dopo VIM.

vim nomefile.txt

Se si è già dentro VIM si può scrivere il comando "EDIT" seguito dal nome del file, se esistente. Se il file non esiste dovrà essere poi salvato.

:edit nomefile.txt

Chiusura e salvataggio

Per salvare un file già esistente, si usa il comando

:w

Per salvare un file non esistente, basta scrivere dopo il comando il nome del file:

:w nomefile.txt

Per chiudere un file già salvato (in caso esso non sia salvato, non permetterà la chiusura), si usa il comando

:q

Per salvare il file ed uscire, usare la combinazione:

:wq

Oppure

:x

Per uscire da VIM senza salvare, si usa il seguente comando (NB: il punto esclamativo significa che forza il comando precedente)

:q!

In alternativa, senza entrare nella modalità comandi, si può digitare "ZZ".

Ho sbagliato, portami indietro!

L'equivalente del CTRL-Z in VIM c'è il comando:

:u

Oppure si può digitare senza entrare nella modalità comandi il tasto "u" (undo).

Spostarsi nell'interfaccia

Per spostare il cursore nell'interfaccia di VIM ci sono due modi:

  • Come su VI, ossia con i tasti "H", "J", "K" e "L".
    Rispettivamente, essi consentono di muovere il cursore a sinistra, in basso, in alto e a destra. Funzionano solo se non si è nella modalità "insert";
  • Con le frecce direzionali. Funzioneranno anche durante la modalità "insert".

Taglia, copia, incolla ed elimina

Per eliminare una riga, non serve entrare nella modalità comandi, ma basta premere due volte la lettera "d" (attenzione alla differenza tra maiuscole e minuscole).
Attenzione che il comando "dd" funzionerà solo sulla riga dove è posizionato il cursore.

Quando una riga viene "cancellata", in realtà viene spostata in un buffer che la terrà in caso noi volessimo incollarla in un'altra posizione.

Per copiare la linea dove è presente il cursore, si può premere due volte il tasto "y" o una sola volta il tasto "Y".

Per incollare la riga presente nel buffer, premere il tasto "P" (sempre attenzione alla maiuscola).

I comandi di copia e eliminazione (ergo anche spostamento) possono essere effettuate su più righe.
Per fare ciò, basta digitare il numero di righe che si vuole copiare/cancellare e poi il tasto corrispondente.

Esempio:
Per cancellare tre righe compresa quella dove si è posizionati, digitare "3dd".
Per copiare quattro righe compresa quella dove si è posizionati, digitare "4yy".

Cercare e sostituire

Per cercare una parola nel documento, premere non in modalità comandi il tasto slash "/" o punto interrogativo "?". Comparirà in basso a sinistra un carattere (o slash o punto interrogativo), permettendo di scrivere la parola da cercare.
Se trovata, basterà premere il tasto "n" per continuare a cercare nel documento o premere "N" per tornare all'occorrenza precedente.

Per cercare e sostituire con VIM, utilizzare la seguente sintassi:

:%s/PAROLA_DA_CERCARE/PAROLA_CHE_SOSTITUISCE/

Chi usa lo strumento SED, riconoscerà la somiglianza con la sintassi.

Il comando qui sopra funziona solo sulla riga dove è posizionato il cursore.
Per far funzionare il comando su tutto il documento, inserire la lettera "g" (global) a fine comando

:%s/PAROLA_DA_CERCARE/PAROLA_CHE_SOSTITUISCE/g

Per salvare le impostazioni in via permanente?

Se si volessero salvare le impostazioni che sono state impostate sulla sessione corrente (syntax, colorscheme, set number...) si possono scrivere questi comandi su un file chiamato .vimrc (per UNIX) o _vimrc (per Windows) nella cartella home del profilo.

Per trovare la cartella home, basta scrivere dentro VIM il seguente comando:

:echo $HOME

Verrà restituita la directory della home utente. Se non esiste, creare un file vuoto chiamato .vimrc su Linux e _vimrc su Windows.

Il file vimrc è un file che VIM va a consultare per leggere la configurazione che verrà applicata ad ogni avvio.

Se, per esempio, si volessero sempre le linee numerate, il file vimrc conterrà il seguente contenuto:

set number

NOTA: dentro il file vimrc i comandi non vanno inseriti con i due punti all'inizio.