Molto spesso in ambiente UNIX ho a che fare con modifiche veloci su file. Vim è un editor efficiente e open source ma soprattutto predominante poiché spesso installato di default in ambiente SSH. In questo articolo non spiego nulla in particolare ma mi limito ad elencare i principali comandi Vim come promemoria necessari per avere dimestichezza con l’editor.
| Comando | Memo |
|---|---|
| vim nomefile | Esegue l’apertura di un file con vim |
| :e nomefile | Come vim nomefile |
| i | INSERT: Predispone l’editor in modalità inserimento |
| ESC | EXIT: Comando generico utilizzato per uscire, ad esempio dalla modalità inserimento |
| :q | QUIT: Esegue la chiusura di un file solo se salvato |
| :q! | QUIT: Chiude un file senza salvarlo |
| :wq | WRITE AND QUIT: chiude un file salvandolo |
| :w | WRITE: salva i cambiamenti all’interno del file |
| Comando | Memo |
|---|---|
| /testo | Comando base per la ricerca di una stringa all’interno di un file |
| n | NEXT: cerca il successivo |
| :s/cosa/con_cosa | :s è il comando base seguito dalla stringa da ricercare con stringa da rimpiazzare |
| :s/cosa/con_cosa/g | l’attributo g (GLOBAL), aggiunto a quanto già precedentemente descritto effettua tutte le sostituzioni all’interno di una stessa riga |
| :%s/cosa/con_cosa/g | l’attributo % coadiuvato dal g permette di effettuare un find and replace su tutto il documento |
| :%s/cosa/con_cosa/i | l’attributo i come opzione ignora il case sensitive all’interno del documento |
| :%s/cosa/con_cosa/I | l’attributo I come opzione obbliga il case sensitive all’interno del documento |
| :%s/cosa/con_cosa/c | l’attributo c chiede conferma prima del find and replace |
N.B. In caso di sostituzioni i parametri opzionali possono coesistere, esempio:
:s/ciao/salve/gc
:s/ciao/salve/gi
:s/ciao/salve/gc
:s/ciao/salve/gi
| Comando | Memo |
|---|---|
| j | Sposta il cursore verso su (equivalente di freccia su) |
| j | Sposta il cursore di una riga su (equivalente di freccia su) |
| l | Sposta il cursore di un carattere verso destra (equivalente di freccia destra) |
| k | Sposta il cursore di una riga giù (equivalente di freccia giù) |
| h | Sposta il cursore verso sinistra (equivalente di freccia sinistra) |
| e | Si sposta al termine di una parola |
| E | Sposta il cursore alla fine di uno spazio delimitato da una parola |
| b | Sposta il cursore all’inizio di una parola |
| B | Sposta il cursore all’inizio di uno spazio delimitato da una parola |
| 0 | Sposta il cursore all’inizio di una riga |
| $ | Sposta il cursore alla fine di una riga |
| H | Sposta il cursore alla prima linea del documento |
| M | Sposta il cursore alla metà del documento |
| L | Sposta il cursore alla fine del documento |
| :numero | Sposta il cursore al numero di riga digitato in input dopo i due punti |
| u | Torna indietro rispetto ultima azione (undo) |
| U | Annulla tutte le modifiche apportate alla riga corrente |
| CTRL + r | Effettua il redo |



3 comments
fabio conchiglia
18 Settembre 2012 at 21:18
Ottimo! Salvo nei preferiti
Kit
18 Settembre 2012 at 21:19
Da stampare 🙂
DarkSnake83
20 Aprile 2016 at 12:24
Mancano alcuni comandi base.