Kurz : In diesem Artikel zeige ich Ihnen einige meiner Lieblings- Vim-Tricks mit praktischen Beispielen. Wenn Sie Vim nicht verwenden, geben diese Tipps möglicherweise keine Gründe für die Verwendung von Vim an. Wenn Sie es jedoch bereits verwenden, werden Sie definitiv ein besserer Vim-Benutzer.
Auch wenn ich in letzter Zeit immer häufiger mit Atom arbeite, kann ich kaum einen Tag ohne Vim verbringen. Nicht, weil ich dazu gezwungen bin. Aber weil ich mich so wohl fühle.
Ja, bequem . Ein sehr seltsames Wort, wenn es um Vi oder einen seiner Klone geht, nicht wahr? Und ich stimme zu, es ist sicherlich nicht der intuitivste Texteditor.
Mit etwas Übung und ein wenig Gedächtnis können Sie jedoch scheinbar komplexe Bearbeitungsaufgaben mit nur wenigen Tastenanschlägen ausführen. Etwas, das ich mit keinem anderen Befehlszeilentexteditor für Linux wirklich gefunden habe.
Aber anstatt eine weitere vi-Einführung zu schreiben, habe ich mich heute dafür entschieden, Ihnen die wahre Kraft hinter Vi (m) näher zu bringen, indem ich Ihnen einige Tricks vorstelle, die ich wirklich verwende - und die ich in den meisten, wenn nicht allen anderen Editoren vermisse. Ich werde Ihnen nicht die vollständige Erklärung all dieser Tricks geben, aber ich empfehle Ihnen nachdrücklich, zu versuchen, mit ihnen zu experimentieren, bis Sie einen Einblick in ihre Funktionsweise erhalten.
Wenn Ihnen Vim gefallen hat und Sie es vollständig beherrschen möchten, können Sie sich auch für einen Online-Vim-Kurs der Linux Training Academy anmelden.
8 Vim-Tricks, um mehr herauszuholen

Lassen Sie mich wiederholen: Ich ermutige Sie nachdrücklich, dieses Beispiel selbst auszuprobieren. Leider macht WordPress keine gute Arbeit, um den genauen Inhalt meiner Beispiele und Befehle beizubehalten - insbesondere in Bezug auf leere Zeilen oder Anführungszeichen. Sie können die hier verwendeten Beispiele also bequem über den folgenden Link herunterladen:
Laden Sie die Vim-Beispiele zum Üben herunter
Jedes Beispiel enthält den Originaltext (.orig) und ein Bash-Skript (.sh), das Vim mit dem in diesem Artikel veranschaulichten Befehl aufruft.
1. Ändern der Großschreibung in Vim
Bin ich der einzige, der diese Funktion nutzt? Oder liegt das daran, dass ich zum Scheitern verurteilt bin, mit Leuten zusammenzuarbeiten, die glauben, dass es COOL ist, ALLE GROSSBUCHSTABEN ZU SCHREIBEN?
Wie auch immer, beim Programmieren, beim Hinzufügen eines Urheberrechtsvermerks oder sogar nach dem Einfügen von Texten ist es nicht ungewöhnlich, dass die Groß- und Kleinschreibung geändert werden muss. In dieser Hinsicht ist Vim viel weiter entwickelt als das ursprüngliche Vi. Und ich segne jeden Tag Bram Moolenaar für seine großartige Arbeit:
Original Text | |
---|---|
Urheberrecht (c) von Die Verwendung des Werks ist zulässig, sofern dieses Instrument im Werk verbleibt und jede Person, die das Werk nutzt, über dieses Instrument informiert wird. Haftungsausschluss: Die Arbeiten sind ohne Gewähr. | |
Befehle | |
~ | Schaltergehäuse |
: $ norm gUU | Wandle die letzte Zeile in Großbuchstaben um {not in Vi} |
Geänderter Text | |
Copyright (c) von Die Verwendung des Werks ist zulässig, sofern dieses Instrument im Werk verbleibt und jede Person, die das Werk nutzt, über dieses Instrument informiert wird. HAFTUNGSAUSSCHLUSS: DIE WERKE SIND OHNE GARANTIE. |

