Comandi VI

Mettiamola cosi, ormai sono talmente vecchio, che ho sentito il bisogno di riproporre la tabella riassuntiva, che si riferisse solamente ai concetti e comandi per usare l’editor VI, nuda e cruda tanto per avere un promemoria quando la memoria mi fa brutti scherzi e non ho il man istallato. ;)

RICHIAMO:

$ vi nome_file

INDIRIZZI EX:

. riga corrente

$ ultima riga

numero decimale n n-ima riga

/RE/ prima riga seguente la corrente che è soddisfatta dalla RE (espressione regolare)

CAMBIO MODO:

comandi -> inserzione: comandi i,I,a,A,o,O,s,c,C

inserzione -> comandi: <ESC>

comandi -> comandi EX: :

comandi EX -> comandi: nulla o <RETURN>

COMANDI:

Uscita dall’editor:

ZZ uscita dall’editor con scarico buffer se modificato

:wq<RETURN> uscita dall’editor con scarico buffer

:q!<RETURN> uscita dall’editor senza scarico buffer

Inserzione:

i pone in inserzione prima del cursore

a pone in inserzione dopo il cursore

I pone in inserzione prima del primo non <SPAZIO> o <TAB> della riga

A pone in inserzione dopo l’ultimo carattere della riga

o apre una nuova riga sotto la corrente e si pone in inserzione

O apre una nuova riga sopra la corrente e si pone in inserzione

<CTRL-V> escape per inserzione di caratteri speciali (in modo inserzione)

Spostamento:

h sposta a destra di un carattere

l sposta a sinistra di un carattere

j sposta alla riga seguente

k sposta alla riga precedente

<CTRL-H> come h

<SPAZIO> come l

<CTRL-J> come j

<CTRL-N> come j

<CTRL-P> come k

0 (zero) porta al primo carattere della riga

^ porta al primo carattere non <SPAZIO> o <TAB> della riga

$ porta all’ultimo carattere della riga

f porta sulla prima occorrenza, verso destra, del carattere richiesto

F porta sulla prima occorrenza, verso sinistra, del carattere richiesto

t porta al carattere che precede la prima occorrenza, verso destra, del carattere richiesto

T porta al carattere che segue la prima occorrenza, verso sinistra, del carattere richiesto

; continua la ricerca iniziata da un comando f o F

, continua la ricerca iniziata da un comando f o F, ma nella direzione opposta

w sposta il cursore all’inizio della prossima parola

W sposta il cursore all’inizio della prossima parola

e sposta al prossimo fine parola (w)

E sposta al prossimo fine parola (W)

b sposta al precedente inizio parola (w)

B sposta al precedente inizio parola (W)

<RETURN> porta al primo non <SPAZIO> o <TAB> della riga seguente

+ come <RETURN>

– porta al primo non <SPAZIO> o <TAB> della riga precedente

<CTRL-F> sposta di una pagina in avanti

<CTRL-B> sposta di una pagina all’indietro

<CTRL-D> sposta di mezza pagina in avanti

<CTRL-U> sposta di mezza pagina all’indietro

G porta all’n-ima riga (1G all’inizio, G alla fine buffer)

/ ricerca una RE (espressione regolare) in avanti nel buffer ciclico

? ricerca una RE all’indietro nel buffer ciclico

n ricerca la prossima occorrenza della RE ricercata con ‘/’ o ‘?’ nella direzione corrente

N ricerca la prossima occorrenza della RE ricercata con ‘/’ o ‘?’ nella direzione opposta alla corrente

Cancellazione:

x cancella il carattere sotto il cursore

X cancella il carattere a sinistra del cursore

d cancella dalla posizione del cursore fino alla posizione definita dal seguente comando di movimento (es. dw cancella una parola)

dd cancella l’intera riga corrente

D cancella dalla posizione corrente fino al termine della riga

Sostituzione:

s cancella N caratteri e si pone in inserzione

c cancella l’unità di testo indicata nel successivo comando di spostamento e si pone in inserzione (es. cw sostituisce una parola)

C sostituisce dalla posizione corrente fino al termine della riga

cc sostituisce tutta la riga corrente

Varie:

<CTRL-L> refresh video (in modo comandi)

p ripristina il testo rimosso nell’ultima cancellazione, dopo il cursore

P ripristina il testo rimosso nell’ultima cancellazione, prima del cursore

. ripete l’ultimo comando che ha modificato il buffer

u annulla l’effetto dell’ultimo comando che ha modificato il buffer

U riporta la riga al suo stato originale

Comandi EX:

:g/RE/s//stringa/g<RETURN> sostituisce in tutto il buffer la RE (espressione regolare) con la stringa

:r nomefile<RETURN> legge il file richiesto, nel buffer

:r !comando<RETURN> legge l’uscita del comando UNIX, nel buffer

:range d<RETURN> cancella l’intervallo di righe richiesto

:range w nomefile<RETURN> scrive nel file richiesto l’intervallo di righe specificato

:set all<RETURN> mostra lo stato di tutte le opzioni modificabili con :set

:set ic<RETURN> rende insensibile l’editor al case dei caratteri nelle ricerche

:set noic<RETURN> rende sensibile l’editor al case dei caratteri nelle ricerche

:set magic<RETURN> pone l’editor nel modo magic (tipo di convenzione di scrittura delle RE)

:set nomagic<RETURN> pone l’editor nel modo nomagic (tipo di convenzione di scrittura delle RE)

:set nu<RETURN> alla sinistra delle righe viene visualizzato il loro numero

:set nonu<RETURN> alla sinistra delle righe non viene visualizzato il relativo numero