Stellen Sie sich vor, Sie stecken bis über beide Ohren in Ihrem Linux-System und versuchen verzweifelt, eine Datei zu bearbeiten. Jeder Versuch fühlt sich an wie das Entschlüsseln eines antiken Codes. Wenn Sie sich beim Klicken immer mehr verloren fühlen, warum wenden Sie sich nicht an Vim für Linux?
In diesem Tutorial werden Sie die Geheimnisse von Vim, einem weit verbreiteten Texteditor, enthüllen, der Sie vom Linux-Wanderer in einen Command-Line-Virtuosen verwandelt.
Greifen Sie nach Ihrem metaphorischen Schwert (auch bekannt als Ihre Tastatur) und begeben Sie sich in die Welt von Vim!
Voraussetzungen
Hier sind einige Voraussetzungen, um die Bühne für das Meistern von Vim auf Ihrem Linux-System vorzubereiten:
- A Linux OS – This tutorial uses an Ubuntu 22.04 LTS.
- Vim auf Ihrem Rechner installiert – siehe die offizielle Dokumentation zu wie man Vim installiert.
Erstellen und Bearbeiten von Dateien mit Vim für Linux
Vim arbeitet in verschiedenen Modi, die jeweils einzigartige Bearbeitungsmöglichkeiten bieten. Bevor Sie jedoch zu diesen Modi wechseln, müssen Sie zunächst lernen, wie Sie Dateien mit Vim unter Linux erstellen und bearbeiten können.
Um eine Datei mit Vim zu erstellen und zu bearbeiten, befolgen Sie diese Schritte:
1. Öffnen Sie ein Terminal und führen Sie den folgenden vim
-Befehl aus, um eine Datei namens sshd_config
(beliebig) mit Vim zu erstellen. Dieser Befehl erstellt automatisch die Datei, wenn sie nicht vorhanden ist. Andernfalls wird die vorhandene Datei in Vim geöffnet.
Die Benutzeroberfläche von Vim sieht wie unten aus, wenn Sie eine neue Datei erstellt haben, was bedeutet, dass Vim sich derzeit im Befehlsmodus befindet. Der Befehlsmodus ist einer der Hauptmodi, in denen Sie mit dem Text im Vim-Editor interagieren.

2. Kopieren Sie als nächstes den unten stehenden Text in die Zwischenablage, der Beispieleinstellungen für den SSH-Server enthält, die rein zu Demonstrationszwecken dienen und keine tatsächlichen Serverkonfigurationen widerspiegeln.
3. Drücken Sie in Vim i
, um in den Einfügemodus zu wechseln. Der Einfügemodus ist ebenfalls einer der Hauptmodi in Vim, der es Ihnen ermöglicht, den Inhalt Ihres Dokuments zu tippen und zu ändern.
Sobald Sie den Einfügemodus betreten, wird in der Statuszeile — INSERT — wie im Folgenden angezeigt.

4. Drücken Sie nun Strg+Shift+V oder Shift+Einfügen, um den Text, den Sie in Schritt zwei kopiert haben, in den Vim-Editor einzufügen, und drücken Sie Esc, um den Einfügemodus zu verlassen (wechselt in den Befehlsmodus).
Beachten Sie, dass der Status — INSERT — verschwindet, was bedeutet, dass Sie sich wieder im Befehlsmodus befinden.

5. Geben Sie zuletzt den :w
-Befehl ein und drücken Sie Enter, um die Änderungen an der Datei zu speichern, ohne den Editor zu schließen.
Bei Bedarf können Sie die anderen unten aufgeführten Befehle ausführen:
Command | Details |
---|---|
:q! |
Quit the editor without saving the changes. |
:w! |
Write the current file changes forcefully. |
:wq |
Save the changes and quit the editor (or :wq! to save and quit forcefully). |
e! |
Revert to the last saved version of the file. |

Die Statuszeile zeigt die Datenmenge an, die in die Datei geschrieben wurde, in diesem Fall 23 Zeilen (23L) und 624 Bytes (624B).