2. Vim suchen und ersetzen Tipps
Diesen benutze ich jeden Tag. Warum ist das noch nicht in allen Texteditoren vorhanden? Natürlich haben die meisten Editoren eine Suchfunktion. Aber wie viele haben wirklich die Macht von Regex- und Substitutionsmustern? Natürlich ist dies komplexer zu meistern als einfache Zeichenfolgensubstitutionen . Aber ohne diese Funktion könnte ich einfach nicht leben. An einem solchen Punkt sehe ich mich manchmal beim Kopieren / Einfügen von einigen GUI-Editoren in ein Terminal, das auf und ab läuft. Aber Vi hat das seit ungefähr 40 Jahren eingebettet ...
Original Text | |
---|---|
Kann ein Junge jeden Tag einen Zaun schwarz streichen? Das setzte das Ding in ein neues Licht. Ben Rogers hörte auf, an seinem Apfel zu knabbern. Tom wischte seinen Pinsel vorsichtig hin und her - trat zurück, um den Effekt zu bemerken - fügte hier und da eine Berührung hinzu - kritisierte den Effekt erneut - Ben beobachtete jede Bewegung und wurde immer interessierter, immer absorbierter. | |
Befehle | |
: s / schwarz / weiß / | Ersetze das erste Vorkommen der Zeichenkette 'black' durch 'white' |
: s / Ben \ (Rogers \) \ @! / Ben Rogers / g | Ersetzen Sie jedes Vorkommen der Zeichenfolge 'Ben' durch 'Ben Rogers', es sei denn, 'Rogers' war bereits vorhanden |
: s /.*/ \ r & \ r / | Wickeln Sie die Linie zwischen und |
: -1s / - / \ - / g | Ersetzen Sie jedes Vorkommen der Zeichenfolge '-' durch '-' in der vorhergehenden Zeile |
Geänderter Text | |
Hat ein Junge die Chance, jeden Tag einen Zaun weiß zu streichen? Das setzte das Ding in ein neues Licht. Ben Rogers hörte auf, an seinem Apfel zu knabbern. Tom fuhr mit dem Pinsel behutsam hin und her - trat zurück, um den Effekt zu bemerken - fügte hier und da eine Berührung hinzu - kritisierte den Effekt erneut - Ben Rogers beobachtete jede Bewegung und wurde immer interessierter, immer absorbierter. |

3. In kürzester Zeit Dinge bewegen
Ja, Copy-Paste und Drag-and-Drop sind großartige Werkzeuge. Aber manchmal ist es einfach zu langweilig, durch ein gesamtes Dokument zu scrollen, um herauszufinden, wo mein Text eingefügt werden soll, und dann in die entgegengesetzte Richtung zu scrollen, um den Cursor an seine ursprüngliche Position zurückzubringen.
Original Text | |
---|---|
Vorteile: * Schnell * Leistungsstark * Zuverlässig * Nicht benutzerfreundlichCons: * Tragbar * Süchtig machend | |
Befehle | |
/Leistung/ | Gehe in die erste Zeile mit dem String 'Power' |
ddp | Tauschen Sie die aktuelle Zeile mit der nächsten aus |
: / benutzerfreundlich / m $ | Verschieben Sie die nächste Zeile mit der Zeichenfolge "benutzerfreundlich" an das Ende der Datei |
G; | Den Cursor an die vorherige Position zurückbringen |
: / Cons / + 1m-2 | Verschiebe zwei Zeilen nach oben und folge 'Nachteile' |
Geänderter Text | |
Vorteile: * Schnell * Zuverlässig * Leistungsstark * Tragbare Nachteile: * Süchtig machend * Nicht benutzerfreundlich |

