28.05.2013 Views

LOA HackLab - Autistici

LOA HackLab - Autistici

LOA HackLab - Autistici

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

96 C12 Editor di testo<br />

Incontri su UNIX<br />

Loa Hack Lab Milano<br />

L.S.O.A. Deposito Bulk Milano<br />

~<br />

~<br />

~<br />

:.,$s/Milano/MI/g[Enter]<br />

ossia modifica dalla linea attuale ( .) alla linea finale ($) la stringa “Milano” con la<br />

stringa “MI”.<br />

Incontri su UNIX<br />

Loa Hack Lab MI<br />

L.S.O.A. Deposito Bulk MI<br />

~<br />

~<br />

~<br />

Ricordiamo che del significato delle regexpr non si dà spiegazione rimandando al capitolo<br />

ad esse dedicato per una comprensione della sintassi e degli elementi. Solo scopo di questo<br />

paragrafo è mostrare l’uso delle regexpr all’interno di vi.<br />

Vediamo alcuni trucchi per Rendere Il Mondo Un Posto Migliore usando vi. È possibile<br />

eseguire delle sostituzioni che tengano conto del contesto della riga. Ad esempio<br />

ammettiamo di voler eseguire la modifica della parola “MI” in “Milano” solo se la riga<br />

contiene la parola “Bulk”. Esiste allo scopo una comodissima sintassi:<br />

Corso di UNIX<br />

Loa Hack Lab MI<br />

L.S.O.A. Deposito Bulk MI<br />

~<br />

~<br />

~<br />

:/Bulk/s/MI/Milano/[Enter]<br />

Il significato dell’espressione può essere parafrasato cerca la parola “Bulk”: se la ricerca<br />

è positiva modifica la parola “MI” con “Milano”. Tutto chiaro?<br />

Attenzione all’uso di stringhe non vincolate come pattern di ricerca! La regexpr<br />

:%s/sistema/metodo/ ad esempio modificherà anche “sistematico” in “metodotico”,<br />

che non è di certo quello che vogliamo. Utilizziamo allora i marcatori di inizio e<br />

fine di parola (\< e \>), come in :\%s/\/metodo/. Questa non cambia<br />

“sistematico” in “metodotico” perché dopo “sistema” non c’è uno spazio o un Tab ma<br />

un carattere (“t”).<br />

Se non siete certi dell’effetto che la sostituzione avrà sul testo e preferite controllare<br />

ogni match prima di cambiarlo, basta aggiungere l’opzione c alla fine della regexpr:<br />

:%s/casa/cassa/gc. In questo modo vi chiederà conferma, attendento y[Enter] per<br />

una risposta positiva o solo [Enter] per una negativa.<br />

Personalizzare vi 7.1.12<br />

vi consente un’alta personalizzazione dell’ambiente di lavoro attraverso opzioni, mappature<br />

e abbreviazioni. Tutta la configurazione di vi può essere cambiata dentro una

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!