edit(1) edit(1)
NAME
edit - Einfach zu bedienender Editor (Variante von ex)
SYNTAX
edit [-r] [-x] [-C] datei
BESCHREIBUNG
edit ist eine einfach zu bedienende Variante des Editors ex(1). Benut-
zen Sie ihn, wenn Sie Anfänger sind oder wenn Sie nur gelegentlich
editieren. Die folgende kurze Einführung soll Ihnen helfen, mit edit
zu arbeiten. edit ist ein zeilen- und kommandoorientierter Editor.
Wenn Sie bildschirmorientiert arbeiten wollen, arbeiten Sie besser mit
vi(1) oder ced(1).
OPTIONEN
-r (r - restore) datei wird nach einem Abbruch des Editors oder
einem Absturz wiederhergestellt.
-x Verschlüsselungsoption: edit verschlüsselt die Datei beim Schrei-
ben und benötigt einen Schlüssel zum Lesen der Datei. edit klärt
ab, ob der einzulesende Text verschlüsselt ist oder nicht [siehe
crypt(1)].
-C Verschlüsselungsoption: wie -x, nur daß edit annimmt, daß alle
Dateien verschlüsselt sind.
datei
Name der Datei, die Sie mit dem Editor bearbeiten bzw. erstellen
möchten.
ARBEITEN MIT EDIT
Vorhandene Datei editieren
Wenn Sie eine bereits vorhandene Datei bearbeiten möchten, beginnen
Sie mit dem Kommandoaufruf:
$ edit datei
edit erstellt dann eine Kopie der Datei, die Sie bearbeiten möchten,
kopiert die Datei in einen Puffer und gibt die Anzahl der Zeilen und
Zeichen in datei aus.
Neue Datei erstellen
Wählen Sie einen Namen für die neue Datei und rufen Sie auf:
$ edit dateineu
Dieser Aufruf führt zu der Meldung: "dateineu" [New file]. Es ist nun
ein leerer Puffer eröffnet, in den Sie mit dem Kommando append (anfü-
gen) Text schreiben können.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
edit(1) edit(1)
edit-Kommandos eingeben
Nach dem Aufruf fordert edit Sie mit einem Doppelpunkt : zur Eingabe
von Kommandos auf.
Wenn Sie eine vorhandene Datei editieren, gibt es bereits Zeilen im
Puffer, auf die Sie edit-Kommandos anwenden können. Mit der Eingabe
zeile kommando <RETURN>
bewirken Sie, daß kommando auf zeile, mit
zeile,zeile kommando <RETURN>,
daß kommando auf den Zeilenbereich zeile,zeile angewendet wird.
Wenn Sie eine neue Datei erstellen, ist der Puffer nach dem Aufruf von
edit noch leer. Die einzig hier sinnvollen Kommandos sind append,
insert und quit.
Aktuelle Zeile
Die meisten Kommandos werden auf eine voreingestellte aktuelle Zeile
angewendet, es sei denn, Sie geben explizit eine(n) Zeile(nbereich)
an. Wenn Sie z. B.
:print <RETURN> (alle Kommandos werden mit <RETURN> abgeschlossen)
eingeben, wird diese aktuelle Zeile ausgegeben. Wenn Sie
:delete
eingeben, wird die aktuelle Zeile gelöscht und die neue aktuelle Zeile
ausgegeben. Zu Beginn einer Editorsitzung setzt edit die aktuelle
Zeile auf die letzte Zeile in der Datei. Im allgemeinen wird die
letzte durch ein Kommando angesprochene Zeile zur aktuellen Zeile.
Anfügen - append
Wenn Sie eine neue Datei erstellen oder in einer schon vorhandenen
Datei neue Zeilen hinzufügen möchten, verwenden Sie das Kommando
append oder a.
edit liest anschließend Text von Ihrer Tastatur solange ein, bis Sie
eine Zeile eingeben, die nur aus einem Punkt in der ersten Spalte
besteht:
:append
text
.
:
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
edit(1) edit(1)
In einer neuen Datei wird der Text an den Anfang, in einer schon vor-
handenen Datei hinter die aktuelle Zeile geschrieben. Die letzte
Zeile, die Sie vor dem Punkt eingeben, wird dann die neue aktuelle
Zeile.
Einfügen - insert
Das Kommando insert oder i funktioniert wie append, außer daß der neue
Text vor die aktuelle Zeile geschrieben wird:
:insert
text
.
:
Zeilennummern
edit numeriert die Zeilen im edit-Puffer. Die erste Zeile hat die Num-
mer 1. Wenn Sie das Kommando
:1
eingeben, gibt edit diese erste Zeile auf dem Bildschirm aus. Diese
erste Zeile ist nun auch die neue aktuelle Zeile, da sie zuletzt durch
ein Kommando bearbeitet wurde. Wenn Sie anschließend
:delete
eingeben, löscht edit die aktuelle, also die erste Zeile und die bis-
herige Zeile 2 wird zu Zeile 1. edit gibt dann die neue aktuelle Zeile
(die neue Zeile 1) aus, so daß Sie sich wieder orientieren können.
Ersetzen - substitute
Sie können mit dem Kommando substitute oder s Teile des Textes in der
aktuellen Zeile ersetzen. Wenn Sie
:s/alt/neu/
eingeben, wird in der aktuellen Zeile die erste Zeichenkette alt durch
die Zeichenkette neu ersetzt. Wenn die Zeichenketten alt oder neu
selbst einen Schrägstrich enthalten, müssen Sie ihn mit einem Gegen-
schrägstrich \ davor entwerten.
Datei abfragen - file
Mit dem Kommando file oder f können Sie abfragen, wie viele Zeilen im
edit-Puffer sind und ob Sie den Puffer geändert haben.
:file
Wenn Sie den Puffer geändert haben, wird ausgegeben: "[Modified]"
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
edit(1) edit(1)
Puffer in die Datei zurückschreiben - write
Im Puffer neu erstellten bzw. geänderten Text können Sie mit dem Kom-
mando write oder w sichern, d. h. in die Datei schreiben, die Sie beim
Aufruf des Editors mit edit datei angegeben haben. Der alte Inhalt der
Datei wird dabei überschrieben.
:w
Editor verlassen - quit
Nach der Eingabe des Kommandos write können Sie den Editor mit dem
Kommando quit oder q verlassen:
:quit
Wenn Sie in der edit-Sitzung die Datei nicht geändert haben, brauchen
Sie den edit-Puffer nicht mit write zurückschreiben (allerdings scha-
det es auch nichts). Wenn Sie den Pufferinhalt geändert, aber nicht
mit write gesichert haben und den Editor verlassen wollen, gibt edit
eine Warnung aus und wartet auf ein weiteres Kommando:
"No write since last change"
"Keine Sicherung seit der letzten Veränderung"
Sie können jetzt den Pufferinhalt noch sichern, indem Sie write einge-
ben. Wenn Sie dies nicht wollen, geben Sie ein:
:q!
Der Pufferinhalt ist dann unwiderruflich gelöscht. Sie kehren zurück
in die Shell.
Sie sind jetzt so weit, daß Sie alle Änderungen, die Sie machen wol-
len, durchführen können. Wenn Sie häufiger mit edit arbeiten möchten,
sollten Sie allerdings noch einige weitere Möglichkeiten kennenlernen,
die im folgenden beschrieben werden.
Ändern - change
Mit dem Kommando change oder c können Sie die aktuelle Zeile ersetzen
durch eine Folge von Zeilen, die Sie eingeben. Wie bei append schlie-
ßen Sie den neuen Text ab mit einer Zeile, in der nur ein Punkt in der
ersten Spalte steht:
:change
text
.
:
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98
edit(1) edit(1)
Mehrere Zeilen können Sie ändern, indem Sie vor dem Kommando den Zei-
lenbereich durch Anfangs- und Endzeile angeben, z. B. Zeile 3 bis
Zeile 5 einschließlich:
:3,5change
text
.
:
Die 3 alten Zeilen 3, 4, 5 werden ersetzt durch 1 neue Zeile mit dem
Inhalt text.
Ausgeben - print
Sie können auf die gleiche Weise auch mehrere Zeilen mit dem Kommando
print ausgeben. Wenn Sie z. B.
:1,23print
eingeben, werden die ersten 23 Zeilen der Datei ausgegeben.
Rückgängig machen - undo
Das Kommando undo macht die Wirkung der letzten Änderung wieder rück-
gängig. Wenn Sie z. B. mit substitute eine Ersetzung gemacht haben,
die Sie nicht beabsichtigt haben, geben Sie ein:
:undo
und der alte Inhalt wird wiederhergestellt. Sie können mit undo auch
undo selbst wieder rückgängig machen. edit gibt eine Warnung aus, wenn
Kommandos mehr als eine Zeile im edit-Puffer betreffen.
Die Kommandos write und quit können nicht rückgängig gemacht werden.
Zeilen ausgeben
Die nächste Zeile wird ausgegeben, wenn Sie
: <RETURN>
eingeben. Ein halber Bildschirm von Zeilen wird ausgegeben, wenn Sie
eingeben:
: <CTRL-D>
Einen Ausschnitt von einigen Zeilen vor bis nach der aktuellen Zeile
erhalten Sie durch Eingabe von:
:z.
Seite 5 Reliant UNIX 5.44 Gedruckt 11/98
edit(1) edit(1)
Zur aktuellen Zeile wird nun die zuletzt ausgegebene. Sie können auf
die Position vor dem Kommando z. zurückgehen, indem Sie eingeben:
:"
Sie können andere Ausschnitte wählen, indem Sie hinter z andere Zei-
chen anfügen:
:z-
gibt einen Bildschirm aus (24 Zeilen). Die letzte ausgegebene Zeile
wird zur aktuellen Zeile.
:z+
gibt den nächsten Bildschirm aus.
Wenn Sie weniger sehen wollen, z. B. nur 13 Zeilen, geben Sie ein:
:z.13
Die alte aktuelle Zeile ist die siebte Zeile auf dem Bildschirm, also
die mittlere Zeile. Wenn Sie eine gerade Zahl angeben, gibt edit eine
Zeile weniger aus, so daß die aktuelle Zeile wieder genau in der Mitte
erscheint. Die Methode, eine Anzahl anzugeben, funktioniert auch bei
anderen Kommandos. Sie können z. B. die nächsten fünf Zeilen ab der
aktuellen Zeile löschen, indem Sie eingeben:
:delete 5
Suchen von Textmustern
Um Stellen im Text zu suchen, können Sie Zeilennummern verwenden, wenn
Sie sie zufällig wissen. Diese Methode ist nicht sehr praktisch, da
sich die Nummern durch Einfügen und Löschen von Zeilen ändern. Sie
können in der Datei vorwärts nach einem bestimmten Textmuster suchen,
indem Sie eingeben:
:/textmuster/
Wird dabei das Dateiende erreicht, bevor der gesuchte Text gefunden
ist, wird die Suche vom Dateianfang bis zu der Zeile fortgesetzt, an
der sie begonnen wurde.
Rückwärts suchen Sie, indem Sie eingeben:
:?textmuster?
Wenn textmuster selbst eines der Begrenzungszeichen / oder ? enthält,
müssen Sie es mit einem Gegenschrägstrich \ davor entwerten. Nützlich
sind in diesem Zusammenhang zwei Spezialfälle des Suchkommandos, mit
denen Sie nach textmuster nur am Zeilenanfang oder am Zeilenende
Seite 6 Reliant UNIX 5.44 Gedruckt 11/98
edit(1) edit(1)
suchen können:
:/^textmuster/ sucht textmuster am Zeilenanfang und
:/textmuster$/ sucht textmuster am Zeilenende.
Das zweite / bzw. ? kann in diesen Kommandos weggelassen werden.
Spezielle Zeilen
Die aktuelle Zeile können Sie explizit mit einem Punkt ".", die letzte
Zeile mit einem Dollar-Zeichen $ bezeichnen.
Diese Bezeichnungen sind vor allem in Bereichsangaben nützlich. Mit
:.,$print
wird z. B. der Rest der Datei ausgegeben. Der Aufruf
:$delete
löscht die letzte Zeile einer Datei, unabhängig davon, welche Zeile
gerade die aktuelle Zeile ist.
Sie können auch Positionen relativ zu diesen Bezeichnungen angeben,
z. B. ist
:$-5 die 5. Zeile vor der letzten,
:.+20 die 20. Zeile nach der aktuellen Zeile.
Aktuelle Position
Die aktuelle Zeilennummer können Sie abfragen mit:
:.=
oder mit
=
Bereichsangaben
Wenn Sie Bereiche ändern, kopieren, verschieben oder sich ausgeben
lassen möchten, können Sie vor den Kommandos Bereichsangaben machen,
z. B. löschen Sie mit
:10,20delete
den Bereich von Zeile 10 bis 20 einschließlich.
Seite 7 Reliant UNIX 5.44 Gedruckt 11/98
edit(1) edit(1)
Verschieben
Bereiche können Sie wie folgt verschieben: Bereich feststellen (mit
Hilfe des Kommandos =), z. B. Bereich:
10,20
Für diesen Bereich rufen Sie auf:
:10,20delete a
Damit wird der Bereich von Zeile 10 bis 20 gelöscht und gleichzeitig
in einen Puffer mit dem Namen a (a-Puffer) geschrieben. edit hat 26
dieser Hilfspuffer. Sie heißen a, b, ... z.
Sie können diesen Text später wieder aus dem a-Puffer holen.
:put a
holt den Inhalt des a-Puffers und schreibt ihn hinter die aktuelle
Zeile. Der Inhalt eines Puffers bleibt nur innerhalb einer Editor-
Sitzung erhalten und zwar solange, bis er mit anderen Zeichen über-
schrieben wird.
Datei wechseln
Wenn Sie dabei auch noch die Datei wechseln wollen, geben Sie nach dem
Zwischenspeichern ein:
:edit anderedatei
Dadurch wechselt edit die Datei auf anderedatei und Sie können wie
oben beschrieben fortfahren.
Kopieren
Wenn Sie innerhalb einer Datei kopieren, z. B. den Bereich 10,20 an
das Dateiende, geben Sie ein:
:10,20move $
Sie brauchen in diesem Fall keinen Hilfspuffer.
Wenn Sie in eine andere Datei kopieren, benutzen Sie statt des Komman-
dos delete das Kommando yank. Alles weitere geht genauso wie beim Ver-
schieben.
Seite 8 Reliant UNIX 5.44 Gedruckt 11/98
edit(1) edit(1)
KOMMANDOÜBERSICHT
Die folgende Liste enthält die edit-Kommandos in alphabetischer Rei-
henfolge.
______________________________________________________________________
| a | append | anfügen |
|___________|_____________|___________________________________________|
| c | change | löschen und ersetzen |
|___________|_____________|___________________________________________|
| d | delete | Zeile(nbereich) löschen oder löschen und |
| | | in einen benannten, Puffer schreiben |
|___________|_____________|___________________________________________|
| f | file | Anzahl der Zeilen im Puffer ausgeben |
|___________|_____________|___________________________________________|
| i | insert | einfügen |
|___________|_____________|___________________________________________|
| m | move | Zeilenbereich verschieben |
|___________|_____________|___________________________________________|
| n1[,n2] | --- | Zeile mit Nummer n1 oder Zeilenbereich |
| | | von n1 bis n2 ausgeben |
|___________|_____________|___________________________________________|
| p | print | ausgeben |
|___________|_____________|___________________________________________|
| put | put | Inhalt eines bestimmten (benannten) Puf- |
| | | fers in Dateikopie schreiben |
|___________|_____________|___________________________________________|
| q | quit | edit verlassen |
|___________|_____________|___________________________________________|
| q! | quit | edit ohne Warnung verlassen |
|___________|_____________|___________________________________________|
| s | substitute | suchen und ersetzen |
|___________|_____________|___________________________________________|
| u | undo | Kommando rückgängig machen |
|___________|_____________|___________________________________________|
| w | write | Pufferinhalt in Datei schreiben |
|___________|_____________|___________________________________________|
| y | yank | Zeile(nbereich) in (benannten) Puffer |
| | | schreiben |
|___________|_____________|___________________________________________|
| z | --- | umgebende Zeilen ausgeben |
|___________|_____________|___________________________________________|
| .= | --- | aktuelle Zeilennummer ausgeben |
|___________|_____________|___________________________________________|
| <RETURN> | --- | zur nächsten Zeile im Puffer springen |
|___________|_____________|___________________________________________|
| <CTRL-D> | --- | halben Bildschirm mit Zeilen füllen |
|___________|_____________|___________________________________________|
| /text[/] | --- | nach text suchen |
|___________|_____________|___________________________________________|
Seite 9 Reliant UNIX 5.44 Gedruckt 11/98
edit(1) edit(1)
______________________________________________________________________
| /^text[/] | --- | nach text am Zeilenanfang suchen |
|___________|_____________|___________________________________________|
| /text$[/] | --- | nach text am Zeilenende suchen |
|___________|_____________|___________________________________________|
| ?text[?] | --- | rückwärts nach text suchen |
|___________|_____________|___________________________________________|
| ?^text[?] | --- | rückwärts nach text am Zeilenanfang |
| | | suchen |
|___________|_____________|___________________________________________|
| ?text$[?] | --- | rückwärts nach text am Zeilenende suchen |
|___________|_____________|___________________________________________|
ENDESTATUS
Immer 0.
FEHLERMELDUNGEN
At end-of-file
Das Dateiende ist erreicht.
Badly formed address
Sie haben die Adresse(n) in einer unzulässigen Form angegeben, z. B.
5.7 statt 5,7.
File is read only
Sie haben für die Datei nur das Leserecht [siehe chmod(1)] und dürfen
deshalb den Puffer nicht in die Datei zurückschreiben.
First address exceeds second
Sie haben einen ungültigen Zeilenbereich angegeben: die zweite Adresse
liegt vor der ersten.
Not an editor command
Sie haben ein ungültiges edit-Kommando angegeben.
Nothing in register b
Sie haben versucht, den Inhalt eines leeren benannten Puffers zu ver-
wenden.
Not that many lines in the buffer
Sie haben eine zu hohe Adresse angegeben: im edit-Puffer befinden sich
nicht so viele Zeilen.
Seite 10 Reliant UNIX 5.44 Gedruckt 11/98
edit(1) edit(1)
No write since last change (:quit! overrides)
Warnung: Sie haben den Pufferinhalt seit der letzten Veränderung nicht
mit write gesichert.
BEISPIELE
Im folgenden Beispiel werden einige edit-Kommandos vorgeführt und
erläutert.
$ edit bueroartikel - Aufruf von edit mit neuem Dateinamen
"bueroartikel" [New file] - Meldungstext von edit
:i - Vor aktueller Zeile einfügen
No lines in the buffer - Keine Zeilen im Puffer
:a - Nach aktueller Zeile (= am Dateianfang)
einfügen
Bleistift - Eingabetext
Radiergummi
Ringbuch
. - Eingabe beenden
:p - Aktuelle Zeile ausgeben
Ringbuch - Aktuelle (= letzte bearbeitete) Zeile
:1,$p - Erste bis letzte Zeile ausgeben
Bleistift
Radiergummi
Ringbuch
:3d - Dritte Zeile löschen
Radiergummi - Neue aktuelle Zeile (= letzte) wird aus-
gegeben
:1,$p - Erste bis letzte Zeile ausgeben
Bleistift
Radiergummi
:2i - Vor der zweiten Zeile einfügen
Filzstift
Spitzer
. - Eingabe beenden
:1,$p - Erste bis letzte Zeile ausgeben
Bleistift
Filzstift
Spitzer
Radiergummi
:1,2delete a - Zeile 1 bis 2 löschen und in Puffer a
schreiben
2 lines deleted - Bestätigung
Spitzer - Neue aktuelle (= neue erste) Zeile wird
ausgegeben
:w - Sichern des Inhalts des Editorpuffers
durch Zurückschreiben in die beim Aufruf
angegebene Datei
"bueroartikel" [New file] 2 lines, 20 characters
:1,$p - Erste bis letzte Zeile ausgeben
Spitzer
Radiergummi
Seite 11 Reliant UNIX 5.44 Gedruckt 11/98
edit(1) edit(1)
:edit stifte - Neue Datei stifte editieren
"stifte" No such file or directory
- Bestätigung einer neuen Datei
:put a - Puffer a hineinschreiben
2 lines put - Bestätigung
Filzstift - Aktuelle (= letzte) Zeile von stifte wird
ausgegeben
:1,$p - Erste bis letzte Zeile ausgeben
Bleistift
Filzstift
:w - Zurückschreiben des Inhalts des Editor-
puffers in die zuletzt editierte Datei,
hier stifte
"stifte" [New file] 2 lines, 20 characters
:a - An aktuelle (= letzte) Zeile anfügen
Kugelschreiber - Eingabetext
. - Eingabe beenden
:q - Versuch, Editor zu verlassen
No write since last change (:quit! overrides)
- Warnung, daß der Inhalts des Editorpuf-
fers seit der letzten Veränderung nicht
mit w gesichert wurde
:w - Zurückschreiben des Inhalts des Editor-
puffers in die zuletzt editierte Datei,
hier stifte
"stifte" 3 lines, 35 characters
- Bestätigung
:q - Editor verlassen
$ - Bereitzeichen der Shell
SIEHE AUCH
ced(1), ed(1), ex(1), vi(1).
Seite 12 Reliant UNIX 5.44 Gedruckt 11/98