Texte in Vim navigieren
Nachdem Sie die Kunst des Erstellens und Bearbeitens von Dateien mit Vim beherrscht haben, werden Sie eine entscheidende Fähigkeit kennenlernen, die Ihre Textbearbeitungsfähigkeiten verbessert – das Navigieren in Vim. Eine effektive Navigation ist der Schlüssel zur Entfaltung des Potenzials von Vim, ähnlich wie das Erkunden einer weiten Landschaft.
Um zu sehen, wie man in Vim durch Texte navigiert, gehen Sie wie folgt vor:
1. Geben Sie nun den Befehl :set nu
ein und drücken Sie Enter, um die Zeilennummerierung in Vim zu aktivieren. Die Zeilennummerierung ist eine wichtige Funktion des Editors beim Umgang mit Code oder großen Dokumenten.
Wenn erfolgreich, sehen Sie die Zeilennummern im Editor, wie unten gezeigt.

2. Wechseln Sie als nächstes in den Befehlsmodus (Esc
) und drücken Sie den Befehl gg
, um zum Anfang der Datei zu springen.

3. Drücken Sie als nächstes einen der folgenden Befehle, bis Sie zum Anfang des MaxSessions-Parameters gelangen, und drücken Sie $
, um den Cursor ans Ende der Zeile zu bewegen.
Command | Details |
---|---|
h |
Move the cursor to the left or the previous character. |
j |
Move the cursor one line down. |
k |
Move the cursor one line up. |
l |
Move the cursor to the right or the next character. |

4. Ersetzen Sie nun einen Text durch den folgenden:
- Drücken Sie
i
, um in den Einfügemodus zu wechseln. - Löschen Sie den Wert (Rücktaste oder Entfernen), der 10 ist, und ersetzen Sie ihn durch 25.
- Wechseln Sie in den Befehlsmodus (
Esc
) und speichern Sie die Änderungen (:w
).

Texte an bestimmten Stellen einfügen
Vim bietet eine Reihe von Befehlen, mit denen Sie genau steuern können, wo und wie Sie neue Texte einfügen möchten (genau dort, wo Sie sie benötigen). Diese Funktion funktioniert sowohl, wenn Sie am Anfang einer Zeile, direkt nach der aktuellen Cursorposition oder am Ende einer Zeile einfügen möchten.
Um zu sehen, wie das Einfügen von Texten an bestimmten Stellen funktioniert, führen Sie bitte folgende Schritte aus:
1. Drücken Sie I
(Shift+I), während sich der Cursor am Ende der Zeile befindet, um den Einfügemodus zu aktivieren und gleichzeitig den Cursor an den Anfang der Zeile zu setzen.

2. Wechseln Sie in den Befehlsmodus (Esc
), bewegen Sie den Cursor zu einem anderen Zeichen in der aktuellen Textzeile (z. B. zum Anfang) und drücken Sie den Befehl a
.
Dieser Befehl wechselt Vim in den Einfügemodus und platziert den Cursor an der nächsten Position zum vorherigen Zeichen. Dieses Verhalten eignet sich gut, um schnell Text in der Mitte einer Zeile hinzuzufügen, ohne den vorhandenen Text zu stören.

3. Fügen Sie ‚y‘ ein, um den Schlüssel MaxSession als MyaxSession zu buchstabieren, wie unten gezeigt, und wechseln Sie in den Befehlsmodus (Esc
).
Sie werden feststellen, dass das neue Zeichen ‚y‘ unmittelbar nach dem ersten erscheint.

4. Ändern Sie nun die Textzeile wie folgt:
- Drücken Sie Shift+A, um den Befehl
A
auszuführen, mit dem Vim in den Einfügemodus wechselt und den Cursor ans Ende der Zeile setzt. Dieses Verhalten eignet sich ideal, um schnell Inhalte wie ein Semikolon hinzuzufügen oder einen Satz zu beenden. - Fügen Sie am Ende der Zeile 0 hinzu, sodass der Wert 250 wird.
- Zurück zum Befehlsmodus (`Esc`) und die Änderungen speichern (`:w`).

