der_unix-standard-editor_vi
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| der_unix-standard-editor_vi [2016-04-12 22:49:58] – Externe Bearbeitung 127.0.0.1 | der_unix-standard-editor_vi [2019-09-11 11:09:32] (aktuell) – [der UNIX-Standard-Editor vi] manfred | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== der UNIX-Standard-Editor vi ====== | ||
| + | |||
| + | Es ist einer der ältesten Editoren in der PC-Geschichte, | ||
| + | |||
| + | Wenn einer unbedingt will, kann auch den " | ||
| + | Die sind für ungeduldige Windowsumsteiger vielleicht besser geeignet. | ||
| + | |||
| + | Allerdings sind die heute verwendeten Nachfolger nicht in jedem Fall kompatibel. | ||
| + | Die größten Unterschiede gibt es in den Erweiterungen, | ||
| + | denn der Ur-vi konnte noch nicht alles, was seine aktuellen Nachfolger können. | ||
| + | |||
| + | Der wichtigste Unterschied liegt in der //Undo//- und // | ||
| + | |||
| + | Ich betrachte hier nur die beiden am stärksten verbreiteten vi-Klone: | ||
| + | - nvi (BSD) | ||
| + | - [[::vi / vim|vim]] (Linux) | ||
| + | |||
| + | Es gibt da aber noch den " | ||
| + | |||
| + | Der Original-vi sowie der " | ||
| + | Deshalb können der " | ||
| + | |||
| + | |||
| + | ===== Undo- / Redo-Unterschiede ===== | ||
| + | |||
| + | Löscht man aus versehen etwas zuviel und möchte die zuviel gelöschten Zeichen wieder zurück holen, | ||
| + | dann ist es bei einem einzigen Zeichen noch einfach. | ||
| + | |||
| + | Mit einem Druck auf die Taste " | ||
| + | |||
| + | Schwierig wird es da, wenn mehrere Zeichen zurückgeholt werden sollen. | ||
| + | |||
| + | Am besten zeige ich das mal an Hand eines Beispieltextes bezogen auf einen bestimmten vi-Klon. | ||
| + | |||
| + | Bitte nicht daran stören, das der Text an den Haaren herbeigezogen wurde und meine persönliche Meinung wiederspiegelt. | ||
| + | |||
| + | |||
| + | ==== " | ||
| + | |||
| + | Wir tippen zuerst den Text mit Tippfehler: | ||
| + | |||
| + | Der vi ist der beste editor der welt._ | ||
| + | |||
| + | Jetzt löschen wird mal etwas durch mehrfaches drücken der Tast " | ||
| + | |||
| + | Der vi ist_ | ||
| + | |||
| + | Durch einmaliges Drücken der Taste " | ||
| + | |||
| + | Um noch mehr Zeichen zurück zubekommen, muss man jetzt einfach nur die Taste " | ||
| + | |||
| + | Das nennt sich //Undo//. | ||
| + | |||
| + | Der vi ist der beste_ | ||
| + | |||
| + | Jetzt haben wir etwas zuviel zurückgeholt, | ||
| + | |||
| + | //Redo// bedeutet, man macht das //Undo// wieder rückgängig, | ||
| + | |||
| + | Hierzu wird einfach nocheinmal die Taste " | ||
| + | |||
| + | Jetzt kann man mit der Taste " | ||
| + | |||
| + | Der vi ist der _ | ||
| + | |||
| + | Jetzt schreiben wir weiter: | ||
| + | |||
| + | Der vi ist der allerbeste Editor der Welt._ | ||
| + | |||
| + | |||
| + | ==== " | ||
| + | |||
| + | Wird der " | ||
| + | wird er dagegen mit dem Kommando " | ||
| + | |||
| + | " | ||
| + | |||
| + | |||
| + | Wir tippen zuerst den Text mit Tippfehler: | ||
| + | |||
| + | Der vi ist der beste editor der welt._ | ||
| + | |||
| + | Jetzt löschen wird mal etwas durch mehrfaches drücken der Tast " | ||
| + | |||
| + | Der vi ist_ | ||
| + | |||
| + | Durch einmaliges Drücken der Taste " | ||
| + | |||
| + | Um noch mehr Zeichen zurück zubekommen, muss man jetzt einfach nur die Tastenkombination " | ||
| + | |||
| + | Das nennt sich //Undo//. | ||
| + | |||
| + | Der vi ist der beste_ | ||
| + | |||
| + | Jetzt haben wir etwas zuviel zurückgeholt, | ||
| + | |||
| + | //Redo// bedeutet, man macht das //Undo// wieder rückgängig, | ||
| + | |||
| + | Hierzu wird einfach nocheinmal die Taste " | ||
| + | |||
| + | Jetzt kann man mit der Tastenkombination " | ||
| + | |||
| + | Der vi ist der _ | ||
| + | |||
| + | Jetzt schreiben wir weiter: | ||
| + | |||
| + | Der vi ist der allerbeste Editor der Welt._ | ||
| + | |||
| + | Die Taste " | ||
| + | In diesem Lösch-Beispiel wäre das die Taste " | ||
| + | |||
| + | |||
| + | ==== " | ||
| + | |||
| + | Wird der " | ||
| + | wird er dagegen mit dem Kommando " | ||
| + | |||
| + | " | ||
| + | |||
| + | |||
| + | Wir tippen zuerst den Text mit Tippfehler: | ||
| + | |||
| + | Der vi ist der beste editor der welt._ | ||
| + | |||
| + | Jetzt löschen wird mal etwas durch mehrfaches drücken der Tast " | ||
| + | |||
| + | Der vi ist_ | ||
| + | |||
| + | Durch beliebig oftes Drücken der Taste " | ||
| + | |||
| + | Das nennt sich //Undo//. | ||
| + | |||
| + | Der vi ist der beste_ | ||
| + | |||
| + | Jetzt haben wir etwas zuviel zurückgeholt, | ||
| + | |||
| + | //Redo// bedeutet, man macht das //Undo// wieder rückgängig, | ||
| + | |||
| + | Durch beliebig oftes Drücken der Tastenkombination " | ||
| + | |||
| + | Der vi ist der _ | ||
| + | |||
| + | Jetzt schreiben wir weiter: | ||
| + | |||
| + | Der vi ist der allerbeste Editor der Welt._ | ||
| + | |||
| + | Die Taste " | ||
| + | Ganz so wie man es von " | ||
| + | |||
| + | Das ist in meinen Augen zwar ein guter Editor, er verdient aber nicht das " | ||
| + | Er hätte besser den Namen " | ||
| + | |||
| + | |||
| + | ===== Liste der wichtigsten Funktionen (nvi, sollten aber auch im vi/vim funktionieren) ===== | ||
| + | |||
| + | . | ||
| + | 3. ....................wiederholt den letzten Befehl 3 mal | ||
| + | i.......................fügt vor dem Cursor ein | ||
| + | I.......................fügt am Zeilenanfang ein | ||
| + | a.......................fügt nach dem Cursor ein | ||
| + | A.......................hängt am Zeilenende an | ||
| + | o.......................öffnet unter dem Cursor eine Zeile | ||
| + | O.......................öffnet ueber dem Cursor eine Zeile | ||
| + | s.......................ersetzt ein Zeichen | ||
| + | 3s......................ersetzt 3 Zeichen | ||
| + | S.......................ersetzt die ganze Zeile | ||
| + | cc......................ersetzt die ganze Zeile | ||
| + | cG......................ersetzt alles bis ans Dateiende | ||
| + | c3c.....................ersetzt die nächsten 3 Zeilen | ||
| + | c3w.....................ersetzt die nächsten 3 Wörter | ||
| + | M.......................bewegt die aktuelle Zeile in Bildschirmmitte | ||
| + | w.......................Wortweises springen | ||
| + | $.......................Zeilenende | ||
| + | 0.......................Zeilenanfang | ||
| + | _.......................Zeilenanfang | ||
| + | x.......................löscht an der aktuellen Cursorposition | ||
| + | X.......................löscht ein Zeichen rückwärts | ||
| + | 3X......................löscht 3 Zeichen rückwärts | ||
| + | dd......................löscht die aktuelle Zeile | ||
| + | 3dd.....................löscht 3 Zeilen | ||
| + | D.......................löscht Text vor der Cursorposition bis Zeilenende | ||
| + | d^......................löscht rückwärts bis zum Zeilenanfang | ||
| + | dG......................löscht bis Dateiende | ||
| + | d1G.....................löscht bis Dateianfang | ||
| + | ~.......................wandelt das aktuelle Zeichen um (Gross- / Kleinschreibung) | ||
| + | 3~......................wandelt die nächsten 3 Zeichen um (Gross- / Kleinschreibung) | ||
| + | yy......................legt die aktuelle Zeile in " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | p.......................setzt " | ||
| + | " | ||
| + | [Shift]+" | ||
| + | " | ||
| + | ' | ||
| + | 3+" | ||
| + | :set number.............(: | ||
| + | :set nonumber...........(: | ||
| + | :set list...............auch unsichtbare Zeichen anzeigen | ||
| + | :set nolist.............unsichtbare Zeichen nicht anzeigen | ||
| + | :set noautoindent.......ab jetzt wird auch wenn man eine Zeile eingerückt hat, bei [Enter] immer wieder an den Zeilenanfang zurück gesprungen | ||
| + | : | ||
| + | :w [Dateiname]..........speichen unter [Dateiname] | ||
| + | : | ||
| + | :r [Datei]..............einlesen einer [Datei] in die geöffnete Datei | ||
| + | :1,30000w [Datei].......speichert die ersten 30000 Zeilen in [Datei] | ||
| + | : | ||
| + | : | ||
| + | :/ | ||
| + | \< | ||
| + | \> | ||
| + | : | ||
| + | : | ||
| + | : | ||
| + | :N [Dateiname]..........öffnet einen zweiten Editor mir der Datei [Dateiname] / wechseln mit ^w | ||
| + | |||
| + | |||
| + | ===== Editiermodus auf der Konsole umschalten ===== | ||
| + | |||
| + | Wenn man sich an die vi-Eingabeform und seine Kommandos gewöhnt hat, | ||
| + | ist man mit ihm schneller als mit irgend einem anderen Editor! | ||
| + | Um die Vorteile des vi's auch in der Shell zu nutzen, | ||
| + | kann man diese auch in den vi-Modus umschalten: | ||
| + | - csh : | ||
| + | - bash : | ||
| + | |||
| + | Um die Einstellungen wieder auf den // | ||
| + | muss folgendes eingegeben werden: | ||
| + | - csh : | ||
| + | - bash : | ||
| + | |||
