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.

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.

vi - Editor unter Linux

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 mode

Kommandos 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 Zeile

Positionieren 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 oben

w – 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 Datei

H – 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 scrollen

Kommandos 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-Ende

Beenden 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 Abspeichern

Das 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 wiederholen

c – Ersetzen eines Objektes
C – Ersetzen des Rests der Zeile
s – Ersetzen des aktuellen Zeichens
S – Ersetzen der ganzen Zeile

Obige 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 Datei

Objektbezogene Kommandos

c – Ersetze das Objekt durch neue Eingabe
d – Lösche Objekt
y – Sichere Objekt
> – Schiebe Objekt nach rechts
< – Schiebe Objekt nach links

Als 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 formfeed

Die 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 x

Beispiele:

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 file

Temporä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 gesichert

Sonstige 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-Kommandos

vi-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 an

Das Rücksetzen der meisten Parameter erfolgt durch ein vorangestelltes no (z.B. mit :set nonumber verschwindet eine vorher eingestellte Zeilennummerierung.)

[ad#posting]

Eure Meinung zu dem Artikel ist gefragt! Schreibt mir ein Kommentar

Hat Euch der Artikel weitergeholfen oder gefallen?
Ich freue mich auf einen Blick auf meine Amazon-Wunschliste. Vielen Dank!

Hat Euch der Artikel weitergeholfen oder gefallen? Ich freue mich auf einen Blick auf meine Amazon-Wunschliste. Vielen Dank!Ich bin freiberuflicher TYPO3-Entwickler, Web-Entwickler und Frontend-Entwickler. Ich arbeite im und für das Web etwas mehr als 12 Jahre. Mehr Infos zu der TYPO3 Internetagentur - INGENIUMDESIGN.

Leave a Reply

Next ArticleTYPO3 - Anmeldemaske anpassen