Vim Cheat Sheet

Sommario

  1. Introduzione
  2. Le basi
  3. Gestione dei file
  4. Editing
  5. Varie
  6. Configurazione
  7. Extra

Iniziare a scrivere

Ci sono vari modi di attivare la modalità inserimento, a seconda delle esigenze e della posizione del cursore.

a sinistra del cursore - i
a destra del cursore - a
a inizio riga - I
a fine riga - A
sulla riga sotto il cursore - o
sulla riga sopra il cursore - O


Come muoversi

sposta cursore a sinistra - h
sposta cursore a destra - l
sposta cursore su - j
sposta cursore giù - k

sposta cursore avanti all'inizio della parola successiva - w
sposta cursore indietro all'inizio della parola successiva - b

sposta cursore avanti all'inizio della parola successiva ignorando la punteggiatura - W
sposta cursore indietro all'inizio della parola successiva ignorando la punteggiatura - B

sposta cursore tre parole avanti all'inizio della parola - 3w
sposta cursore tre parole indietro all'inizio della parola - 3b

sposta cursore avanti alla fine della parola - e
sposta cursore indietro alla fine della parola - ge

sposta cursore avanti alla fine della parola successiva ignorando la punteggiatura - E
sposta cursore indietro alla fine della parola successiva ignorando la punteggiatura - gE

sposta cursore tre parole avanti alla fine - 3e
sposta cursore al primo carattere della riga - |
sposta cursore al terzo carattere della riga - 3|
sposta cursore al primo carattere non bianco - ^

sposta cursore ad inizio riga - 0
sposta cursore a fine riga - $

sposta cursore una pagina avanti - Ctrl-f (oppure Ctrl-d)
sposta cursore una pagina indietro - Ctrl-b (oppure Ctrl-u)

sposta cursore avanti ad inizio frase - )
sposta cursore indietro ad inizio frase - (

sposta cursore su ad inizio paragrafo - {
sposta cursore giù a fine paragrafo - }

sposta cursore a inizio documento - gg (oppure [[)
sposta cursore a fine documento - G (oppure ]])
sposta cursore alla riga 33 - 33 G (oppure :33)

sposta cursore alla prima riga dello schermo - H
sposta cursore all'ultima riga dello schermo - L
sposta cursore alla riga al centro dello schermo - M
sposta cursore alla terza riga dello schermo - 3H
sposta cursore alla terzultima riga dello schermo - 3L

sposta il cursore sulla parentesi corrispondente ad una chiusa o aperta - %

sposta il cursore alla successiva parola uguale a quella attuale - Ctrl-*

mostra il nome del file, la quantità di righe e la posizione in cui è il cursore - Ctrl-g


Spostandosi da un punto all'altro del documento, Vim ricorda gli ultimi due; paragonando questo comportamento a bash, si pensi ai comandi cd e cd - :

torna alla posizione precedente - Ctrl-o
vai alla posizione successiva - Ctrl-i

Se invece volessimo una specie di segnalibro per tornare ad un punto preciso:

m (seguito dal carattere)

e quindi tornarvi in qualsiasi momento:

' (seguito dal carattere)


I comandi disponibili sono moltissimi, ecco cosa dice il saggio vimgor, il bot del canale IRC, in proposito:
<skizzhg> vimgor: movement
<vimgor> In normal mode, all of these keys can move the cursor: ` # $ % ^ * ( ) 0 _ - + w W e E t T I o O { } [[ [] ][ ]] [m [M ]m ]M [( ]) [{ ]} | A f F ge gE gg G g0 g^ g$ g, g; gj gk gI h H j k l L ; ' z. z<CR> z- zz zt zb b B n N M , / ? <C-b> <C-d> <C-e> <C-f> <C-h> <C-i> <C-o> <C-t> <C-u> <C-y> - learn to use all of them


Salvare il documento

salva file già esistente - :w
salva file non esistente - :w nome_file

salva più file aperti, che siano buffer o tab - :wa
salva con altro nome, fa una copia mantendendo l'originale - :sav nome_file


Uscire da Vim

esce - :q
esce da tutti, che siano buffer o tab - :qa
salva ed esce - :wq
salva solo se sono state fatte modifiche ed esce - :x (oppure ZZ)
salva tutti, che siano buffer o tab - :wa
esce senza salvare - :q! (oppure ZQ)

mappa la sequenza di tasti ZW per salvare senza chiudere:

:map ZW :w<cr>