4. Anwenden von Befehlen auf einen Adressbereich
Mit GUI-Editoren können Sie möglicherweise einige Befehle auf die gesamte Datei oder nur auf die aktuelle Auswahl anwenden. Manchmal haben wir mehr Optionen, wie vor oder nach dem Cursor. Vi (m) erlaubt jedoch eine viel aussagekräftigere Beschreibung des Bereichs, auf den ein gegebener Befehl angewendet werden muss:
Original Text | |||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Viele Schriftsteller haben sich entschieden, unter einem Pseudonym zu schreiben. | |||||||||||||||||||||||||||||||||||||||||||||||||||
Befehle | |||||||||||||||||||||||||||||||||||||||||||||||||||
: /
![]() 5. Beispiele für Vim-Piping-BefehleDieser ist absolut ein Meta-Trick im direkten Sinne der Unix-Philosophie. Mit Vi können Sie einen Teil Ihres Puffers über einen externen Befehl verarbeiten. Dies ist ideal, wenn Sie Dinge benötigen, die in Vi nicht direkt ausführbar sind - oder für Dinge, die in Vi nicht einfach ausführbar sind. Mein bevorzugter Anwendungsfall für diese Funktion ist das Sortieren von Daten - aber es hat praktisch unbegrenzte Möglichkeiten:
![]() 6. Weniger tippenWenn Sie eine formelle Dokumentation schreiben, müssen Sie immer einige ungewöhnlich lange und komplizierte Begriffe wiederholen. Es kann sich um einen Marken- oder Produktnamen handeln. Ein Ort. Ein Urheberrechtsvermerk. Und so weiter. Offensichtlich muss jede Instanz dieser großen Wörter korrekt geschrieben sein und exakt die gleiche Groß- und Kleinschreibung und Interpunktion verwenden. Die Abkürzung von Vim ist dort ein Muss.
![]() 7. Hilfe in Vim erhaltenOk, da ist Intenet. Aber die Leute, die immer noch den Mann wie mich benutzen, werden die Inline- Hilfe zu schätzen wissen. Hilfe erhalten Sie thematisch. Oder auf Befehl. Immer dann nützlich, wenn Sie sich nicht an die genaue Syntax oder die Optionen für Vim-Befehle erinnern - oder wenn Sie sich nicht sicher sind, ob es sich bei dem benötigten Befehl um einen normalen Befehl oder einen ex: -Befehl handelt.
8. Skripten in VimWenn Sie Vi (m) verwenden, verwenden Sie im Grunde genommen ein visuelles Frontend für einen anderen zugrunde liegenden Editor namens ex . Vielleicht haben Sie bemerkt, wie viele Befehle in den obigen Beispielen mit einem Doppelpunkt (:) beginnen? Das liegt daran, dass es sich um ex- Befehle handelt. Dies ist ein weiterer Vorteil von Vi (m) gegenüber so vielen Texteditoren: Sie können es nicht nur interaktiv verwenden, sondern auch als Skript ausführen. Warum sollte jemand das tun wollen? Ich persönlich finde das eine großartige Möglichkeit, um die Textverarbeitung zu automatisieren. Außerdem können Sie ein typisches Beispiel direkt von meiner Festplatte sehen. Es gibt wahrscheinlich einige mysteriöse Befehle in diesem ex-Skript, aber ich kann Ihnen sagen, dass dadurch jeder (eventuell vorhandene) Header aus einem Skript entfernt und durch einen anderen ersetzt wird, der aus der NEW.HEADER-Datei gelesen wird. Dabei wird vor jeder hinzugefügten Zeile ein # hinzugefügt . Es besteht kein Zweifel, dass ich das mit anderen Tools als ex machen könnte. In der Tat war dies sogar das Thema einer unserer vorherigen Bash-Herausforderungen. Aber Ex ist definitiv eine Option.
Wie ich anfangs sagte, war dieser Artikel absolut kein Tutorial, noch eine Einführung in Vi (m). Nur ein paar Vim-Tipps, die zeigen, warum jemand diesen Editor trotz aller anderen modernen Code-Editoren für Linux, die heute verfügbar sind, immer noch mögen könnte. In gewisser Hinsicht habe ich einige meiner Lieblingszauber mit Ihnen geteilt. Aber in der großen Tradition der Zauberei habe ich nicht enthüllt, wie genau sie funktionieren. Also, liebe Auszubildende, zögern Sie nicht, den Kommentarbereich unten zu nutzen, um Ihre eigenen Beschwörungen oder Gegenargumente mitzuteilen - oder wenn Sie sich trauen, diese Tricks zu erklären! |