Öffnen neuer Zeilen
Jetzt, da Sie gelernt haben, Text in Ihren Vim-Dateien strategisch zu platzieren, ist es an der Zeit, eine Fähigkeit zu erkunden, die Ihren Inhalt gut strukturiert und organisiert hält. Die Fähigkeit, in Vim neue Zeilen zu öffnen, ist Ihr Ticket zu einem lesbareren und ästhetisch ansprechenderen Text.
Um neue Zeilen zu öffnen, oben oder unten, führen Sie die folgenden Schritte aus:
1. Wechseln Sie in den Befehlsmodus und drücken Sie `o`, um eine neue Zeile unter der aktuellen Textzeile zu öffnen, und fügen Sie den folgenden Kommentar zu den MyaxSessions hinzu.

2. Wechseln Sie in den Befehlsmodus (`Esc`), positionieren Sie den Cursor auf einer anderen Textzeile und drücken Sie `O` (Shift+O), um eine neue Zeile über der aktuellen Textzeile hinzuzufügen.

3. Fügen Sie nun den folgenden Befehl in die Datei ein und speichern Sie die Änderungen (`:w`).

Löschen von Wörtern und Textzeilen
Vim bietet effiziente Befehle zum Löschen und Ersetzen von Texten jenseits der grundlegenden Entfernen- oder Rücktaste. Diese Befehle sind im Befehlsmodus zugänglich, der es Ihnen ermöglicht, schnell Änderungen und Korrekturen vorzunehmen, indem Sie Zeichen, Wörter oder ganze Zeilen löschen oder ersetzen.
Um Texte in Vim für Linux zu löschen und zu ersetzen, führen Sie folgendes aus:
1. Bewegen Sie den Cursor zum Parameter MyaxSessions, speziell zum Zeichen ‚y‚.

2. Drücken Sie dann x
, um das Zeichen unter dem Cursor sofort zu entfernen, das in diesem Fall ‚y‚ ist.
Der Parameter ist wieder im Originaltext als MaxSessions, wie unten gezeigt.

3. Bewegen Sie den Cursor zur Zeile PermitRootLogin no:.

4. Drücken Sie nun "_dd
, um die gesamte Textzeile unabhängig von der Cursorposition zu löschen.
Der "_
-Teil im Befehl gibt das Black-Hole-Register an, das den gelöschten Text verwirft (er wird in keinem Register gespeichert).
Vim hat seinen eigenen Satz von Registern, in denen Sie Texte speichern können, und das Nichtangeben des Black-Hole-Registers bewirkt, dass der Befehl den Text ausschneidet, anstatt ihn zu löschen.
Bei erfolgreichem Abschluss ist die Zeile PermitRootLogin no: verschwunden.

5. Im Befehlsmodus platzieren Sie den Cursor am Anfang des Wortes Specifies in der Zeile # Specifies whether root can log in using ssh.

6. Führen Sie schließlich den Befehl "_dw
aus, der das Wort Specifies entfernt, wie unten gezeigt:

Optional können Sie sich für zusätzliche Löschoperationen mit den folgenden Befehlen entscheiden:
Command | Details |
---|---|
"_d$ |
Delete texts from the cursor position to the end of the line. |
"_D |
Deletes from the cursor position to the end of the line. |
"_d^ |
Deletes from the cursor position to the first non-whitespace character of the line |
"_dgg |
Deletes from the cursor position to the beginning of the file. |
"_dG |
Deletes from the cursor position to the end of the file. |
Ersetzen von Zeichen und Textzeilen
Von strategischen Löschungen in Vim wenden Sie sich der Kehrseite der Medaille zu – dem Ersetzen von Zeichen und Zeilen Text. Das Ersetzen ist der Pinselstrich, der es Ihnen ermöglicht, Ihren Text präzise zu verfeinern und neu zu definieren. Die gute Nachricht ist, dass Vim es Ihnen ermöglicht, einmalige Zeichenersetzungen oder ganze Textzeilen durchzuführen.
Um Zeichen und Zeilen Text zu ersetzen, fahren Sie mit diesen Aufgaben fort:
1. Positionieren Sie Ihren Cursor auf der Zeile AuthorizedKeysFile .ssh/authorized_keys, speziell auf dem Zeichen ‘z’ in authorized, wie unten dargestellt:

