Die Notwendigkeit, zu lernen, wie man Texteditoren in Linux verwendet, ist unbestreitbar, da jeder Systemadministrator täglich mit Konfigurationsdateien (Klartext) umgeht, und dies meist ausschließlich mit einem oder mehreren Werkzeugen aus einer Befehlszeilenschnittstelle (wie nano, vim oder emacs).
Während nano vielleicht besser für neue Benutzer geeignet ist, sind vim oder emacs das Werkzeug der Wahl für erfahrene Benutzer aufgrund ihrer erweiterten Funktionen.
Aber es gibt noch einen weiteren Grund, warum das Erlernen der Verwendung eines dieser Texteditoren für Sie oberste Priorität haben sollte: Sie könnten entweder auf einen nur CLI-Server stoßen oder ein Problem mit dem Desktop-Manager in Ihrem GUI-basierten Linux-Server oder Desktop haben und die einzige Ressource zum Untersuchen und Bearbeiten von Konfigurationsdateien ist die Befehlszeile.
Zwischen diesem Artikel und dem nächsten dieser 2-teiligen Serie werden wir 15 Tipps und Tricks zur Verbesserung Ihrer vim-Fähigkeiten überprüfen. Es wird vorausgesetzt, dass Sie mit diesem Texteditor bereits vertraut sind.
Wenn Sie nicht vertraut sind, machen Sie sich einen Gefallen und lernen Sie Vim kennen, bevor Sie weitermachen: Sie möchten vielleicht wie man den Vim-Texteditor verwendet für eine sehr detaillierte Anleitung zum Einstieg in Vim konsultieren.
1. Zugriff auf die Online-Hilfe in Vim
Nachdem Sie Vim gestartet haben, drücken Sie F1
oder verwenden Sie :h
im Ex-Modus, um die Online-Hilfe aufzurufen. Sie können zu einem bestimmten Abschnitt oder Thema springen, indem Sie den Cursor darauf platzieren und dann Strg+]
(Strg
und dann die schließende eckige Klammer) drücken.
Wenn Sie fertig sind, drücken Sie Strg+t
, um zum vorherigen Bildschirm zurückzukehren. Alternativ können Sie ein bestimmtes Thema oder einen bestimmten Befehl mit :h <Thema oder Befehl>
nachschlagen.
Zum Beispiel,
:h x
zeigt die Hilfe zum x (löschen) Befehl an:

