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 |