2. Sobald positioniert, drücken Sie r
, was Vim mitteilt, dass Sie das Zeichen unter dem Cursor ersetzen möchten, und geben Sie das Zeichen ‘s’ ein. Der Befehl r
ermöglicht es Ihnen, ein Zeichen zu ersetzen, ohne zuerst in den Einfügemodus (i
) zu wechseln.
Beachten Sie, dass das Zeichen ‘z’ in authorized durch das Zeichen ‘s’ ersetzt wurde, wodurch das Wort zu authorised wird.

3. Platzieren Sie anschließend Ihren Cursor auf dem Zeichen ’z‘ in AuthorizeKeysFile.

4. Drücken Sie R
(Shift+R), um in den Ersetzungsmodus zu gelangen, geben Sie ‘s’ ein, um das Zeichen zu ersetzen, verlassen Sie jedoch noch nicht den Ersetzungsmodus.
Im Gegensatz zum Befehl r
, der es Ihnen nur ermöglicht, ein Zeichen zu ersetzen, erlaubt Ihnen der Befehl R
, vorhandene Texte zu überschreiben, während Sie kontinuierlich eingeben.

5. Letztendlich kopieren Sie den folgenden Text in die Zwischenablage, bewegen den Cursor an den Anfang der Datei und fügen den kopierten Text ein (Strg+Shift+V oder Umschalt+Einfügen).
Da Sie sich immer noch im Ersetzungsmodus befinden, wird durch das Einfügen des Textes die erste Zeile in der Datei ersetzt.

Texte innerhalb einer Datei suchen
Beim Wiederholen oder Rückgängigmachen von Aktionen ist die Fähigkeit, Texte innerhalb einer Datei zu suchen, nützlich. Vim ermöglicht es Ihnen, nach bestimmten Wörtern, Phrasen oder Mustern in Ihrer Datei zu suchen.
Stellen Sie sich den enormen Produktivitätsschub vor, wenn Sie spezifische Textabschnitte schnell lokalisieren und manipulieren können, ohne ziellos zu scrollen.
Um nach Texten innerhalb einer Datei zu suchen, befolgen Sie diese Schritte:
1. Bewegen Sie Ihren Cursor an den Anfang der Datei (gg
Befehl), drücken Sie /
(Schrägstrich) um den Suchmodus zu starten, geben Sie den Suchbegriff log ein und drücken Sie Enter.
Dieser Befehl sucht nach dem von Ihnen angegebenen Begriff (log) und bewegt den Cursor zum nächsten Vorkommen des Begriffs.

2. Drücken Sie anschließend n
, um zum nächsten Vorkommen des Begriffs zu gelangen.

3. Drücken Sie nun N
(Umschalt+N), um zum vorherigen Vorkommen zurückzukehren.

Zusätzlich bietet Vim weitere Suchverknüpfungen wie folgende für mehr Suchflexibilität:
Command | Details |
---|---|
? |
Initiates a reverse search of a term. |
* |
Performs a forward search for the word under the cursor. Continue pressing * to cycle through further occurrences of the word until it loops back to the first instance. |
# |
Performs a backward search for the word under the cursor. Continuously pressing # works similarly to the * command but cycles until it loops back to the last instance. |
Kombinieren der Suche mit anderen Befehlen auf Vim
Während Sie die komplexen Landschaften von Vim durchqueren, warum nicht eine weitere Ebene zu Ihrer Textbearbeitungsbeherrschung hinzufügen – die Kombination von Suche mit anderen Befehlen?
Vim ermöglicht es Ihnen, Aktionen von der Ersetzung bestimmter Vorkommen bis zum Löschen von Zeilen, die einem Muster entsprechen, durchzuführen.
Um die Synergie zwischen Suche und Aktion in Vim zu erleben, führen Sie folgendes aus:
1. Befinden Sie sich im Befehlsmodus, platzieren Sie den Cursor am Startpunkt, von dem aus Sie die Löschung beginnen möchten (d. h. das erste Vorkommen des Suchbegriffs log).

2. Geben Sie dann d/log
ein und drücken Sie Enter, um alles von der aktuellen Cursorposition bis zum nächsten Vorkommen des Begriffs log zu löschen, wie unten gezeigt.

3. Machen Sie die vorherige Aktion rückgängig (u
-Befehl) und platzieren Sie den Cursor am ersten Vorkommen des Suchbegriffs log.

