Kurzanleitung fuer den vi-Editor

Kurzanleitung fuer den vi-Editor
0

(Daniel Nevoigt) #1

Kurzanleitung fuer den vi-Editor

Die basic-ex-Kommands:

:q Beenden
:q! Beenden ohne Speichern
:x Speichern und Beenden
:w Speichern

Die basic-vi-Kommands:

i Text an der aktuellen Position einfuegen
I Text am Zeilenanfang einfuegen
a Text an der aktuellen Position anfuegen
A Text am Zeilenende einfuegen
o Unterhalb des Cursors eine neue Zeile einfuegen
O Oberhalb des Cursors eine neue Zeile einfuegen
S Zeile loeschen und Text ersetzen
R Vorhandene Zeichen mit neuem Text ueberschreiben
J Aktuelle und folgende Zeile zusammenfuehren
~ Gross-/Kleinschreibung umsetzen
. Letzte Aktion wiederholen
u Letzte Aenderung zuruecknehmen
U Zeile in ihren urspruenglichen Zustand zurueckversetzen

Schnelle Bewegungen:

N Suche in umgekehrter Richtung wiederholen
/ Suche wiederholen, vorwaerts
? Suche wiederholen, rueckwaerts
fx Cursor auf naechstes Vorkommen des Zeichens x in der
aktuellen Zeile
Fx Cursor auf voriges Vorkommen des Zeichens x in der
aktuellen Zeile
tx Cursor auf das Zeichen vor dem naechsten Vorkommen des
Zeichens x in der aktuellen Zeile
; Letzten Suchbefehl in gleicher Richtung wiederholen
, Letzten Suchbefehl in umgekehrter Richtung wiederholen
nG Cursor in Zeile n
G Cursor an Dateiende
`` Cursor an die zuletzt editierte Stelle zurueck
‘’ Cursor auf das erste Zeichen der zuletzt editierten
Zeile
^G Aktuelle Zeile anzeigen
w Wortweise vorwaerts
b Worweise rueckwaerts
) Ende des Absatzes
( Anfang des Absatzes

Befehlszeilenoptionen

+n datei Oeffnet datei bei der Zeilennummer n
+datei Oeffnet datei bei der letzten Zeile
+/muster datei Oeffnet datei beim ersten Auftreten von muster
-c befehl datei Fuehrt befehl nach Oeffnen der Datei aus
-R Oeffnet Datei im Lesemodus
-r Stellt Dateien nach einem Systemabsturz wieder her

Puffernamen

1-9 Enthalten die letzten neun geloeschten Texte
a-z Benannte Puffer zur freien Verwendung

Wiederherstellen von 1-9: 2p z.B. holt den Inhalt der vorletzten Loeschung wieder zurueck und fuegt ihn hinter dem Cursor wieder ein.
Benannte Puffer beschreiben: Zuerst den Puffernamen angeben, anschliessend die Anzahl der Zeilen/Woerter/Zeichen/etc. und zuguterletzt den Befehl. Z.B.:

a5dd Loesche die aktuelle und die 4 folgenden Zeilen in den
Puffer a
dyy Kopiere aktuelle Zeile in den Puffer d

Ex-Befehle

Anzeigen und erste Ersetzungssteps:

:1p Erste Zeile der Datei anzeigen (das p kann man auch
weglassen)
:1,3 Erste drei Zeilen anzeigen
:1s/fuzzi/bla/ Ersetze in Zeile 1 fuzzi durch bla

Bewegungscommands:

d oder delete Zeilen loeschen
m oder move Zeilen verschieben
t, co oder copy Zeilen kopieren

Beispiele:

:3,18d Loesche Zeilen 3 bis 18
:160,224m23 Verschiebe Zeilen 160 bis 224 hinter Zeile 23
:23,29co100 Kopiere 23 bis 29 hinter 100

Praktisches:

:set nu Zeige alle Zeilennummern an
:set nonu Verstecke alle Zeilennummern
:1,10# Von Zeile 1 bis 10 Zeilennummern anzeigen
:= Zeige die Gesamtzahl der Zeilen an
:.= Zeige die Nummer der aktuellen Zeile an
:/muster/= Zeige die Nummer der ersten Zeile, die muster enthaelt
:ic Bei Suchmustern Gross-/Kleinschreibung ignorieren
:noic Ignoriere obiges
:set all Zeige alle Optionen an
:ab abk Ausdruck Die Abkuerzung abk fuer Ausdruck verwenden

Unix Befehle ausfuehren

:!befehl Fuege Ausgabe von Befehl ein (z.B. :!date)
:r!befehl Gleiches wie oben
!)befehl Text mit vi filtern (z.B. !) dann tr ‘[a-z]’ ‘[A-Z]’
bedeutet Abschnitt nach Cursor in Grossbuchstaben
verwandeln

Mehrere Dateien oeffnen

$ vi datei1 datei2 Rufe zunaechst datei1 auf, wenn diese beendet wird rufe
datei2 auf
:args Zeige die Argumentliste auf
:e Neue Datei oeffnen
:e! Verwirft saemtliche Aenderungen in der aktuellen Datei
^^ D.h. STRG+^: Zwischen Dateien umschalten

Suchen:

Mittels / kann man einen Suchstring eingeben. Achtung: bei Sonderzeichen (/,$, usw.) einen Backslash vor dem Sonderzeichen.
Metazeichen:

. Jedes beliebiges Zeichen

  • 	Null oder mehr Vorkommen des davorliegenden Zeichens
    

^ Zeilenanfang
$ Zeilenende
\ Naechstes Zeichen ist ein gewoehnliches Zeichen,
verliert seine spezifische Bedeutung
[ ] Erkennt ein beliebiges der in Klammern angegebenen
Zeichen. [AB] z.b. heisst sowohl A als auch B
~ Regulaerer Ausdruck, der bei letzter Suche verwendet
wurde

Ersetzen:

:s/[Suchstring]/[Ersatzstring]/ In der Zeile Ausdruck durch anderen
ersetzen
:[Startzeile],[Endzeile]s/[Suchstring]/[Ersatzstring]/g
Innerhalb eines Bereichs Suchen und
Ersetzen
:%s/[Suchstring]/[Ersatzstring]/g Innerhalb eines ganzen Dokuments einen
Ausdruck durch einen anderen ersetzen
:g/[Suchstring]/s/[Suchstring]/[Ersatzstring]/g
Diesselbe Aktion wie oben nur komplexer
allerdings auch logischer
:g/[Suchstring]/s//[Ersatzstring]/g Wie oben

Loeschen:

Aktuelle Zeile loeschen: dd

Von Zeile bis Zeile alles loeschen:

:[Startzeile],[Endzeile]d

Jene Zeilen loeschen, die einen bestimmten String enthalten:

:%g/[String]/d

In einem bestimmten Bereich jene Zeilen loeschen, die einen bestimmten String enthalten:

:[Startzeile],[Endzeile]g/[String]/d

Zwischen Muster1 und Muster2 loeschen:

:/muster1/,/muster2/d