Utilizzo Avanzato di Vi

Nello scorso articolo dedicato all’editor di Linux Vi, ci siamo soffermati sull’uso basilare del programma, oggi vedremo le opzioni avanzate. Chi conosce il programma potrebbe pensare che queste non siano le opzioni avanzate, ma della vita di tutti i giorni per gli utilizzatori di vi. Questi due articoli sono destinati ai non utilizzatori di vi, per far avvicinare molti più utenti di Linux a questo potente editor di testi a riga di comando. Quando siamo in modalità comando possiamo lavorare sulle parole e righe con i seguenti operatori:

  • c – Cambia
  • d – Cancella
  • y – Copia in un buffer interno ( yank )

o comandi su parole o linee:

  • ^ – Inizio della linea
  • $ – Fine della linea
  • w – Una parola avanti
  • W – Una parola avanti, compresa la punteggiatura
  • b – Una parola indietro
  • B – Una parola indietro, compresa la punteggiatura
  • e – Fine della parola corrente
  • E – Fine della parola corrente, compresa la punteggiatura
  • ) – Frase seguente
  • ( – Frase precedente
  • j – Avanti una linea
  • k – indietro una linea
  • h – A sinistra di un carattere
  • l – A destra di un carattere

Questi comandi possono essere anche dati più di una volta, inserendo il numero delle volte che si desidera siano compiuti, vediamo qualche esempio:

  • 2dw – Cancella 2 parole contigue
  • 2dW – Cancella 2 parole con la punteggiatura tra le due
  • d^ – Cancella dalla posizione corrente, esclusa, fino ad inizio linea
  • d) – Cancella dalla posizione corrente, esclusa, fino alla fine della frase
  • cw sostituto – Sostituisce la parola corrente con sostituto e poi premere ESC per ritornare in modalità comando

Come si può capire da questi esempi vi è un editor molto potente, basta solo conoscerlo a fondo. Se ad esempio vogliamo cancellare 10 parole dobbiamo dare il comando 10dw, in questo modo diciamo a vi di cancellare per dieci volte una parola, mentre scrivendo d10w, gli si dice di cancellare una volta dieci parole, si possono anche cancellare due parole per cinque volte con 5d2w.
Per effettuare la sostituzione di un testo, vi è anche qui molto potente. Occorre scrivere : e poi inserire l’intervallo delle righe in cui ricercare la parola da sostituire, quindi il comando s per la sostituzione, poi inserire / e poi il testo da sostituire e /, poi il testo sostitutivo ed ancora /. Ad esempio per sostituire nelle prime 3 righe del testo la parola “sfortuna” con “fortuna” dobbiamo dare questo comando:

:1,3s/sfortuna/fortuna

a seguire possiamo anche inserire le eventuali opzioni del comando s. Se vogliamo invertire invece due lettere, portare il cursore sulla prima delle due e scrivere xp, x cancella il carattere sotto il cursore e p lo inserisce nuovamente, ma dopo la lettera che segue. Se ad esempio si scrivesse spesso “teh” al posto di “the” si può dire a vi di cambiarlo con il comando :ab teh the seguito da invio. Ultima informazione che voglio segnalarvi è una cosa facilissima, la ricerca del testo in vi. In modalità comando basta inserire / seguito dalla parola da ricercare e dare invio. In particolare / consente di effettuare la ricerca in avanti dalla posizione corrente, mentre ? consente di effettuare la ricerca all’indietro.
Per maggiori informazioni sui comandi di vi, rimando alle pagine man ( man vi ) della vostra distribuzione o alle pagine di help del programma. Per ora fermiamoci qui, ma probabilmente parleremo ancora di questo fantastico editor di testo, trattando la configurazione dell’ambiente di lavoro con vi.
Voglio segnalarvi anche che potete colloquiare con me attraverso il forum dedicato a Linux.

Informazioni su Giampaolo Rossi

Sviluppatore di software gestionale da oltre 28 anni.
Questa voce è stata pubblicata in Linux. Contrassegna il permalink.

3 risposte a Utilizzo Avanzato di Vi

  1. Anonymous scrive:

    Occhio a "d)" che immagino sia "d$"!
    Bella guida, ciao!

  2. Giampaolo Rossi scrive:

    Ciao, è giusto ciò che dico nel post perchè spiego che con d) viene cancellato dal carattere selezionato, escluso, fino a fine frase, con d$ viene cancellato fino a fine linea.

  3. Anonymous scrive:

    Pardon! mi ero ingannato per il fatto che avevi messo prima d^, e credevo volessi fare il suo contrario senza accorgermi che avevi fatto la differenza tra frase e linea. Ripardon! bye

I commenti sono chiusi.