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