Vim

Un breve riepilogo dei tasti o delle combinazioni per utilizzare VIM o VI.

Normal mode

Spostamenti

j 1 linea sotto (stessa colonna)
k 1 linea sopra (stessa colonna)
h 1 spazio a sinistra (come backspace)
l 1 spazio a destra (come space)
ctrl f 1 pagina in giù
ctrl b 1 pagina in su
G posizionamento in fondo al documento
gg posizionamento in cima al documento
100G posizionamento sulla linea 100 (ovviamente si mette il numero di riga che si vuole)
10 j sposta il cursore di 10 righe in basso (ovviamente si mette il numero di righe che ci si vuole spostare)
Qualsiasi comando vim può essere ripetuto n volte anteponendo il numero davanti al comando ( es: 5 k sposta il cursore 5 volte in su )
shift m posizionamento all’altezza media dell’attuale pagina
shift l posizionamento in fondo all’attuale pagina
shift h posizionamento in alto all’attuale pagina

Paragrafo

{ sposta il cursore all’inizio del paragrafo
} sposta il cursore alla fine del paragrafo corrente
( si posiziona all’inizio della frase corrente (delimitata dal punto)
) si posiziona alla fine della frase corrente (delimitata dal punto)

Riga

$ si posiziona alla fine della linea
0 si posiziona alla colonna zero (inizio linea)
^ si posiziona al primo carattere non-blank della linea
w si posiziona all’inizio della parola successiva
b torna all’inizio della parola precedente
shift w si posiziona all’inizio della parola successiva saltando la punteggiatura e i caratteri speciali
shift b torna all’inizio della parola precedente saltando la punteggiatura e i caratteri speciali
g e sposta il cursore sull’ultimo carattere della parola precedente (personalmente lo trovo macchinoso)
e sposta il cursore sull’ultimo carattere della parola successiva
shift e sposta il cursore sull’ultimo carattere della parola successiva saltando la punteggiatura e i caratteri speciali
10 | sposta il cursore sul numero 10 della colonna di quella riga (va al decimo carattere della riga)

Insertion mode

i permette di entrare nella modalità inserimento partendo nel punto in cui il cursore è posizionato
o permette di entrare nella modalità inserimento aggiungendo una riga vuota sotto l’attuale riga e posizionando il cursore all’inizio della riga
esc permette di tornare in normal mode
u permette di annullare l’ultima azione fatta in insert mode, dopo aver premuto ESC per ritornare al normal mode
O permette di aggiungere una nuova riga sopra l’attuale riga
A permette di entrare nella modalità inserimento partendo dalla fine della riga

Visual mode

v permette di entrare nella modalità visuale dove è possibile selezionare caratteri e parti di testo utilizzando i comandi di movimento visti prima

Sul file

esc permette di ritornare al normal mode dalle altre modalià
: x aggiorna, se necessario, ed esce
:wq WRITE and QUIT: aggiorna ed esce
ZZ aggiorna ed esce (uguale al precedente)
:q! esce senza salvare le modifiche (! ‘bang’ forza l’uscita)
:w !UNIX-CMD WRITE: scrive l’output e lo passa attraverso una pipe ad un comando UNIX
Esempio: :1,10 w !lpr manda le prime 10 linee alla stampante