Wenn Sie mit größeren Textblöcken arbeiten, sind ex-Befehle praktischer als die zuvor beschriebenen vi-Befehle. Anstatt die zu löschenden oder zu kopierenden Zeilen zu zählen und dann einen Einfügepunkt zu setzen, geben Sie einfach einen Zeilenbereich an und legen fest, nach welcher Zeilennummer diese Zeilen eingesetzt werden sollen.
Um die Bildschirmzeilen zu numerieren, geben Sie type :set nu ein und drücken Return".
Die Zeilennummern werden am linken Bildschirmrand angezeigt. Wenn Sie die Datei drucken, werden die Nummern nicht ausgegeben.
Um die Ausgabe der Zeilennummern zu deaktivieren, geben Sie :set nonu ein und drücken Return".
Der Kopierbefehl von ex wird in folgendem Format eingegeben:
:zeile#,zeile# co zeile# |
Die beiden ersten, durch ein Komma getrennten Zeilennummern geben den zu kopierenden Bereich an. Die dritte Nummer bezeichnet die Zeile, unter der die kopierten Zeilen eingefügt werden sollen.
Um die Zeilen 1 bis 5 in der Datei test zu kopieren und unter der Zeile 12 einzusetzen, würden Sie also folgendes eingeben:
:1,5 co 12 |
Schließen Sie die Eingabe mit Return" ab.
Bei der Angabe des Zeilenbereichs können Sie zwei Abkürzungen verwenden:
Mit dem folgenden Befehl kopieren Sie den Bereich von der aktuellen Zeile bis Zeile 5 und setzen die kopierten Zeilen nach Zeile 12 ein:
:.,5 co 12 |
Mit dem folgenden Befehl kopieren Sie alle Zeilen von Zeile 6 bis zum Dateiende und setzen die kopierten Zeilen nach Zeile 2 ein:
:6,$ co 2 |
Der Befehl zum Bewegen von Zeilen ist dem oben beschriebenen Kopierbefehl sehr ähnlich:
:zeile#,zeile# m zeile# |
Zeilenbereich und Einfügepunkt werden ebenso angegeben wie beim Kopieren von Zeilen. Die Abkürzungen . und $ sind ebenfalls zulässig. Der Bereich wird hier jedoch nicht kopiert, sondern ausgeschnitten und an einer anderen Stelle wieder eingesetzt.
Um die Zeilen 1 bis 5 zu löschen und nach Zeile 12 wieder einzusetzen, geben Sie folgenden Befehl ein und drücken Return":
:1,5 m 12 |
Mit folgendem Befehl löschen Sie eine Gruppe von Zeilen:
:zeile#,zeile# d |
Um die Zeilen 1 bis 5 zu löschen, geben Sie also folgendes ein:
:1,5 d |