und
:h substitute
ruft die Hilfe zum ersetzen Befehl auf (unser letzter Tipp in diesem Artikel).
2. Lesezeichen im Vim-Editor setzen
Wenn Sie sich beim Bearbeiten einer Datei befinden, die größer ist als ein Bildschirm, werden Sie die Funktionalität der Marken zu schätzen wissen. Sie können sich eine Marke in Vim wie ein Lesezeichen vorstellen – sobald Sie es irgendwo platzieren, können Sie schnell und einfach dorthin zurückkehren.
Angenommen, Sie bearbeiten eine 300-Wort Konfigurationsdatei und müssen aus irgendeinem Grund wiederholt zwischen den Zeilen 30 und 150 wechseln.
Gehen Sie zuerst mit :30
im ex-Modus zur Zeile #30, wechseln Sie dann zum Befehlsmodus zurück und drücken Sie ma (m, dann a), um ein Lesezeichen namens “a” in Zeile 30 zu setzen.
Dann gehen Sie mit :250
im Ex-Modus zur Zeile 250 und drücken Sie `a
(Gravis, dann a), um zum Lesezeichen a in Zeile 30 zurückzukehren.
Sie können Groß- und Kleinbuchstaben verwenden, um Lesezeichen in vim zu identifizieren (wiederholen Sie den Vorgang, um ein Lesezeichen namens A in Zeile #250 zu setzen).
Sie können Ihre Lesezeichen anzeigen mit
:marks aA

Wie Sie sehen können, wird jedes Lesezeichen durch eine spezifische Zeilen-/Spaltenposition in der Datei referenziert, nicht nur durch die Zeile.
3. Mühelose Code-Bereinigung in Vim
Angenommen, Sie bearbeiten ein Shell-Skript und stellen fest, dass der vorherige Entwickler ziemlich nachlässig war, was die Einrückung betrifft. Sehen wir uns an, wie Sie es mit ein paar vim-Befehlen beheben können.
Wählen Sie zuerst einen visuellen Block aus, indem Sie den Cursor am Anfang des Blocks platzieren und dann Strg+v
(Strg, dann v) drücken.
- Um nach links einzurücken: drücken Sie
<j
- Um nach rechts einzurücken: drücken Sie
>j
Dann drücken Sie den Befehl .
(Punkt), um die Einrückung zu wiederholen. Der ausgewählte Block wird mit nur einem Tastendruck entweder nach rechts oder nach links verschoben.
Ein weiteres klassisches Beispiel für die Verwendung des dot-Befehls besteht darin, wenn Sie eine Reihe von Wörtern löschen müssen: Setzen Sie den Cursor auf das erste Wort, das Sie löschen möchten, und drücken Sie dann dw.
Um fortzufahren und die nächsten Wörter zu löschen, drücken Sie einfach .
(kürzer und einfacher als mehrmals dw zu wiederholen).
4. Einfügen von Unicode-Zeichen in Vim
Wenn Ihr Tastaturlayout das einfache Einfügen spezieller Unicode-Zeichen in eine Datei nicht zulässt oder wenn Sie sich vor einem Server mit anderen Spracheinstellungen befinden als denen, die Sie gewohnt sind, wird Ihnen dieser Trick nützlich sein.
Drücken Sie dazu im Einfügemodus Strg+v
, gefolgt von dem Buchstaben u
und dem hexadezimalen numerischen Code für das Zeichen, das Sie einfügen möchten.
Sie können die Unicode-Tabellen für eine Liste spezieller Zeichen und ihrer entsprechenden numerischen Codes überprüfen.
Zum Beispiel,
Ctrl+v followed by | returns |
u0040 | @ |
u00B5 | μ |
u20AC | € |
5. Einbeziehen der Ausgabe externer Befehle in Vim
Es wird Zeiten geben, in denen Sie die Ausgabe externer Befehle direkt in eine mit vim bearbeitete Datei einfügen müssen.
Zum Beispiel erstelle ich oft eine Variable namens DIR
in meinen Skripten, um den absoluten Pfad zum Verzeichnis zu speichern, in dem das Skript später im Skript verwendet werden soll.
Um das zu tun, verwende ich:
:r! pwd
im ex-Modus. So wird das aktuelle Arbeitsverzeichnis eingefügt.
Ein weiteres Beispiel: Wenn Sie irgendwo in einem Skript das Standard-Gateway verwenden müssen, können Sie es einfach in der aktuellen Datei einfügen, ohne vim zu verlassen, wie folgt:
:!r ip route show | grep default | cut -f 3 -d " "
6. Anhängen von externen Dateiinhalten in Vim
Wenn Sie den Inhalt einer separaten Datei an die bearbeitete Datei anhängen müssen, ist die Syntax ähnlich wie im vorherigen Tipp. Lassen Sie einfach das Ausrufezeichen weg und los geht’s.
Zum Beispiel, um den Inhalt von /etc/passwd zu kopieren:
:r /etc/passwd
Dieser Tipp kann nützlich sein, wenn Sie Konfigurationsdateien ändern müssen, aber die Originaldateien beibehalten möchten, um sozusagen auf die „Werkeinstellungen“ zurückzusetzen.
7. Suchen und Ersetzen eines Wortes in Vim
Einmal wurde ich während einer Prüfung gebeten, eine große Textdatei mit zufälligen Daten zu öffnen. Die zugewiesene Aufgabe bestand darin, jede Instanz des Wortes Globe durch Earth zu ersetzen (ja, ich erinnere mich immer noch an die genauen Worte).
Für diejenigen, die mit sed vertraut sind, wird dies bekannt vorkommen – im ex-Modus geben Sie ein:
:%s/old/new/g
Wobei alt das zu suchende Muster ist und neu die Zeichenfolge ist, die es ersetzen wird.
In dem oben beschriebenen Fall habe ich verwendet:
:%s/Globe/Earth/g
um die Arbeit zu erledigen.
Was ist, wenn Sie vor dem Ersetzen aufgefordert werden möchten? Einfach. Fügen Sie einfach ein c am Ende des obigen Befehls hinzu, wie folgt:
:%s/old/new/gc
Die Vorkommen des Musters werden hervorgehoben und Sie werden gefragt, ob Sie es durch die neue Zeichenfolge ersetzen möchten:
:%s/gacanepa/me/gc

wo
- y: yes
- n: no
- a: substitute all
- q: quit
- l: substitute this occurrence and quit
- ^E (Strg+E): Bildlauf um einen Bildschirm nach oben
- ^Y (Strg+Y): Bildlauf um einen Bildschirm nach unten
Zusammenfassung
In diesem Artikel haben wir begonnen, einige vim-Tipps und -Tricks zu überprüfen, um Ihre Textbearbeitungsfähigkeiten zu erweitern. Sie werden wahrscheinlich an einige andere denken, also teilen Sie sie bitte im Kommentarformular unten, und ich werde in Betracht ziehen, sie im nächsten und letzten Artikel dieser vim-Serie zu behandeln.
Source:
https://www.tecmint.com/learn-vi-and-vim-editor-tips-and-tricks-in-linux/