Movimenti base | |
h l k j | un carattere a sx, dx, su, giu' |
b w | parola/token a sx, dx |
ge e | fine parola/token sx, dx |
{ } | inizio precedente/prossimo paragrafo |
( ) | inizio precedente, prossima frase |
0 gm | inizio, meta' riga |
^ $ | primo, ultimo carattere della riga |
nG ngg | riga n, default ultima, prima |
n% | n percento del file (n deve essere indicato) |
n| | la colonna n della riga corrente |
% | trova prossima parentesi, commento, #define |
nH nL | riga n dall'inizio, fine della finestra |
M | alla riga di mezzo della finestra |
Inserisci & rimpiazza → modalita' inserimento | |
i a | inserisci prima, dopo il cursore |
I A | inserisci all'inizio, fine della riga |
gI | inserisci il testo nella prima colonna |
o O | inserisci nuova riga sotto, sopra riga corrente |
rc | rimpiazza il carattere al cursore con c |
grc | come r, ma vai in modalita' inserimento |
R | rimpiazza caratteri a partire dal cursore |
gR | come R, ma vai in mod. inserimento |
cm | cambia il testo del comando di movimento m |
cc or S | cambia la riga corrente |
C | cambia fino alla fine della riga |
s | cambia un carattere e vai in mod. inserimento |
~ | scambia maiuscolo/minuscolo ad avanza il cursore |
g~m | scambia maiuscolo/minuscolo per cmd. mov. m |
gum gUm | minuscolo/maiuscolo testo cmd. mov. m |
<m >m | sposta sx, dx testo del comando di mov. m |
n<< n>> | sposta n righe a sx, dx |
Cancellare | |
x X | cancella carattere al, prima del cursore |
dm | cancella il testo del comando di movimento m |
dd D | cancella la riga, fino alla fine della riga corrente |
J gJ | unisci la riga corrente successiva, senza spazi |
:rd↵ | cancella il gruppo di righe r |
:rdx↵ | sposta il gruppo di righe r nel registro x |
Modalita' inserimento | |
^Vc ^Vn | inserice car. c letterale, valore decimale di n |
^A | inserisce il testo precedentemente inserito |
^@ | come ^A e va da modalita' inserimento → comandi |
^Rx ^R^Rx | inserisce contenuto del registro x, letterale |
^N ^P | completamento del testo prima, dopo il cursore |
^W | cancella la parola prima del cursore |
^U | cancella tutti i caratteri inseriti nella riga corrente |
^D ^T | sposta a sx, dx della larghezza di uno shift |
^Kc1c2 or c1←c2 | digita diagramma \c1,c2\ |
^Oc | esegue c in modalita' comandi temporanea |
^X^E ^X^Y | scorri in su, giu' |
<esc>\o ^[ | vai modal. inserimento → modal. comandi |
Copiare | |
"x | usa registro x per la prossima cancellazione, copia |
:reg↵ | mostra il contenuto di tutti i registri |
:reg x↵ | mostra il contenuto del registro x |
ym | copia il testo del comando di movimento m |
yy or Y | copia la riga corrente nel registro |
p P | metti registro dopo, prima del cursore |
]p [p | come p, P con indentazione modificata |
gp gP | come p, P lasciando il cursore dopo nuovo testo |
Inserimento avanzato | |
g?m | esegui codifica rot13 su comando movimento m |
n^A n^X | +n, -n del numero al cursore |
gqm | formatta riga del movimento m a larghezza fissa |
:rce w↵ | centra le righe nel gruppo r a larghezza w |
:rle i↵ | allinea a sx righe gruppo r con indent. i |
:rri w↵ | allinea a dx righe gruppo r a larghezza w |
!mc↵ | filtra righe cmd. movimento m con cmd. c |
n!!c↵ | filtra le righe n con il comando c |
:r!c↵ | filtra gruppo di righe r con il comando c |
Modalita' visuale | |
v V ^V | inizio/fine evidenziazione car., righe, blocco |
o | porta posizione cursore ad inizio evidenziazione |
gv | inizia evidenziazione a precedente area evidenziata |
aw as ap | seleziona una parola, frase, paragrafo |
ab aB | seleziona un blocco ( ), un blocco { } |
Annullamento, ripetizione & registri | |
u U | annulla ultimo cmd ripristina ultima riga modif. |
. ^R | ripeti ultima modifica, ripristina ultimo annullo |
n. | ripeti ultimi cambiam. con conteggio sostit. da n |
qc qC | registra, aggiungi car. digitati nel registro c |
q | interrompi registrazione |
@c | esegui il contenuto del registro c |
@@ | ripeti il precedente comando @ |
:@c↵ | esegui registro c come comando Eesec |
:rg/p/c↵ | esegui comando Eesec c sul gruppo r |
in corrispondenza del modello p | |
Movimenti complessi | |
- + | riga su, giu' al primo carattere non-blank |
B W | una parola separata da spazio a sx, dx |
gE E | fine parola separata da spazio a sx, dx |
n_ | giu' a riga n-1 al primo carattere non-blank |
g0 | inizio riga sullo schermo |
g^ g$ | primo, ultimo carattere della riga sullo schermo |
gk gj | riga su, giu' sullo schermo |
fc Fc | prossima, precedente occorrenza del carattere c |
tc Tc | prima di prossima, precedente occorrenza di c |
; , | repeti ultimo fFtT, nella direczione opposta |
[[ ]] | all'inizio della sezione all'indietro, avanti |
[] ][ | alla fine della sezione all'indietro, avanti |
[( ]) | alla (, ) non chiusa all'indetro, avanti |
[{ ]} | alla {, } non chiusa all'indetro, avanti |
[m ]m | inizio del precedente, prossimo metodo Java |
[# ]# | #if, #else, #endif preced., seguente non chiuso |
[* ]* | inzio fine di /* */ precedente, successivo |
Ricerca & sostituzione | |
/s↵ ?s↵ | cerca in avanti, indietro per s |
/s/o↵ ?s?o↵ | cerca avanti, indietro per s con offset o |
n or /↵ | ripeti in avanti l'ultima ricerca |
N or ?↵ | ripeti all'indetro l'ultima ricerca |
# * | cerca all'indietro, avanti la parola al cursore |
g# g* | come sopra ma trova anche corrisp. parziali |
gd gD | definizione globale, locale del simbolo al cursore |
:rs/f/t/x↵ | sustituisci f con t nel raggio r |
x: g-tutte le occorrenze, c-conferma modifiche | |
:rs x↵ | ripeti sostituzione con nuovi r & x |
Caratteri speciali in modelli di ricerca | |
. ^ $ | qualsiasi singolo carattere, inizio e fine di riga |
\< \> | inizio, fine di parola |
[c1-c2] | un singolo carattere nel gruppo c1..c2 |
[^c1-c2] | un singolo carattere non nel gruppo |
\i \k \I \K | un identific., parola chiave; no cifre |
\f \p \F \P | un nome file, car. stampabile; no cifre |
\s \S | uno spazio, uno spazio non blank |
\e \t \r \b | <esc>, <tab>, <↵>, <←> |
\= * \+ | corrispond. 0..1, 0..∞, 1..∞ atomi precedenti |
\| | separa due diramazioni ( ≡ or) |
\( \) | raggruppa modelli in un atomo |
\& \n | intero modello corrisp., l'ennesimo, () gruppo |
\u \l | il prossimo carattere reso maiuscolo, minuscolo |
Offsets in comandi di ricerca | |
n or +n | n righe in giu' in colonna 1 |
-n | n righe in su in colonna 1 |
e+n e-n | n caratteri dx, sx verso fine corrispondenza |
s+n s-n | n caratteri dx, sx verso inizio corrispondenza |
;sc | esegui il comando di ricerca dal prossimo sc |
Marcatori e movimenti | |
mc | marca la posizione corrente con mark c ∈[a..Z] |
`c `C | vai al mark c nel file corrente, C in qualsiasi file |
`0..9 | vai all'ultima posizione di uscita |
`` `" | vai a posizione prima del salto, ultima modificata |
`[ `] | inizio, fine testo su cui operato precedentemente |
:marks↵ | visualizza l'intera lista dei mark |
:jumps↵ | visualizza la lista dei salti |
n^O | vai ennesima piu' vecchia posizione lista salti |
n^I | vai ennesima piu' nuova posizione lista salti |
Mappatura tasti & abbreviazioni | |
:map c e↵ | mappa c ↦ e in mod. normale & visuale |
:map! c e↵ | mappa c ↦ e mod. inser. & e riga cmd |
:unmap c↵ :unmap! c↵ | rimuovi mappatura di c |
:mk f↵ | scrivi mappatura, impostaz. correnti al file f |
:ab c e↵ | aggiungi l'abbreviazione per c ↦ e |
:ab c↵ | mostra abbreviazioni che iniziano per c |
:una c↵ | rimuovi l'abbreviazione c |
Tag | |
:ta t↵ | vai al tag t |
:nta↵ | vai all'ennesimo tag piu' nuovo in lista |
^] ^T | vai al tag al cursore, ritorna dal tag |
:ts t↵ | elenca tag corrisp., seleziona uno per salto |
:tj t↵ | vai a tag, selezionane uno tra corrisp. multiple |
:tags↵ | visualizza la lista dei tag |
:npo↵ :n^T↵ | ritorna da, vai ennes. tag piu' vecchio |
:tl↵ | vai all'ultimo tag corrispondente |
^W} :pt t↵ | anteprima del tag al cursore, del tag t |
^W] | dividi la finestra e mostra il tag al cursore |
^Wz or :pc↵ | chiudi la finestra di anteprima del tag |
Scorrimento & finestre multiple | |
^E ^Y | scorri una riga, su, giu' |
^D ^U | scorri mezza pagina su, giu' |
^F ^B | scorri una pagina su, giu' |
zt or z↵ | imposta riga corrente come inizio finestra |
zz or z. | imposta riga corrente al centro della finestra |
zb or z- | imposta riga corrente alla fine della finestra |
zh zl | scorri un carattere a destra, sinistra |
zH zL | scorri meta' schermata a destra, sinistra |
^Ws or :split↵ | dividi in due la finestra |
^Wn or :new↵ | crea una nuova finestra vuota |
^Wo or :on↵ | rendi finestra corrente la sola sullo schermo |
^Wj ^Wk | vai a finestra sotto, sopra |
^Ww ^W^W | vai a finestra sotto, sopra (in circolo) |
Esecuzione da riga comandi (↵) | |
:e f | modifica file f, a meno di cambiamenti effettuati |
:e! f | modifica file f sempre (default ricarica corrente) |
:wn :wN | scrivi il file e modifica il prossimo, precedente |
:n :N | modifica prossimo, precedente file in lista |
:rw | scrive raggio r in file corrente |
:rw f | scrivi raggio r al file f |
:rw>>f | accoda il raggio r al file f |
:q :q! | esci e conferma, esci ed annulla modifiche |
:wq or :x or ZZ | scrivi il file corrente ed esci |
<up> <down> | recupera comandi ad iniziare dal corrente |
:r f | inserisci il contenuto del file f sotto il cursore |
:r! c | inserisci l'output del comando c sotto il cursore |
:all | apri finestra per ogni file in lista param. riga cmd |
:args | visualizza la lista parametri riga comando |
Spostamenti da riga comandi | |
, ; | separa due numeri di riga, vai alla prima |
n | il numero di riga assoluto n |
. $ | la riga corrente, l'ultima riga del file |
% * | l'intero file, l'area visuale |
't | la posizione del mark t |
/p/ ?p? | la prossimo, precedente riga dove p corrisponde |
+n -n | +n, -n rispetto al numero precedente di riga |
Piegature | |
zfm | crea piegatura del movimento m |
:rfo | crea piegatura per il gruppo r |
zd zE | elimina piegatura al cursore, tutte in finestra |
zo zc zO zC | apri, chiudi piegatura; ricorsivamente |
[z ]z | vai a inizio, fine piegatura aperta corrente |
zj zk | vai giu', su a inizio, fine prossima piegatura |
Miscellanea | |
:sh↵ :! c↵ | apri shell, esegui comando c nella shell |
K | cerca la parola chiave al cursore con man |
:make↵ | lancia make, leggi gli errori e vai al primo |
:cn↵ :cp↵ | visualizza prossimo, precedente errore |
:cl↵ :cf↵ | visualizza tutti gli errori, leggi err. da file |
^L ^G | ridisegna schermo, mostra nome file e posizione |
g^G | mostra colonna, riga, posizione carattere al cursore |
ga | mostra valore ASCII del carattere al cursore |
gf | apri file il cui nome si trova al cursore |
:redir>f↵ | redirigi l'output al file f |
:mkview [f] | salva configurazione vista [al file f] |
:loadview [f] | carica configurazione vista [da file f] |
^@ ^K ^_ \ Fn ^Fn | tasti non configurati |