Es gibt ein Fülle von Möglichkeiten, um Dinge mit Vim zu erledigen. Dieses Kapitel beschreibt eine nützliche Auswahl aus all den möglichen Kommandos.
Abbildung 2.1: Wortweise springen
Der $ Befehl bewegt den Cursor zum Zeilenende. In Wirklichkeit, passen eine ganze Menge Tasten auf das "Zeilenendekommando". Die Vim Namen dieser Tasten sind $, <Ende> und <kEnde> (Die <kEnde> Taste ist vims Name für das Ende auf dem Nummerblock). - Ende = End in vim und auf einer US Tastatur -
Das $ Kommando verwendet auch ein numerisches Argument. Wenn ein Argument angegeben ist, wandert der Editor zur nächsten Zeile. Beispielsweise bringt Dich 1$ an das Ende der ersten Zeile (die Zeile in der Du stehst), 2$ an das Ende der nächsten zeile und so weiter. Abbildung 2.2 erklärt wie dieses Kommando wirkt.
Der ^ Befehl bringt Dich zum ersten nicht leeren Zeichen einer Zeile. Die <Pos1> und <kPos1> (Home und kHome in vim/US-Tastatur) Taste bringt Dich an den Anfang der Zeile, wie Abbildung 2.3 zeigt (Der 0 [null] Befehl macht das gleiche).
Wie alle anderen vorhergehenden Befehle, kann auch dieser ein nummerisches Argument verwenden. Es hat auf den Befehl keinen Einfuß, aber Du kannst es, wenn Du willst ruhig angeben.
Abbildung 2.2: Der $ Befehl
Abbildung 2.3: Die ^ und <HOME> Befehle
Nimm Beispielsweise mal an, dass Du am Anfang der folgenden Zeile stehst:
To err is human. To really foul up you need a computer.Nimm an, Du willst zum h von human gehen. Führe also lediglich das Kommando fh aus und der Cursor steht über dem h.
To err is human. To really foul up you need a computerUm an das Ende des Wortes really zu kommen führe fy aus. Du kannst natürlich einen Zähler angeben und somit um 5 Worte nach vorne springen, indem Du 5f<Space> eingiebst.
Das F Kommando sucht rückwärts (nach links). Abbildung 2.4 zeigt die Wirkung des f und F Kommandos.
Der tx Befehl (suche bis - search til) arbeitet wie der fx Befehl, stoppt jedoch einen Buchstaben vor dem Zeichen nachdem gesucht wird. In der Rückwärtsversion ist dies das Tx Kommando. Abbildung 2.5 zeigt wie dieses Kommando arbeitet.
Abbildung 2.4: Der f und F Befehl
Abbildung 2.5: Der t und T Befehl
Manchmal wirst Du eine Suche starten um lediglich festzustellen, dass Du den falschen Befehl eingegeben hast. Beispielsweise tippst Du f um eine Suche vorwärts zu starten und stellst dann fest, dass Du eigentlich F gemeint hast, um rückwärts zu suchen. Um eine Suche abzubrechen, wähle <ESC> als das zu suchende Element. Mit anderen Worten ist f<ESC> eine abgebrochene vorwärts Suche. (Hinweis: <ESC> bricht die meisten Aktionen nicht nur Suchen ab).prog.c:3:'j' undeclared (first use in this function)Es wird Dir mitgeteilt, dass Du etwas an Zeile 3 korrigieren willst. Aber wie findest Du Zeile 3?
Ein Weg ist es 9999k auszuführen, um an den Anfang der Datei zu springen und ein 2j, um 2 Zeilen nach unten zu springen. Es ist kein besonders gutes Vorgehen, aber es funktioniert.
Ein viel besserer Weg ist es in diesem Fall das G Kommando zu verwenden. Dieser Befehl positioniert Dich in der im Argunment angegebenen Zeile. Beispielsweise bringt Dich 3G in die 3. Zeile (ebenso bringt Dich 1G besser als 9999k in die erste Zeile).
Ohne Argument, gelangst Du in die letzte Zeile (Für eine bessere Navigation durch die Fehlermeldungen des Compilers, siehe Kapitel 7, "Befehle für Programmierer" um mehr Informationen über :make und :clist zu bekommen.
Abbildung 2.6: Eingeschaltete Zeilennummerierung
Der Vim Editor ist extrem konfigurierbar und hat eine Menge Optionen. Du kannst das :set Kommando auf verschiedne Weise, wie in Kapitel 28 "Anpassen der Erscheinung und des Verhaltens des Editors" beschrieben, gebrauchen. Die number Option ist ein Boolsche Option, was bedeutet das sie an und abgeschaltet werden kann. Um sie anzuschlten gebrauche den Befehl :set number. :set nonumber schaltet die Option wieder ab. Abbildung 2.7 zeigt das Ergebnis diedes Kommandos.
Abbildung 2.7: Ergebnis von :set nonumber
"c02.txt" [Modified] line 81 of 153 --52%-- col1Hiermit wird gesagt, dass Du derzeit eine Datei mit dem Namen c02.txt bearbeitest und das diese Datei seit dem Start der Bearbeitung verändert wurde. Der Cursor steht in Zeile 81 von 153 oder anders formuliert ca. 52% hinter dem Beginn der Datei. derzeit steht der Cursor in Spalte 1.
Abbildung 2.8 Das STRG-G Kommando
Manchmal wirst Du eine geteilte Spaltennummer sehen (z.B. col2-9). Das weisst darauf hin, dass die Cursor über der Spalte 2 steht. Da jedoch Spalte 1 einen TAB enthält, ist die Spalte am Bildschirm Spalte 9. Abbildung 2.8 zeigt ein Ergebnis eines typischen
Abbildung 2.9: Das Erbenis der STRG-Uund STRG-D Befehle
Der 3w Befehl bewegt den Cursor beispielsweise um 3 Wörter vorwärts. Der d3w Befehl löscht 3 Wörter wie in Abbildung 2.10 gezeigt (Du kannst den Befehl sowohl als d3w als auch als 3dw; schreiben. Beide Schreibweisen arbeiten gleich).
Abbildung 2.10: Der d3w Befehl
Abbildung 2.11: Der d$ Befehl
Das $ Kommando bewegt den Cursor zum Zeilenende. Das d$ Kommando löscht, wie Abbildung 2.11 zeigt, von der aktuellen Position bis zum Zeilenende. Eine Abkürzung (shortcut) dafür, ist der D Befehl.
Du kannst auch 2 Zähler verwenden wie 3d2w. Dieser Befehl löscht 3 mal und bei jedem mal 2 Wörter, zusammen also 6 Wörter.
Es gibt das Sprichwort, dass es für jede Frage eine einfache Antwort gibt die einfach, eine die klar und eine die falsch ist. Das ist auch hier der Fall bei dem cw Befehl. Der cBewegung Befehl arbeitet genauso wie der dBewegung Befehl mit einer Ausnahme: den cw und dw Befehlen. Während cw den Text bis zum auf das Wort folgenden Leerzeichen löscht (und dann in den Einfügemodus springt), löscht das dw das Wort und das darauf folgende Leerzeichen.
Abbildung 2.12: Wie cw arbeitet
Der cc Befehl arbeitet auf der ganzen Zeile. Das heißt, er löscht die Zeile in geht in den Einfügemodus. Anders ausgedrückt cc arbeitet auf der ganzen Zeile wie dd. Genauso wie c$ oder C von der aktuellen Cursor Position bis zum Zeilenende ändert.
Abbildung 2.13: Benutzung des . Befehls
Zeilen zusamenfügen
Der J Befehl verbindet die aktuelle Zeile mit der nächsten. Ein Leerzeichen wird am Ende der ersten Zeile eingefügt, um die zusammengefügten Teile zu trennen, wie in Abbildung 2.14 dargestellt.Falls ein Zähler mit angegeben wird werden entsprechend viele Zeilen zusammengefügt, das Minimum ist 2. Zeilen.
Abbildung 2.14: Das J Kommando
Abbildung 2.15: Das Ersätzungskommando (r)
Abbildung 2.16: Ersätzungs (r) Kommando mit einem Zähler
Abbildung 2.17: Groß/Kleinschreibung ändern mit ~.
qa | Beginne mit der Aufzeichnung des Macros in das Register a. |
^ | An den Anfang der Zeile springen. |
i#include">ESC> | Einfügen des Ausdrucks #include" am Zeilenanfang. |
$ | Gehe zum Zeilenende |
a"<ESC> | Hänge Anführungszeichen an das Ende der Zeile |
j | Gehe in die nächste Zeile |
q | Beende die Macroaufzeichnung |
Abbildung 2.18: Ein Macro definieren und gebrauchen
:digraphsVim wird Dir die digraphs Belegungstabelle anzeigen, wie in Abbildung 2.19 gezeigt. Dies zeigt Dir beispielsweise, dass der digraph den Du mit dem Kommando STRG-K !I bekommst, dass Zeichen (¡) ist. Dies ist das Zeichen Nummer 161 (Du könntest es auch mit STRG-V 161 eingeben.
Abbildung 2.19: Die digraphs Tabelle
vorheriges Kapitel | Inhaltsverzeichnis | nächstes Kapitel |
Maik Holtkamp | Letzte Änderung: Die Dez 3 21:50:04 CET 2002 |
![]() |