k / j
--> muovi il cursore in alto / bassoh / l
--> muovi il cursore a sinistra / destraw
--> vai all'inizio della prossima parolab
--> vai all'inizio della parola precedentee
--> vai alla fine della parola successivaW, B, E
--> come per w,b,e ma delimitata da spazi( / )
--> vai all'inizio della frase sul cursore / successiva{ / }
--> vai all'inizio del paragrafo sul cursore / successivo0 / gm / $
--> vai all'inizio / metà / fine della riga sul cursore^
--> vai al primo carattere "non spazio" della riga+
--> vai al primo carattere "non spazio" della riga successiva-
--> vai al primo carattere "non spazio" della riga precedenten
| --> vai alla n-esima colonna della riga corrente%
--> cerca la prossima parentesi, commento, define
G / 1G --> vai all'inizio / fine del file n% --> posiziona il cursore al n% del file nG --> vai alla riga n H --> vai alla prima riga dello schermo nH --> vai alla riga n dall'inizio dello schermo M --> vai alla riga mediana dello schermo L --> vai all'ultima riga dello schermo [[ --> posiziona il cursore all'inizio della sezione precedente ]] --> posiziona il cursore all'inizio della sezione successiva [] --> posiziona il cursore alla fine della sezione precedente ][ --> posiziona il cursore alla fine della sezione successiva [( / ]) --> vai alla () non chiusa precedente / successiva [{ / ]} --> vai alla {} non chiusa precedente / successiva [* --> vai all'inizio del commento // precedente ] --> vai alla fine del commento /*/ successivo CTRL e --> muovi lo schermo una linea in alto CTRL y --> muovi lo schermo una linea in basso CTRL b --> muovi lo schermo una pagina in alto CTRL f --> muovi lo schermo una pagina in basso z INVIO --> riga corrente come prima dello schermo nz INVIO --> riga n del file come prima dello schermo z. --> riga corrente come mediana dello schermo dello schermo z- --> riga corrente come ultima dello schermo z. / z- --> come z. e z- ma per riga generica n
- :n,m --> seleziona da riga n a riga m
- :. --> seleziona la riga corrente
- :$ --> seleziona la fine del file
- :'c --> utilizza il marcatore c
- :% --> seleziona tutte le righe
- i / a --> inserisci prima / dopo del cursore
- I / A --> inserisci all'inizio / alla fine della riga
- gI --> inserisci nella prima colonna
- o / O --> inserisci una nuova riga sotto / sopra la riga corrente
- notext ESC --> inserisce n volte il testo text digitato
- :r file INVIO --> inserisci il contenuto di file nel documento
- :r! comando INVIO --> esegui il comando comando con output nel documento
- :set ai INVIO --> attiva l'auto indentazione
- :set sw=n INVIO --> imposta a n i caratteri di indentazione
- << --> sposta a sinistra di un livello di indentazione
>>
--> sposta a destra di un livello di indentazione- n<< / n>> --> come << o >> per n righe successive
- rc --> sostituzione del carattere sotto al cursore con il carattere c
- grc --> come per rc ma in modalità inserimento
- Rtext --> sostituisce i caratteri che seguono con text
- gRtext --> come Rtext ma in modalita inserimento
- s --> cancella un carattere ed entra in modalità inserimento
- S o cc --> cancella la riga corrente ed entra in modalità inserimento
- cw --> cancella fino a fine parola ed entra in modalità inserimento
- c$ o C --> cancella fino a fine riga ed entra in modalità inserimento
- ~ --> inverti case maiuscolo / minuscolo e avanza cursore
- x / X --> cancella il carattere sotto al / prima del cursore
- nx / nx --> come per x o X ma per n righe successive
- dw --> cancella fino alla fine della parola
- ndw --> cancella n parole seguenti
- d$ o D --> cancella fino alla fine della riga
- dd --> cancella tutta la riga
- ndd --> cancella n righe seguenti
- J --> unisce la riga che segue con quella corrente
- gJ --> come J senza modificare gli spazi
- nJ / ngJ --> come J o gJ ma per n righe
- :rd INVIO --> cancella le righe nell'intervallo r specificato
- :rd x INVIO --> muovi le righe nell'intervallo r nel registro x
- ``x --> usa il registro x (a-z) per le operazioni di copia e incolla
- :reg INVIO --> mostra il contenuto di tutti i registri
- :reg x INVIO --> mostra il contenuto del registro x (a-z)
- yy o Y --> copia la riga corrente nel registro attuale
- p / P --> incolla il contenuto del registro prima / dopo il cursore
- ]p / [p --> come p / P ma con un livello di indentazione
- gp / gP --> come p / P con il cursore dopo il testo incollato
- fc / Fc --> prosegui / torna indietro fino a raggiungere il carattere c
- /stringa --> cerca in avanti la sequanza stringa
- ?stringa --> cerca indietro la sequanza stringa
- n / N --> ripeti la ricerca nella stessa / inversa direzione
-
- --> cerca una occorrenza successiva della parola al cursore
- g# / g* --> come # e * ma anche con occorrenze parziali
- :set ic INVIO --> non considerare maiuscole o minuscole
- :set noic INVIO --> considera maiuscole e minucole
- :rs/trova/cambia/opzioni --> ricerca nel range r la stringa trova e sostituisci ogni occorrenza con la stringa cambia. Opzioni possono essere g per la * sostituzione di tutte le occorrenze, c per la conferma di ogni singola sostituzione, p per visualizzare le linee modificate. Il range r può contenere una * linea di inizio e fine (es: 1,10) oppure simboli come . per la linea corrente e $ per fine file.
- & --> ripeti l'ultimo comando si selezione s
- :g/seleziona/comando INVIO --> trova la stringa seleziona e, per ogni riga che la contiene, esegui comando
- :g/seleziona/s/trova/cambia INVIO --> trova la stringa seleziona e, per ogni riga che la contiene, sostituisci trova con cambia
- u --> annulla l'effetto dell'ultimo comando
- U --> riporta la linea corrente alla situazione precedente
- . --> ripeti ultima modifica
- :w file INVIO --> salva il documento con nome file
- :w >> file INVIO --> inserisci il contenuto del doc corrente all fine di file
- :n,mw file INVIO --> scrivi su file le righe da n a m
- :x INVIO o :wq INVIO --> esci e salva documento corrente
- :q / :q! --> esci senza salvare / forzatamente
- :help opzione INVIO --> apre l'help su opzione
- :sh INVIO --> apre la shell di sistema. exit per tornare all'editor
- :set INVIO --> mostra le impostazioni attuali
- :syntax on INVIO --> attiva la sintassi evidenziata
- :set textwidth=xx INVIO --> xx max lunghezza della riga
- :set number INVIO --> numera le righe del documento
- :color evening INVIO --> usa lo schema di colori evening
- vim -r file INVIO --> (da shell) recupera file dopo un crash