Guida avanzata a Solaris

Comandi di ex

I comandi di ex possono essere più comodi e precisi di yank, delete e put quando le operazioni riguardano blocchi di testo relativamente estesi. Anziché contare le righe sullo schermo e quindi spostarsi nel nuovo punto di inserimento, si indica a vi un ambito di righe da spostare o da copiare e quindi si specifica la riga che precede il punto di inserimento desiderato.

Abilitazione e disabilitazione dei numeri di riga

Per abilitare i numeri di riga, digitare :set nu e premere Return.

I numeri di riga compaiono sul lato sinistro dello schermo. Non compaiono tuttavia quando il file viene stampato.

 1 Ascoltami, i poeti laureati
 2 si muovono soltanto tra le piante
 3 dai nomi poco usati: bossi ligustri o acanti.
 4
 5 Io, per me, amo le strade che riescono agli erbosi
 6 fossi dove in pozzanghere
 7 mezzo seccate agguantano i ragazzi
 8 qualche sparuta anguilla:
 9 le viuzze che seguono i ciglioni,
10 discendono tra i ciuffi delle canne
11 e mettono negli orti, tra gli alberi dei limoni.
~
~
~
~
:set nu

Per disabilitare i numeri di riga, digitare :set nonu e premere Return.

Copia di righe

La sintassi base del comando di ex per la copia di un testo è la seguente:

:numeroriga,numeroriga co numeroriga

I primi due numeri (separati da una virgola) specificano l'ambito di righe da copiare. Il terzo numero indica la riga prima del punto di inserimento.

Ad esempio, per copiare le righe da 1 a 5 di prova e inserire la copia dopo la riga 12, digitare:

:1,5 co 12

e premere Return.

Per specificare gruppi di righe, usare le seguenti abbreviazioni:

Per copiare perciò "dalla riga corrente fino alla riga 5" e inserire il blocco copiato dopo la riga 12, il comando da digitare sarà il seguente:

:.,5 co 12

Per copiare "dalla riga 6 alla fine del file" e inserire il blocco copiato dopo la riga 2, il comando da digitare sarà:

:6,$ co 2

Spostamento di righe

La sintassi base del comando di spostamento di ex è simile a quella del comando di copia descritto in precedenza:

:numeroriga,numeroriga m numeroriga

Per specificare i gruppi di righe e i punti di inserimento si utilizzano le stesse convenzioni del comando di copia, compreso l'uso delle abbreviazioni . e $. L'unica differenza consiste nel fatto che il comando di spostamento cancella il blocco dalla posizione originaria e lo reinserisce nel punto designato.

Ad esempio, per spostare le righe 1-5 alla riga dopo la 12, digitare:

:1,5 m 12

e premere Return.

Cancellazione di righe

Per cancellare un gruppo di righe, la sintassi del comando è la seguente:

:numeroriga,numeroriga d

Ad esempio, per cancellare le righe 1-5, digitare:

:1,5 d