4. Führen Sie nun den folgenden Befehl aus, um Texte in einem bestimmten Bereich zu suchen und zu ersetzen, wobei:
:.
– Den Befehlsmodus (:
) in der aktuellen Zeile (.
) betritt.,$
– Den Bereich für die Ersetzung festlegt.s/log/logs/g
– Substitute all occurrences of the old word (log
) with new (logs
) globally (g
) within the specified range.

Auswahl von Texten im visuellen Modus in Vim
Neben der Verbindung der Kunst der Suche mit anderen Befehlen in Vim müssen Sie eine Funktion enthüllen, die Ihre Textbearbeitungserfahrung transformiert. Der visuelle Modus von Vim ermöglicht es Ihnen, Text interaktiver und visueller zu manipulieren. Der visuelle Modus bietet eine flexible und effiziente Methode zum Hervorheben und Arbeiten mit Teilen Ihres Textes.
Um Text auszuwählen und zu bearbeiten, können Sie wählen, einzelne Zeichen auszuwählen und zu bearbeiten oder Textblöcke auszuwählen und zu bearbeiten, wie folgt:
1. Bewegen Sie Ihren Cursor an den Anfang der Datei (gg
-Befehl) und drücken Sie v
, um den visuellen Modus zu aktivieren, wie unten gezeigt.

2. Drücken Sie $
, um Ihren Cursor ans Ende der Zeile zu bewegen. Da Sie sich im visuellen Modus befinden, markiert der Befehl die Zeile Text.

3. Führen Sie nun eine Kopier- und Einfügeaktion wie folgt aus:
- Drücken Sie
y
, um den markierten Text in das Register von Vim zu kopieren. - Drücken Sie
G$
, um den Cursor ans Ende der letzten Zeile in der Datei zu bewegen. - Drücken Sie
p
, um den kopierten Text einzufügen (speziell nach dem Cursor).
Beachten Sie, dass derp
-Befehl sich von den Tastenkombinationen zum Einfügen von Texten unterscheidet (Strg+Umschalt+V oder Umschalt+Einfügen). Wenn Sie den Text mit demy
-Befehl kopieren, wird der Text im Register von Vim gespeichert, und derp
-Befehl fügt den Text aus dem Register ein.


4. Rückgängig machen (u
) Sie Ihre vorherige Aktion, bewegen Sie den Cursor an den Anfang der Datei (gg
) und drücken Sie V
(Strg+V), um in den visuellen Zeilenmodus zu gelangen.
Im Gegensatz zur Auswahl einer einzelnen Zeile im visuellen Modus ermöglicht der visuelle Zeilenmodus die Auswahl mehrerer Zeilen Text, was Sie im folgenden Schritt sehen werden.

5. Verwenden Sie die Abwärtspfeiltaste, um die Zeichen vom Anfang der Datei bis zur Zeile Protokoll 2 auszuwählen.

6. Drücken Sie d
, um die ausgewählten mehreren Zeilen Text auszuschneiden.

7. Schließlich fügen Sie den Text, den Sie in Schritt sechs ausgeschnitten haben, wie folgt ein:
- Bewegen Sie sich zur letzten Zeile in der Datei (
G
) und erstellen Sie eine neue Zeile darunter (o
). - Zurück zum Befehlsmodus (`Esc`) und füge den Text ein (`p`).

Schlussfolgerung
Herzlichen Glückwunsch! Sie haben sich durch die komplexen Welten von Vim für Linux navigiert und dabei einen Schatz an Textbearbeitungsweisheit freigeschaltet. Vom Erstellen und Bearbeiten von Dateien bis hin zum Meistern der Kunst des visuellen Modus haben Sie den Hut eines Vim-Virtuosen aufgesetzt.
Aber Ihre Abenteuer auf der Kommandozeile haben gerade erst begonnen. Warum erkunden Sie nicht erweiterte Funktionen wie Makros und Plug-ins , um Vim an Ihre Bedürfnisse anzupassen?
Nutzen Sie diese grundlegenden Fähigkeiten, um tiefere Aspekte von Vim zu erkunden, wie Dateiverwaltung , komplexe Suchmuster und Vim-Skripting zur Personalisierung .