In questa parte del corso introduciamo alcuni comandi utili per poter moficare qualsiasi file di testo con il nostro editor preferito (bisognerà fare un sondaggio) Vi. In virtù di quanto detto nel precedente articolo, dovremmo avere a disposizione un file contenente la bibbia; usiamolo per cercare di ritrovarci. Vi ricordo come scaricarlo
curl http://www.gutenberg.org/cache/epub/999/pg999.txt > pg999.txt vi pg999.txt oppure
wget http://www.gutenberg.org/cache/epub/999/pg999.txt vi pg999.txt Supponendo di avere un terminale grande 80×30 caratteri (e di trovarci in modalità command), posizioniamoci all’interno del file nel punto in cui inizia il Canto I, ovvero a riga 328 che per noi corrisponde alla pagina 12; per fare questo abbiamo come sempre più possibilità:
- scorrere le pagine con il comando
Ctrl +F per circa 12 volte, oppure utilizziamo una bellissima caratteristica di Vim che permette di ripetere i comandi un determinato numero di volte, basta anteporre al comando il numero desiderato. Dunque nel nostro caso digitiamo1 2 Ctrl +F , il gioco è fatto. - chi non avesse la stessa dimensione del terminale potrebbe voler saltare direttamente alla riga desiderata…ok…lo potevo dir prima, ma va bene lo stesso! Basta digitare “:” seguiti dal numero di riga, quindi nel nostro caso
: 3 2 8 Enter
A questo punto poniamoci 2 righe sotto la riga appena detta (dovrebbe essere vuota) ed inseriamo del testo, per farlo basterà entrare in modalità inserimento digitanto il carattere
Dunque digitando del testo in modalità inserimento questo verrà inserito nel file nel punto in cui si trova il cursore, tuttavia se volessimo sostituire del testo anzichè inseriro, trovandosi in modalità command, dovremmo digitare
Noterete sicuramente che la parola che abbiamo modificato era più lunga di quella inserita, quindi sono presenti altri due caratteri da cancellare, per farlo utilizziamo il tasto
Ora sappiamo come inserire e cancellare caratteri , ma mettiamo il caso che abbiamo sbagliato qualcosa e ci accorgiamo di voler tornare indietro? Niente di più facile basta premere il tasto
Per seguirci meglio, vi potrebbe essere utile visualizzare i numeri di riga, per farlo digitate il comando “:set number” e vedrete ciascuna riga del file preceduta dal numero di riga.
Dicevamo, se ora abbiamo necessità di cancellare una intera riga di testo, basterà digitare
Prima vi illustro come poter effettuare una ricerca: digitate il carattere
Ora che sappiamo come effettuare la ricerca, vediamo come riuscire ad ottenere quanto vogliamo realizzare ovvero cancellare le prime 10 righe che contengono la parola “Canto”. Introduciamo le macro, che consentono di registrare sequenze di azioni per poterle riutilizzare in seguito. La sintassi è semplice infatti la registrazione inizia premendo il tasto
Utilizziamo questo strumento per i nostri propositi, registriamo una macro che si posiziona sulla prossima occorrenza della stringa cercata e cancelliamola, quindi i tasti che digiteremo nella macro saranno
Finiamo il nostro piano diabolico:
- Cerchiamo la stringa “Canto” digitando
/ “Canto”; - Posizioniamoci all’inizio del file
gg - Eseguiamo la macro per 10 volte con il comando
1 0 @ A .
L’ultimo comando esegue la macro per dieci volte, infatti il comando di esecuzione è
Il gioco è fatto, abbiamo illustrato un po’ di comandi basilari per l’editing e qualche altro comando non troppo avanzato ma molto molto utile. Visto che è inerente questo articolo specifichiamo che è possibile entrare in modalità inserimento anche premento il tasto
Piccolo ripasso:
- Entra in modalità inserimento
I - Entra in modalità inserimento partendo dalla posizione successiva al cursore
A - Entra in modalità inserimento partendo dalla fine della riga
Shift +A - Entra in modalità sostituzione
Shift +R - Cancellazione di un carattere
X - Cancellazione del carattere precedente al cursore
Shift +X - Annulla l’ultima operazione effettuata (Undo)
U - Annulla l’ultimo annullamento (Redo)
Ctrl +R - Inserimento nuova riga
O - Cancellazione riga
D D - Ricerca di testo
/ seguito dal testo e infineEnter - Successiva occorrenza del testo cercato
N - Registrazione macro
Q A ; operazioni da registrare;Q - Utilizzo macro
@ A
Fatemi sapere se vi può interessare ancora qualche altro comando!
