vi – Editor Commands für Unix/Linux
Habe hier mal eine Auflistung von Befehlen für den VI – Editor unter Linux.
Auch im Ubuntu-Forum nach zu lesen.
[ad#posting]Der vi – Editor
vi ist ein full-screen-Editor der auf allen Unix-Systemen existiert und identisch zu bedienen ist. Im vi sind die beiden Modi command und insert zu unterscheiden. Im command-Modus können Positionier-, Lösch-, Such- und viele andere Operationen vorgenommen werden. Das Editieren von Text ist nur im insert-Modus möglich. Das Umschalten vom insert- in den command-Modus erfolgt immer mit der ESC-Taste. Nach Aufruf des vi befindet man sich grundsätzlich im command-Modus.
Aufruf des vi
Starten läßt sich der Editor mit dem Befehl vi, beziehungsweise vim oder gvim:
vi [Dateiname]
öffnet die Datei Dateiname zum Bearbeiten oder legt diese, sofern sie noch nicht existiert, neu an.username> vi brief1 brief2 – Editieren der Dateien brief1 und brief2
username> vi +18 brief – Editor positioniert die Datei gleich auf Zeile 18
username> vi +/muster brief – Editor positioniert die Datei gleich auf die Zeile mit dem Wort muster
username> vi -r brief – Wiederherstellen der editierten Datei brief nach einem Systemabsturz
username> view brief – Öffnet die Datei brief im read-only modeKommandos zum Umschalten in den insert-Modus
a – Einfügen nach dem Cursor
i – Einfügen vor dem Cursor
A – Einfügen am Zeilenende
I – Einfügen am Zeilenanfang
o – Einfügen einer neuen Zeile nach der aktuellen Zeile
O – Einfügen einer neuen Zeile vor der aktuellen ZeilePositionieren des Cursors und Scrolling im command-Modus
h – ein Zeichen nach links
l – ein Zeichen nach rechts
j – eine Zeile nach unten
k – eine Zeile nach obenw – zum nächsten Wort oder Sonderzeichen
W – zum nächsten Wort
b – zum vorhergehenden Wort oder Sonderzeichen
B – zum vorhergehenden Wort
e – zum Ende des aktuellen oder nächsten Wortes oder Sonderzeichens
E – zum Ende des aktuellen oder nächsten Wortes^ – zum Anfang der Zeile (erstes sichtbares Zeichen)
0 – zum Anfang der Zeile (erstes Zeichen)
$ – zum Ende der Zeile) – zum nächsten Satz
( – zum vorhergehenden Satz
} – zum nächsten Absatz
{ – zum vorhergehenden Absatz
]] – zum nächsten Abschnitt
[[ – zum vorhergehenden Abschnitt
G – zum Ende der Datei
1G – zum Anfang der DateiH – zum Anfang des Bildschirms
M – zur Mitte des Bildschirms
L – zur letzten Zeile des Bildschirms
<Ctrl> f – einen Bildschirm vorwärts scrollen
<Ctrl> b – einen Bildschirm rückwärts scrollenKommandos zum Löschen von Text
x – löscht ein Zeichen unter dem Cursor
dw – löscht das aktuelle Wort
dd – löscht die ganze Zeile
D – löscht den Rest der aktuellen Zeile
d^ – löscht von der Cursorposition bis zum Anfang der Zeile
dG – löscht von der Cursorposition bis zum Datei-EndeBeenden des Editors
😡 – Abspeichern des eingegebenen Textes
:wq – Abspeichern des eingegebenen Textes
ZZ – Abspeichern des eingegebenen Textes
:q – Beenden ohne Abspeichern (falls Text nicht geändert wurde)
:q! – Beenden ohne AbspeichernDas Beenden des Editors ist selbstverständlich nur vom command-Modus aus möglich.
Kommandos zum Suchen und Ersetzen
/muster – Suche des Textmusters vorwärts
?muster – Suche des Textmusters rückwärts
n – Suche wiederholen
N – Suche in umgekehrter Richtung wiederholenc – Ersetzen eines Objektes
C – Ersetzen des Rests der Zeile
s – Ersetzen des aktuellen Zeichens
S – Ersetzen der ganzen ZeileObige Ersetz-Operationen werden mit der <ESC>-Taste abgeschlossen. Für das Suchen nach Textmustern können auch reguläre Ausdrücke verwendet werden.
Für das Ersetzen von Textmustern gibt es noch eine andere Möglichkeit.
:s/muster_alt/muster_neu/ – Ersetzen des nächsten Textmusters
:1,$s/muster_alt/muster_neu/g – Ersetzen aller Textmuster in der DateiObjektbezogene Kommandos
c – Ersetze das Objekt durch neue Eingabe
d – Lösche Objekt
y – Sichere Objekt
> – Schiebe Objekt nach rechts
< – Schiebe Objekt nach linksAls Objekte werden definiert
Wort (w,W,b,B) – Folge von Buchstaben oder Ziffern ohne Zwischenraum
Satz ((,)) – Folge von Worten, die mit ‚.‘, ‚!‘ oder ‚?‘ abgeschlossen wird
Absatz ({,}) – nach jeder Leerzeile
Abschnitt (]],[[) – Begrenzung ist ein formfeedDie in Klammern stehenden Zeichen stellen die Charakterisierung des Objektes dar, die in Verbindung mit den objektbezogenen Kommandos benutzt wird.
Beispiele:
>} – Schiebt den nächsten Absatz eine Tab-Position nach rechts
yw – Sichert das aktuelle Wort
cw – Ersetzt das aktuelle Wort mit dem eingegebenen Text
d) – Löscht den nächsten Satz (bis ‚.‘, ‚!‘, ‚?‘)Marken
Marken werden benutzt, um Textblöcke zu markieren. Diese Textblöcke können dann weiteren Operationen unterzogen werden (Löschen, Verschieben usw.).
mx – Setzt Marke, wobei x ein beliebiges Zeichen von a-z sein kann
‚x – Positioniert den Cursor auf Marke xBeispiele:
d’h – Löscht Text von der aktuellen Cursor-Position bis zur Marke h
:’e,’hd – Löscht Text zwischen den Marken e und h
:’a,’ew – file Schreibt Textblock zwischen den Marken a und h in ein fileTemporäre Puffer
Beim Editieren mit dem vi arbeitet man grundsätzlich in einem sog. main-buffer. Erst beim Abspeichern der Datei wird der Inhalt des main-buffers auf die Festplatte übertragen. Neben dem main-buffer können noch weitere temporäre Puffer angelegt werden. Als Namen können die Zeichen von a – z gewählt werden. Wie die oben erwähnten Marken stehen diese Puffer nur für die Dauer des Editierens zur Verfügung. Die Namens-Puffer werden mit vorangestellten Anführungszeichen gekennzeichnet ( “x ).
Beispiele:
“byW – Sichert das aktuelle Wort in den Puffer b
“bP – Kopiert den Inhalt des Puffers b an die aktuelle Cursorposition
“h10dd – Löscht die nächsten 10 Zeilen und sichert sie im Puffer h
“g5yy – Die nächsten 5 Zeilen werden im Puffer g gesichertSonstige nützliche Kommandos
. – Wiederholung der letzten Aktion
u – undo der letzten Änderung
U – undo aller Änderungen in der aktuellen Zeile
:r – file Einfügen einer Datei an der aktuellen Cursorposition
:!cmd – Ausführen eines shell-Kommandosvi-Parameter
Durch das Setzen diverser Parameter kann die Arbeitsweise des vi-Editors modifiziert werden. Diese Parameter können interaktiv während des Editierens eingegeben werden. Sollen dagegen die Modifikationen bei jedem künftigen vi-Aufruf zur Verfügung stehen, so ist es erforderlich, die entsprechenden Kommandos in der Datei .exrc im eigenen HOME-Verzeichnis einzutragen.
:set – Anzeige aller Optionen, die geändert wurden
:set all – Anzeige aller möglichen Optionen und deren aktueller Werte
:set eb – Vor jeder Fehlermeldung ertönt die Bell
:set ic – Mustersuche case insensitive
:set sw=10 – Setzt die Distanz für shift-Operationen
:set number – Jede Zeile wird mit ihrer Zeilennummer angezeigt
:set list – Zeigt auch nicht sichtbare Zeichen anDas Rücksetzen der meisten Parameter erfolgt durch ein vorangestelltes no (z.B. mit :set nonumber verschwindet eine vorher eingestellte Zeilennummerierung.)
Eure Meinung zu dem Artikel ist gefragt! Schreibt mir ein Kommentar
Ich freue mich auf einen Blick auf meine Amazon-Wunschliste. Vielen Dank!



Valera
Hallo Sebastian, sehr cooler Post;)
Grüße
Valera