Modalità
Cambio Modalità
iModalità insert (prima del cursore)
aModalità insert (dopo il cursore)
oInserisce riga sotto ed entra in insert
OInserisce riga sopra ed entra in insert
vModalità visual (carattere)
VModalità visual (riga)
Ctrl+vModalità visual block
:Modalità command-line
RModalità replace
EscTorna alla modalità normale
Navigazione
Movimento Carattere e Riga
h j k lSinistra, giù, su, destra
0 / ^Inizio riga / primo carattere non blank
$Fine riga
w / WParola successiva / PAROLA
b / BParola precedente / PAROLA
e / EFine parola / PAROLA
f{c} / F{c}Trova carattere in avanti / indietro
t{c} / T{c}Fino a carattere in avanti / indietro
Movimento Schermo e File
gg / GVai alla prima / ultima riga
:{n}Vai alla riga n
Ctrl+d / Ctrl+uMetà pagina giù / su
Ctrl+f / Ctrl+bPagina intera giù / su
H / M / LAlto / centro / basso dello schermo
%Salta alla parentesi corrispondente
Editing
Insert e Append
IInsert all'inizio della riga
AAppend alla fine della riga
eaAppend alla fine della parola
giInsert all'ultima posizione di insert
Elimina e Cambia
x / XElimina carattere sotto / prima del cursore
ddElimina riga
dwElimina parola
d$ / DElimina fino a fine riga
cc / SCambia intera riga
cwCambia parola
c$ / CCambia fino a fine riga
ci" / ci(Cambia dentro virgolette / parentesi
Copia e Incolla
yyCopia (yank) riga
ywCopia parola
y$Copia fino a fine riga
p / PIncolla dopo / prima del cursore
JUnisce riga sotto alla corrente
Annulla e Ripeti
uAnnulla
Ctrl+rRipristina
.Ripete l'ultimo comando
Ricerca e Sostituzione
Ricerca
/patternCerca in avanti
?patternCerca indietro
n / NProssima / precedente corrispondenza
*Cerca parola sotto cursore (in avanti)
#Cerca parola sotto cursore (indietro)
Sostituzione
:s/old/new/ " replace first on line :s/old/new/g " replace all on line :%s/old/new/g " replace all in file :%s/old/new/gc " replace all, confirm each
Modalità Visual
Selezione
vInizia selezione carattere
VInizia selezione riga
Ctrl+vInizia selezione blocco
oSposta all'altro estremo della selezione
gvRi-seleziona l'ultima selezione visual
Azioni sulla Selezione
dElimina selezione
yCopia selezione
cCambia selezione
>Indenta selezione
<Deindenta selezione
~Inverti maiuscolo/minuscolo
U / uMaiuscolo / minuscolo selezione
Buffer e Finestre
Buffer
:lsElenca buffer aperti
:bn / :bpBuffer successivo / precedente
:b{n}Vai al buffer n
:bdChiudi buffer corrente
:e fileApri file in nuovo buffer
Finestre
:sp fileSplit orizzontale
:vsp fileSplit verticale
Ctrl+w h/j/k/lNaviga alla finestra
Ctrl+w =Equalizza dimensioni finestre
Ctrl+w qChiudi finestra
Tab
:tabnew fileApri file in nuova tab
gt / gTTab successiva / precedente
:tabcloseChiudi tab corrente
Registri
Usare i Registri
"ayCopia nel registro a
"apIncolla dal registro a
"AyAggiunge copia al registro a
:regMostra tutti i registri
Registri Speciali
""Senza nome (ultimo delete/yank)
"0Ultimo yank
"+Clipboard di sistema
"/"Ultimo pattern di ricerca
".Ultimo testo inserito
"_Buco nero (scarta)
Macro
Registrare e Riprodurre
q{a}Inizia registrazione macro nel registro a
qFerma registrazione
@{a}Riproduci macro dal registro a
@@Ripete l'ultima macro
5@aRiproduci macro a 5 volte
Esempio Macro
qa " start recording into a I// " insert // at line start Esc j " return to normal, move down q " stop recording 10@a " comment next 10 lines
Impostazioni
Opzioni Comuni
:set number " show line numbers :set relativenumber " relative line numbers :set tabstop=4 " tab width :set expandtab " spaces instead of tabs :set ignorecase " case-insensitive search
Display e Comportamento
:set wrap / nowrap " toggle line wrapping :set hlsearch " highlight search matches :set incsearch " incremental search :set cursorline " highlight current line :syntax on " enable syntax highlighting
Operazioni sui File
Salva e Chiudi
:wSalva
:w fileSalva come file
:qEsci (fallisce se non salvato)
:q!Esci senza salvare
:wq / :x / ZZSalva ed esci
:waSalva tutti i buffer
:qaChiudi tutti i buffer
Info File e Comandi Esterni
Ctrl+gMostra info file
:!cmdEsegui comando shell
:r !cmdInserisce output del comando
:r fileInserisce contenuto del file
Text Object
Oggetti Inner e Around
iw / awDentro / attorno alla parola
is / asDentro / attorno alla frase
ip / apDentro / attorno al paragrafo
i" / a"Dentro / attorno a virgolette doppie
i' / a'Dentro / attorno a virgolette singole
i( / a(Dentro / attorno a parentesi
i{ / a{Dentro / attorno a graffe
it / atDentro / attorno a tag HTML
Combinazioni Comuni
ciw " change inner word di" " delete inside quotes ya{ " yank around braces vip " select inner paragraph
Segni e Salti
Segni
m{a}Imposta segno a alla posizione cursore
'aSalta alla riga del segno a
`aSalta alla posizione esatta del segno a
:marksElenca tutti i segni
Lista Salti
Ctrl+oSalta alla posizione precedente
Ctrl+iSalta alla posizione successiva
:jumpsMostra lista salti
''Salta all'ultima posizione di salto