vi - UNIX-Texteditor



vi - Modi


ESC                 Wechsel in den DISPLAY Mode

:                   Wechsel vom DISPLAY in den COMMAND Mode

i, I, a, A, o, O    Wechsel vom DISPLAY in den EINFUEGE Modus 



Befehle im COMMAND Mode: :x vi beenden ( Sicherung nur bei Aenderungen ) :q! vi beenden ( keine Sicherung ) :args Argumenten-Liste :f aktueller Dateiname :n naechste Datei :e file neue Datei file wird editiert :w file Datei file wird gesichert :w >> file Edit-Buffer wird an file angehaengt :r file file wird an aktuelle Cursorposition eingefuegt :r !command Output des UNIX-Befehls command wird an aktueller Cursorposition eingefuegt :cd dir Shell-Befehl cd :sh neue Shell :!command Shell-Befehl wird aufgerufen :g/pattern/cmds -> cmds: p print s substitute c confirm -> Bsp: g/s1/p Ausgabe aller Zeilen, die 's1' enthalten g/s1/s//s2 Ersetzen des ersten 's1' in jeder Zeile mit 's2' g/s1/s//s2/g Ersetzen aller 's1' in jeder Zeile mit 's2' g/s1/s//s2/gp " mit Ausgabe g/s1/s//s2/gc " mit Abfrage :g!/pattern/cmds -> s.o. aber nur fuer Zeilen ohne pattern (g! = v) :s/pattern/replace/opt -> ersetzt in aktueller Zeile pattern mit replace -> opt: g, c
Befehle im DISPLAY Mode: Bildschirmanzeige: ------------------ ^U scrollt halben Bildschirm nach oben ^D scrollt halben Bildschirm nach unten ^F scrollt ganzen Bildschirm nach oben ^B scrollt ganzen Bildschirm nach unten ^G gibt Status aus Z verschiebt Ausschnitt: aktuelle Cursorzeile an den Anfang Z. verschiebt Ausschnitt: aktuelle Cursorzeile in die Mitte Z- verschiebt Ausschnitt: aktuelle Cursorzeile ans Ende ^R ^L Bildschirm wird neu aufgebaut Text loeschen: -------------- [nr]x loescht nr Zeichen hinter Cursor [nr]X loescht nr Zeichen vor Cursor d cursor_movement loescht von aktueller bis geaenderter Cursor- position dd loescht ganze aktuelle Zeile D loescht von aktueller Position bis Zeilenende Text modifizieren: ------------------ u, U macht letztes Insert oder Delete rueckgaengig . wiederholt letztes Insert oder Delete c cursor_movement ueberschreibt von aktueller bis geaenderter Cursor- position cc loescht ganze Zeile fuer neue Texteingabe C loescht Zeile ab aktueller Position fuer neue Text- eingabe r, s ersetzt ( ueberschreibt ) aktuelles Zeichen [nr]R [nr]S ersetzt ( ueberschreibt ) nr Zeichen ab aktueller Position [nr]j fuegt nr Zeilen zusammen [nr]>> shift nr Zeilen um Tab nach rechts [nr[<< shift nr Zeilen um Tab nach links Cursor-Movement: ---------------- - Anfang vorige Zeile ^ Anfang aktuelle Zeile $ Ende aktuelle Zeile [nr]G goto Zeile nr [nr]| goto Spalte nr l ein Zeichen nach rechts h ein Zeichen nach links j eine Zeile hinab k eine Zeile hinauf w, W ein Wort weiter b, B ein Wort zurueck e, E ans Wortende % von aktueller Klammernposition auf zugehoerige Klammer H Bildschirmanfang M Bildschirmmitte L Bildschirmende Text-Movement: -------------- ["alphanumeric]p kopiert Text aus Buffer alphanumeric an aktuelle ["alphanumeric]P Cursorposition ["letter]y cursor_movement kopiert Text von aktueller Position bis neue Cursorposition in den Buffer letter ["letter][nr]yy kopiert aktuelle bzw. nr Zeilen in den Buffer ["letter][nr]Y letter -> falls letter in Grossbuchstaben, wird der Text an Buffer letter angehaengt Suchen: ------- /pattern, ?pattern sucht pattern n wiederholt letzten Suchbefehl in gleicher Richtung N wiederholt letzten Suchbefehl in entgegenge- setzter Richtung fchar sucht char in aktueller Zeile ( vorwaerts ) Fchar sucht char in aktueller Zeile ( rueckwaerts ) tchar, Tchar wie f, F; setzt Cursor aber vor char , kehrt Suchrichtung um ; wiederholt letzten Suchbefehl Markieren: ---------- mletter markiert einen Ort in der Datei mit dem Kleinbuchstaben letter `letter geht genau zur Markierung 'letter geht an Zeilenanfang der Zeile, die die Markierung enthaelt -> z.B. mx - Markierung x Cursor an andere Position d`x - Loeschen bis x Text einfuegen: --------------- i fuegt Text an aktueller Cursorposition ein I fuegt Text am Anfang der aktuellen Zeile ein a fuegt Text nach dem Cursor ein A fuegt Text am Ende der aktuellen Zeile ein o fuegt neue Zeile unter der aktuellen Zeile ein O fuegt neue Zeile ueber der aktuellen Zeile ein


Erika Rieger
[email protected]

Copyright © 1996, Erika Rieger, Last Updated - 29.04.1997 09:35:33