Workstation online OnWorks Linux e Windows

Logo

Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

Ricerca e sostituzione globale

vi utilizza un comando ex per eseguire operazioni di ricerca e sostituzione (chiamate "sostituzione" in vi) su un intervallo di righe o sull'intero file. Per modificare la parola "Line" in "line" per l'intero file, digitiamo il seguente comando:



:%s/Linea/linea/g

:%s/Linea/linea/g


Scomponiamo questo comando in elementi separati e vediamo cosa fa ciascuno:


Tabella 12-5: Un esempio di sintassi di ricerca e sostituzione globale


Significato dell'articolo

Significato dell'articolo

: Il carattere due punti inizia un comando ex.


Immagine

% Specifica l'intervallo di linee per l'operazione. % è una scorciatoia che significa dalla prima all'ultima riga. In alternativa, l'intervallo avrebbe potuto essere specificato 1,5 (dato che il nostro file è lungo cinque righe), oppure 1, $ che significa "dalla riga 1 all'ultima riga del file". Se l'intervallo di righe viene omesso, l'operazione viene eseguita solo sulla riga corrente.


Immagine

Cerca e sostituisci


Immagine

s Specifica l'operazione. In questo caso, la sostituzione (ricerca e sostituzione).


Immagine

/Line/line/ Il modello di ricerca e il testo sostitutivo.


Immagine

g Significa "globale" nel senso che la ricerca e sostituzione viene eseguita su ogni istanza della stringa di ricerca nella riga. Se omesso, viene sostituita solo la prima istanza della stringa di ricerca su ogni riga.


Immagine


Dopo aver eseguito il comando di ricerca e sostituzione, il nostro file apparirà così:



La volpe marrone veloce saltò sopra il cane pigro. Era fantastico. riga 2

Linea 3

Linea 4

Linea 5

La volpe marrone veloce saltò sopra il cane pigro. Era fantastico. riga 2

Linea 3

Linea 4

Linea 5


Possiamo anche specificare un comando di sostituzione con conferma da parte dell'utente. Questo si ottiene aggiungendo una "c" alla fine del comando. Ad esempio:



:%s/riga/Riga/gc

:%s/riga/Riga/gc


Questo comando riporterà il nostro file alla sua forma precedente; tuttavia, prima di ogni sostituzione, vi si ferma e ci chiede di confermare la sostituzione con questo messaggio:


sostituire con la riga (y/n/a/q/l/^E/^Y)?

sostituire con la riga (y/n/a/q/l/^E/^Y)?


Ciascuno dei caratteri tra parentesi è una possibile scelta, come segue:


Tabella 12-6: Sostituisci chiavi di conferma


Azione chiave

Azione chiave

y Eseguire la sostituzione.


Immagine

n Salta questa istanza del pattern.


Immagine

a Eseguire la sostituzione su questa e tutte le istanze successive del pattern.


Immagine


Immagine

q o Esc Esci dalla sostituzione.


Immagine

l Esegui questa sostituzione e poi esci. Abbreviazione di "last".


Immagine

Ctrl-e, Ctrl-y Scorrono rispettivamente verso il basso e verso l'alto. Utile per visualizzare il contesto della sostituzione proposta.


Immagine


Se si digita y, la sostituzione verrà eseguita, n causerà vi per saltare questa istanza e passare a quella successiva.


Il miglior sistema operativo cloud computing su OnWorks: