Skip to content

Latest commit

 

History

History
144 lines (123 loc) · 6.99 KB

031_vim.md

File metadata and controls

144 lines (123 loc) · 6.99 KB

Movimenti di base del cursore

  • k / j --> muovi il cursore in alto / basso
  • h / l --> muovi il cursore a sinistra / destra
  • w --> vai all'inizio della prossima parola
  • b --> vai all'inizio della parola precedente
  • e --> vai alla fine della parola successiva
  • W, 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 / successivo
  • 0 / 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 precedente
  • n| --> vai alla n-esima colonna della riga corrente
  • % --> cerca la prossima parentesi, commento, define

Movimenti avanzati

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

Intervalli di selezione

  • :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

Inserimento

  • 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

Sostituzione

  • 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

Cancellazione

  • 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

Copia e Incolla

  • ``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

Trova e Sostituisci

  • 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 precedente occorrenza della parola al cursore

    • --> 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

Annullamento comandi

  • u --> annulla l'effetto dell'ultimo comando
  • U --> riporta la linea corrente alla situazione precedente
  • . --> ripeti ultima modifica

Gestione file

  • :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

Comandi vari

  • :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