Werden Sie ein Vi-Master, indem Sie diese 30+ Tastenbindungen lernen
Vi ist ein leistungsfähiger Texteditor, der in den meisten Linux-Systemen enthalten ist. Viele Leute schwören auf vi und finden es schneller als jeder andere Editor, sobald sie die wichtigsten Bindungen gelernt haben. Sie können in Bash sogar vi-Tastenbindungen verwenden.
Wir haben bereits den Einstieg in vi für Anfänger besprochen. Wenn Sie vi seit einiger Zeit nicht mehr verwendet haben, sollten Sie diesem Beitrag einen Blick auf die Grundlagen geben.
Modusumschaltung
Kurz gesagt, ist vi ein modaler Editor - es gibt einen Einfügemodus und einen Standardbefehlsmodus. Im Einfügemodus funktioniert vi ähnlich wie ein normaler Texteditor. Im Befehlsmodus nutzen Sie diese Tastenkombinationen.
- ich - Aktivieren Sie den Einfügemodus.
- Flucht - Verlassen Sie den Einfügemodus. Wenn Sie sich bereits im Befehlsmodus befinden, führt Escape keine Aktionen aus. Daher können Sie Escape drücken, um sicherzustellen, dass Sie sich im Befehlsmodus befinden.
Bewegen des Cursors
Vi verwendet die hjkl Tasten, um den Cursor im Befehlsmodus zu bewegen. Frühe Computersysteme hatten nicht immer Pfeiltasten, daher wurden diese Tasten verwendet. Ein Vorteil dieser Tastenkombinationen ist, dass Sie Ihre Finger nicht von der Home-Reihe bewegen müssen, um sie zu verwenden.
- h - Cursor nach links bewegen.
- j - Bewegen Sie den Cursor nach unten.
- k - Bewegen Sie den Cursor nach oben.
- l - Bewegen Sie den Cursor nach rechts.
Sie können auch Suchbefehle verwenden, um den Cursor schnell zu bewegen.
- / - Geben Sie / gefolgt von dem gesuchten Text ein und drücken Sie die Eingabetaste, um den Cursor schnell an die Stelle des Textes in der Datei zu bewegen. Wenn Sie beispielsweise das Wort Leguan in Ihrer Datei haben, geben Sie / iguana ein und drücken Sie die Eingabetaste, um den Cursor schnell dorthin zu bewegen.
- ? - Wie /, sucht aber rückwärts.
- f - Geben Sie ein f gefolgt von einem beliebigen Zeichen ein, um den Cursor schnell zum nächsten Vorkommen des Zeichens in der aktuellen Zeile zu bewegen. Wenn Sie z. B. die Zeile "Hello world" in einer Zeile haben und sich der Cursor am Anfang der Zeile befindet, geben Sie fo ein, um in hallo zu o zu gelangen. Tippe erneut fo, um zum o in der Welt zu gelangen.
- F - Wie f, sucht aber rückwärts.
- % - Springen Sie zwischen den nächsten (), [] oder Zeichen in der Zeile.
Verwenden Sie diese Befehle, um schnell zu Positionen in der Datei zu gelangen:
- H - Bewegen Sie den Cursor zur obersten (obersten) Zeile der Datei.
- M - Bewegen Sie den Cursor in die mittlere Zeile der Datei.
- L - Bewegen Sie den Cursor zur untersten (untersten) Zeile der Datei.
- #G - Geben Sie eine Nummer und dann G ein, um zu dieser Zeile in der Datei zu gelangen. Geben Sie beispielsweise 4G ein und drücken Sie die Eingabetaste, um zur vierten Zeile in der Datei zu wechseln.
Zwischen Wörtern wechseln:
- w - Sprich ein Wort vor.
- #w - Bewegen Sie sich einige Wörter nach vorne. Zum Beispiel bewegt 2w zwei Wörter vorwärts.
- b - Verschiebe ein Wort zurück.
- #b - Bewegen Sie sich einige Wörter zurück. Zum Beispiel bewegt 3b drei Wörter zurück.
- e - Zum Ende des aktuellen Wortes gehen.
Kopieren & Einfügen
Vi bezeichnet den Vorgang des Kopierens als "Ruckeln".
- v - Drücken Sie v und bewegen Sie den Cursor, um einen Textabschnitt auszuwählen.
- y - Kopieren Sie den ausgewählten Text.
- p - Am Cursor einfügen.
- x - Schneidet den ausgewählten Text aus. Schneidet das Zeichen unter dem Cursor ab, wenn kein Text ausgewählt ist
- r - Geben Sie r ein und geben Sie dann ein anderes Zeichen ein, um das Zeichen unter dem Cursor zu ersetzen.
Befehle kombinieren
Einige Befehle - einschließlich der obigen Befehle y und v und des Befehls d (delete) - akzeptieren Cursor-Bewegungsbefehle.
Zum Beispiel, wenn Sie drücken d Wenn Sie etwas Text löschen möchten, geschieht nichts, bis Sie einen Cursorbefehl eingeben. Zum Beispiel:
- dw - Löscht das nächste Wort.
- db - Löscht das vorherige Wort
- de - Löscht bis zum Ende des aktuellen Wortes.
- dL - Löscht den gesamten Text unter dem Cursor in der Datei.
- d / Einhorn - Nachdem Sie die Eingabetaste gedrückt haben, wird der gesamte Text zwischen dem Cursor und dem Wort "Einhorn" in der aktuellen Datei gelöscht.
- dd - Löscht eine ganze Zeile.
Wie Sie sehen, ist die Kombination eines Befehls mit einem Cursorbewegungsbefehl sehr leistungsfähig.
Wiederholen und rückgängig machen
Der Wiederholungsbefehl von Vi ist sehr leistungsfähig, da er komplexe, kombinierte Befehle wiederholen kann.
- u - Rückgängig machen.
- . - Das . wiederholt den letzten vollständigen Befehl. Der Befehl Einfügen funktioniert auch hier als Befehl. Geben Sie beispielsweise iunicorn ein und drücken Sie die Escape-Taste. Sie können dann die. Taste, um das Wort Einhorn am Cursor einzufügen.
Bonus: Verwenden von Vi Key Bindings in Bash
Nachdem Sie die vi-Tastenbindungen beherrscht haben, möchten Sie sie möglicherweise an anderer Stelle in Ihrem System verwenden. Kein Problem - Sie können die Bash-Shell so einstellen, dass Schlüsselbindungen im vi-Stil verwendet werden.
Probieren Sie dies in der aktuellen Sitzung aus, indem Sie den folgenden Befehl in einem Bash-Terminal ausführen:
set -o vi
Bash startet im Einfügemodus - drücken Sie die Escape-Taste, um den Befehlsmodus zu aktivieren und diese Tastenkombinationen zu verwenden.
Wenn Sie dies mögen, können Sie den Befehl zu Ihrer ~ / .bashrc-Datei hinzufügen. Er wird bei jeder Anmeldung automatisch ausgeführt. Verwenden Sie die vi .bashrc Befehl zum Öffnen und Bearbeiten der Datei in vi.
Dies ist keine vollständige Liste der wichtigsten Bindungen für vi, aber es sollte Ihnen helfen, Ihre Flügel zu biegen und das Fliegen lernen. Diese Liste der wichtigsten Verknüpfungen auf der Harvard-Website ist vollständiger und enthält mehr Informationen, obwohl sie weniger organisiert und schwieriger ist, alles auf einmal zu verdauen.