Dieses Kapitel lehrt Dich 10 grundlegende vim Kommandos, die Du brauchst, um mit der Arbeit beginnen zu können. Du lernst folgendes:
Nachdem Du diese Befehle kennst, kannst Du Dich mit den weiterführenden Befehlen beschäftigen.
Unter Unix, führe den folgenden Befehl aus:
$ touch ~/.vimrcIndem Du eine ~/.vimrc erstellst, sagst Du vim, dass Du den vim Modus benutzen willst. Wenn diese Datei nicht exsistiert, läuft vim im vi Kompatibilitätsmodus und verliert viele seiner weitergehenden Funktionen. Jedoch kannst Du die erweiterten vim Funktionen auch jederzeit innerhalb von vim einschalten, indem Du folgenden Befehl ausführst:
:set nocompatibleWenn Du unter MS Windows arbeitest, erstellt der Installationsprozeß eine _vimrc, die Windows Version dieser Datei für Dich.
$ gvim file.txtDas $ steht hier für den Standard Unix prompt. Dein prompt könnte davon abweichen - Das $ brauchst Du nicht mitzutippen -. Wenn Du unter Windows arbeitest, öffne eine MS DOS Konsole und gib dieses Kommando ein:
C:>gvim file.txt(Auch hier könnte Dein promt abweichen - c:> nicht mittippen -)
In beiden Fällen öffnet vim die Datei file.txt und bietet sie zum bearbeiten an. Da es sich -wahrscheinlich- um eine neue Datei handelt, ist sie zunächst leer. Abbilung 1.1 zeigt, wie Dein Bildschirm aussehen sollte.
Die Tilde Zeilen (~) sind nicht Bestandteil der Datei oder anders vormuliert, wenn auf dem Bildschirm mehr Platz ist als die Datei Zeilen hat, füllt vim diese Zeilen mit Tilden. Am unteren Rand, zeigt Dir eine Status Zeile das Du die neue Datei file.txt bearbeitest. Diese Information ist temporär und wird von anderen Statusmeldungen überschrieben, wenn Du mit dem editieren beginnst:
Abbildung 1.1: "Startfenster von vim"
---Ich habe leider kein DOS---
Abbildung 1.2 Schreiben mit dem vim Befehl innerhalb eines MS-DOS Fensters
Nun tippe etwas Text. Dieser wird in die Datei eingefügt. Kümmer Dich nicht um Fehler, die kannst Du später verbessern. Gib den folgenden Programmierer Limmerick ein:
A very intelligent turtle:
Found programming UNIX a hurdle
The system, you see,
Ran as slow as did he,
And that's not saying much for the turtle.
Nachdem Du die Eingabe beendet hast, drücke die <ESC> Taste. Die -- INSERT -- Anzeige verschwindet und Du befindest Dich wieder im Befehls/Normalmode.
Dein Bilschirm sollte ungefähr so aussehen, wie in Abbildung 1.3 dargestellt.
Abbildung 1.3: Bildschirm nachdem der Text eingegeben wurde
Hinweis
Du kannst den Cursor auch mit den Pfeiltasten bewegen. Jedoch verlangsamt das Deine Arbeitsgeschwindigkeit extrem, da Deine Hand Ihre übliche Stellung verlassen muss. Wenn Du im Hinterkopf behälst, dass Du dieses vielleicht 100 mal pro Stunde machst, addiert sich das schon auf. Wenn Du effizient editieren willst, nimm h, j, k und l.
Es gibt auch Tastaturen, die gar keinen Pfeilblock haben oder bei denen dieser Block an einer unüblichen Stelle liegt. Wenn Du mit den Bewegungstasten umgehen kannst, hilft Dir das in solchen Situationen.
Ein Weg sich die Bedeutung der Tasten einzuprägen ist das h links liegt und l rechts. Ein kleines j steht nach unten über die meisten Kleibuchstaben hinaus und k nach oben. Ein anderer Trick ist es sich die folgende Grafik an eine Ecke des Monitors zu kleben, bis man es beherscht.
Bewege den Cursor beispielsweise auf das erste Zeichen und tippe xxxxxx (6*x), um die ersten sechs Zeichen der Zeile zu entfernen. Abbildung 1.4 zeigt das Ergebnis. Um eine Korrektur einzugeben, tippe iA young <ESC>. Hierdurch startes Du den Einfügemodus (i), fügst die Worte 'A young' ein und beendest den mode dann wieder (das abschließende <ESC>). Abbildung 1.5 zeigt das Ergebnis:
Abbildung 1.4: Bildschirm nach dem löschen (xxxxxx)
Abbildung 1.5: Bildschirm nach dem Einfügen
Hinweis
Vim ist ein Texteditor. Standardmäßig umbricht er keinen Text. Du musst jedesmal <ENTER> drücken. Falls Du das nicht machst und immer weiter tippst, wenn Du den rechten Rand erreichst, gibst Du lediglich eine sehr lange Zeile ein. Du wirst nicht automatisch die nächste Zeile anfangen. Um eine neue Zeile anzufangen musst Du <ENTER> drücken (Dies ist die Standardarbeitsweise. Jedoch kannst Du vim so konfigurieren, dass er an Wordgrenzen umbricht, wie in Kapitel 11 "Mit Textdateien umgehen" beschrieben).
intelligent turtleTippe jetzt u, um die letzte Änderung wieder rückgängig zu machen. Dieses Rückgängig stellt das g wieder her. Das Rückgängig holt also den Buchstaben zurück.
g intelligent turtleDer nächst u Befehl stellt den nächsten gelöschten Buchstaben wieder her:
ng intelligent turtleMit dem nächsten u Befehl stellst Du das u wieder her und so weiter:
ung intelligent turtle oung intelligent turtle young intelligent turtle young intelligent turtle A young intelligent turtleFalls Du zuviel rückgängig gemacht hast, kannst Du STRG+R (redo) drücken, um das vorhergegangene Kommando rückgängig zu machen.
Um dies in Aktion zu erleben, drücke 2 mal STRG+R. Der Buchstabe A und das LEER dahinter verschwinden:
young intelligent turtleEs gibt auch eine besondere Version des Wiederherstellungsbefehls, der U (stelle Zeile wieder her) Befehl. Der "Stelle Zeile wieder her" Befehl nimmt alle Änderungen an einer Zeile zurück, die seit der letzten Bearbeitung durchgeführt wurden. Wenn man den Befehl 2 mal ausführt wir das erste U gelöscht und alles bleibt beim alten.
Hinweis Falls Du ein alter vi Benutzer bist, achte darauf, dass der vielstufige rückgängig vim Befehl stark vom einstufigen rückgängig Befehl abweicht, der vi Benutzern zur Verfügung steht.
Hinweis Während des ganzen Buches gehen wir davon aus, dass der vi Kompatibilitätsmodus ausgeschaltet ist (der vi Kompatibilitätsmodus schaltet viele weitergehende Funktionen von vim ab). Dieses Merkmal wird automatisch unter UNIX abgeschaltet, sobald eine Datei $HOME/.vimrc erstellt wurde. Für MS Windows Benutzer wird es während der Installation abgeschaltet (Wenn die Kompatibilität abgeschaltet ist, liefert der Befehl v einestufiges rückgängig machen).
A very intelligent turtle xxxx lösche very A intelligent turtle xxxxxx lösche trutle A intelligent U stelle Zeile wieder her A very intelligent turtle U 2. U macht erstes rückgängig A intelligent
Falls Du probierst nur :q zu tippen. wird vim eine Fehlermeldung ausgeben und sich weigern abzubrechen:
No write since last change(use ! to override)Indem Du die Überschreibkommandoerweiterung benutzt, sagst Du vim eigentlich, "Ich weiß das, dass blöd aussieht was ich eingegeben habe, aber ich bin schon groß und will das wirklich."
Zum Beispiel, um die Zeile:
and that's not saying much for the turtle.in
and that's not saying much for the turtle!!!zu ändern, stell den Cursor über den Punkt am Zeilenende. Drücke dann x, um den Punkt zu löschen. Der Cursor steht nun am Zeilenende über dem e von turtle:
and that's not saying much for the turtleDrücke jetzt a!!!<ESC>, um 3 Ausrufungszeichen nach dem e von trutle anzuhängen:
and that's not saying much for the turtle!!!
Abbildung 1.6: Bildschirm vor dem dd Befehl
Abbildung 1.7: Bildschirm nach dem dd Befehl
Nehmen wir einmal an, dass Du eine Zeile direkt hiter der 3. des Beispieltextes einfügen willst. Beginne indem Du den Cursor auf die Zeile "Ran as slow..." positionierst, wie in Abbildung 1.7 gezeigt.
Drücke jetzt o, um eine neue Zeile zun öffnen. Gibt den Text in der Zeile ein und drücke dann <ESC>, um den Eingabemodus zu beenden. Abbildung 1.8 zeigt das Ergebnis.
Wenn Du eine Zeile oberhalb derjenigen in der Du stehst einfügen willst, benutze das O (groß) Kommando.
Abbildung 1.8: Bildschirm nach dem o Befehl
:help(Denk daran, dass wir vereinbart hatten das <ENTER> nicht mehr zu erwähnen). Hiermit öffnest Du ein Haupthilfefenster, wie Du es in Abbildung 1.9 siehst.
Abbildung 1.9: Hilfe Bildschirm
Wenn Du kein Stichwort angibst, zeigt :help eine Standard Hilfeseite an. Die Entwickler von vim haben mit dem Hilfesystem etwas sehr geschicktes (oder sie waren sehr faul) gemacht. Sie steckten das Hilfesystem in eine normale Seite. Du kannst also alle normalen vim Bewegungsbefehle benutzen, um Dich im Hilfesystem zu bewegen. Daher bewegen h, k, j, und l den Cursor nach links, oben, unten, rechts und so weiter.Um die Hilfe zu beenden, benutzt Du einfach das gleiche Kommando wie beim Editor: ZZ.
Wenn Du die Hilfeseiten ließt, wirst Du einige Stellen finden, der in Senkrechte Striche eingeschlsssen ist (z.B. |:help|). Das bezeichnet einen Hyperlink. Wenn Du den Cursor irgendwo zwischen die Striche stellst und STRG+](springe zum Kennzeichen -engl. tag -) drückst, bringt Dich das Hilfesystem zum angegebenen Stichwort (aus Gründen die hier nicht besprochen werden, bezeichnet vim hyperlinks als Kennzeichen - engl. tag -. Also springt STRG-] zu dem Ort eines tags, der durch das Wort unter dem Cursor definiert wird).
Nach ein paar Sprüngen möchtest Du vielleicht zurück. STRG+T(gehe zu vorherigem tag) bringt Dich zum vorherigen Bildschirm zurück oder mit vim Worten "holt ein Kennzeichen vom Kennzeichen Stapel - pops a tag off the tag stack."
Am oberen Bilschirmrand findest Du die Bezeichnung *help.txt*. Diese Bezeichnung wird vom Hilfssystem benutzt, um ein Kennzeichen zu definieren (hyperlink Ziel). Kapitel 7, "Kommandos für Programmierer", erklärt Kennzeichen detailiert.
Um zu einem bestimmten Thema Hilfe zu bekommen, benutze:
:help ThemaUm z.B. zum x Befehl Hilfe zu bekommen, benutze:
:help xUm herauszufinden wie man etwas löscht, nimm:
help deletingUm ein Inhaltsverzeichnis der zur Verfügung stehenden Hilfen zu bekommen benutze:
:help indexWenn Du für einen Steuerungsbefehl Hilfe brauchst (z.B. STRG-A) musst Du es mit dem Präfix CTRL- versehen (die STRG Taste wird auf US Tastaturen mit CTRL (control) bezeichnet. Ein echter Held, der meinte das für deutsche Tastaturen übersetzen zu müssen :-():
:help CTRL-ADer Vim Editor hat viele verschiedene Modi. Standardmäßig liefert das Hilfesystem Hilfen für Normalmode Befehle. Beispielsweise liefert das folgende Kommondo Hilfe zum Normalmode STRG-H Befehl:
:help CTRL-HUm andere Modi anzugeben, nimm das mode Präfix.
:help i_CTRL-HTabelle 1.1 nennt einige andere mode Präfixe.
Wenn Du den Editor startest, kannst Du einige Kommandozeilenoptionen angeben. Diese beginnen alle mit einem Minus (-). Um herauszufinden, was zum Beispiel die -t Option macht, benutze den Befehl:
:help -tDer Vim Editor hat auch eine Menge von Optionen, mit dennen Du dennen Du das Verhalten konfigurieren und anpassen kannst. Wenn Du Hilfe zu einer diesr Optionen benötigst, musst Du sie in einfache Anführungszeichen einschließen. Um beispielsweise herauszufinden was die Option number macht, benutze den folgenden Befehl:
:help 'number'Die folgende Tabelle fasst einige spezielle Präfixe zusammen.
Mode | Präfix | Beispiel |
Normalmode Befehle | (nichts) | :help x |
Befehle mit STRG | CTRL- | :help CTRL-u |
Visueller Modus | v | :help v_u |
Eingabe Modus | i | :help i_<ESC> |
ex-modus Befehle | : | :help :quit |
Kommandozeile bearbeiten | c | :help c_<DEL> |
Vim Kommando Argumente | - | :help -r |
Optionen | '(beide Seiten) | :help 'textwidth' |
Tabelle 1.1: Hilfe Präfixe
Sondertasten werden in spitze Klammern eingeschlossen. Um Hilfe für die 'Pfeil nach oben' Taste zu bekommen, musst Du folgendes eingeben:
:help <Up>Anhang B, "Bezeichnungen der Sondertasten", gibt eine komplette Liste der Tasten.
Tatsächlich, kannst Du allen Bewegungsbefehlen einen Zähler voranstellen. Weiter oben in dieser Lektion fügtest Du Ausrufungszeichen mit dem Kommando a!!!<ESC> ein. Das kannst Du auch mit dem Kommando 3a!<ESC> erreichen. Der Zähler 3 weisst den Befehl a an 3 mal das anzuhängen was folgt (!). Ähnlich kannst Du das Kommando 3x verwenden um 3 Zeichen zu löschen.
$ vimtutorein.
Die Anleitung beginnt damit, Dir die Bewegungstasten zu erklären, damit Du Dich in ihr bewegen kannst. Danach stellt sie in Abstufungen komplexere Kommandos vor. Falls Du an einem nicht UNIX System sitzt führe das Kommando:
:help tutoraus, um Anweisungen zu erhalten, wie Du die Anleitung auf Deinem System starten kannst (es ist nicht schwierig).
Inhalt | weiter |
Maik Holtkamp | Letzte Änderung: Mon Nov 18 01:20:46 CET 2002 |
![]() |