Einführung
Das Bearbeiten von Texten ist eine grundlegende Fähigkeit für alle, die mit Linux-Systemen arbeiten. Systemadministratoren, Entwickler und fortgeschrittene Benutzer müssen häufig Textdateien für Konfigurationen, Skripte, Protokolle und Dokumentationen erstellen, ändern und verwalten.
Unter den verschiedenen Texteditoren, die in Linux verfügbar sind, zeichnet sich Vim als einer der leistungsstärksten und am weitesten verbreiteten Editoren aus. Obwohl es im Vergleich zu anderen Texteditoren eine steilere Lernkurve hat, kann das Beherrschen von Vim Ihre Produktivität beim Arbeiten mit Textdateien in Linux erheblich verbessern.
In diesem Lab werden Sie die wichtigsten Vim-Befehle und Techniken für die effiziente Textbearbeitung in Linux lernen. Wir beginnen mit grundlegenden Navigations- und Bearbeitungsoperationen und gehen dann zu fortgeschritteneren Funktionen über. Am Ende dieses Labs haben Sie praktische Erfahrungen mit der Verwendung von Vim für häufige Textbearbeitungsaufgaben gesammelt.
Öffnen und Schließen von Dateien in Vim
In diesem Schritt lernen Sie, wie Sie Dateien mit Vim öffnen und schließen. Vim ist ein leistungsstarker Texteditor, der auf praktisch allen Linux-Systemen verfügbar ist. Obwohl es zunächst komplex erscheinen mag, wird das Erlernen einiger grundlegender Befehle Ihnen helfen, sich mit diesem wichtigen Werkzeug wohlzufühlen.
Öffnen einer Datei mit Vim
Beginnen wir damit, ein neues Verzeichnis für unsere Übungsdateien zu erstellen. Wir werden im Verzeichnis ~/project arbeiten, das bereits für Sie eingerichtet ist.
Zunächst erstellen wir eine einfache Textdatei mit dem Befehl touch:
touch ~/project/notes.txt
Dieser Befehl erstellt eine leere Datei namens notes.txt im Projektverzeichnis.
Nun öffnen wir diese Datei mit Vim:
vim ~/project/notes.txt
Nach der Ausführung dieses Befehls sollte Ihnen ein neuer Bildschirm mit dem Vim-Editor angezeigt werden. Möglicherweise bemerken Sie einige Tilden (~) auf der linken Seite des Bildschirms. Diese markieren Zeilen, die nicht Teil der Datei sind (Leerzeichen).
Verständnis der Vim-Modi
Eines der Schlüsselkonzepte in Vim ist, dass es verschiedene Modi hat:
- Normalmodus: Der Standardmodus, wenn Sie Vim starten. In diesem Modus werden Tastatureingaben als Befehle interpretiert.
- Einfügemodus: Der Modus zum Eingeben von Text in Ihre Datei.
- Befehlsmodus: Erreichbar, indem Sie im Normalmodus
:eingeben, ermöglicht es Ihnen, Befehle auszuführen.
Beenden von Vim
Bevor wir mit der Bearbeitung beginnen, lernen wir, wie man Vim beendet:
- Drücken Sie die
Esc-Taste, um sicherzustellen, dass Sie sich im Normalmodus befinden. - Geben Sie
:qein und drücken SieEnter, um zu beenden.
Wenn Sie Änderungen an der Datei vorgenommen haben und versuchen, zu beenden, verhindert Vim, dass Sie ohne Speichern schließen. Sie können:
:q!eingeben undEnterdrücken, um ohne Änderungen zu speichern zu beenden.:wqeingeben undEnterdrücken, um die Änderungen zu speichern und zu beenden.:weingeben undEnterdrücken, um zu speichern, ohne zu beenden.
Üben wir dies, indem wir die Datei erneut öffnen:
vim ~/project/notes.txt
Drücken Sie Esc, um sicherzustellen, dass Sie sich im Normalmodus befinden, geben Sie dann :q ein und drücken Sie Enter, um Vim zu beenden.
Erstellen von Inhalten in Vim
Nun öffnen wir die Datei erneut und fügen einige Inhalte hinzu:
vim ~/project/notes.txt
Um mit der Eingabe von Text zu beginnen:
- Drücken Sie
i, um in den Einfügemodus zu gelangen. Sie sollten unten auf dem Bildschirm "-- INSERT --" sehen. - Geben Sie den folgenden Text ein:
## My Linux Notes
- Vim is a powerful text editor
- Learning Vim improves productivity
- Vim has multiple modes for different tasks
- Drücken Sie
Esc, um in den Normalmodus zurückzukehren. - Geben Sie
:wqein und drücken SieEnter, um zu speichern und zu beenden.
Sie können den Inhalt der Datei mit folgendem Befehl überprüfen:
cat ~/project/notes.txt
Sie sollten den von Ihnen eingegebenen Text im Terminal sehen.
Herzlichen Glückwunsch! Sie haben die Grundlagen des Öffnens, Bearbeitens und Schließens von Dateien mit Vim gelernt.
Grundlegende Navigation in Vim
In diesem Schritt lernen Sie, wie Sie in Vim durch Textdateien navigieren können. Effiziente Navigation ist für das schnelle und präzise Bearbeiten von Dateien unerlässlich.
Cursorbewegungstasten
Im Normalmodus von Vim können Sie den Cursor mit diesen Tasten bewegen:
h- Nach links bewegenj- Nach unten bewegenk- Nach oben bewegenl- Nach rechts bewegen
Diese Tasten werden als "Home-Row"-Navigations-Tasten bezeichnet, da sie sich unter Ihren Fingern befinden, wenn Ihre Hände in der Standard-Schreibposition sind.
Üben wir die Navigation. Zunächst erstellen wir eine neue Datei mit mehreren Zeilen:
vim ~/project/practice.txt
Drücken Sie i, um in den Einfügemodus zu gelangen, und geben Sie den folgenden Text ein:
Line 1: This is the first line of our practice file.
Line 2: We will use this file to practice navigation.
Line 3: Vim provides efficient ways to move around text.
Line 4: With practice, navigation becomes intuitive.
Line 5: The last line of our practice file.
Drücken Sie Esc, um in den Normalmodus zurückzukehren.
Jetzt üben Sie das Bewegen in der Datei:
- Verwenden Sie
j, um Zeile für Zeile nach unten zu bewegen. - Verwenden Sie
k, um Zeile für Zeile nach oben zu bewegen. - Verwenden Sie
h, um Zeichen für Zeichen nach links zu bewegen. - Verwenden Sie
l, um Zeichen für Zeichen nach rechts zu bewegen.
Wortnavigation
Für eine schnellere Navigation bietet Vim Shortcuts, um sich Wort für Wort zu bewegen:
w- Zum Anfang des nächsten Wortes bewegene- Zum Ende des aktuellen Wortes bewegenb- Zum Anfang des vorherigen Wortes bewegen
Versuchen Sie diese Befehle im Normalmodus, um durch den von Ihnen eingegebenen Text zu navigieren.
Zeilennavigation
Um zu bestimmten Positionen innerhalb einer Zeile zu navigieren:
0- Zum Anfang der aktuellen Zeile bewegen$- Zum Ende der aktuellen Zeile bewegen^- Zum ersten nicht-leeren Zeichen der Zeile bewegen
Dateinavigation
Um durch größere Teile der Datei zu navigieren:
gg- Zum Anfang der Datei bewegenG- Zum Ende der Datei bewegen:n- Zur Zeilennummer n springen (ersetzen Sie n durch eine Zahl, z.B.:3, um zur Zeile 3 zu gelangen)
Üben Sie diese Navigationsbefehle in Ihrer Datei. Beispielsweise:
- Drücken Sie
gg, um zum Anfang der Datei zu gelangen. - Drücken Sie
G, um zum Ende der Datei zu gelangen. - Geben Sie
:3ein und drücken SieEnter, um zur Zeile 3 zu gelangen.
Wenn Sie mit dem Üben fertig sind, speichern Sie die Datei:
- Drücken Sie
Esc, um sicherzustellen, dass Sie sich im Normalmodus befinden. - Geben Sie
:wqein und drücken SieEnter, um zu speichern und zu verlassen.
Lassen Sie uns den Inhalt der Übungsdatei überprüfen:
cat ~/project/practice.txt
Die Ausgabe sollte den von Ihnen in die Datei eingegebenen Text anzeigen.
Erstellen einer Konfigurationsdatei
Nun wenden wir das, was Sie gelernt haben, an, um eine einfache Konfigurationsdatei zu erstellen. Konfigurationsdateien sind in Linux-Systemen üblich, und das Wissen, wie man sie bearbeitet, ist eine wichtige Fähigkeit.
vim ~/project/config.ini
Geben Sie mit i in den Einfügemodus ein und geben Sie den folgenden Inhalt ein:
[Settings]
UserName=admin
Password=secure123
Port=8080
Debug=true
Verwenden Sie die von Ihnen gelernten Navigationsbefehle, um in der Datei zu navigieren und sicherzustellen, dass alles korrekt ist.
Wenn Sie zufrieden sind, speichern Sie die Datei und verlassen Sie Vim:
- Drücken Sie
Esc, um in den Normalmodus zurückzukehren. - Geben Sie
:wqein und drücken SieEnter.
Sie können den Inhalt mit folgendem Befehl überprüfen:
cat ~/project/config.ini
Sie sollten den Inhalt der Konfigurationsdatei im Terminal sehen.
Gut gemacht! Sie haben nun die grundlegende Navigation in Vim gelernt und geübt, was Ihre Bearbeitung effizienter machen wird.
Texte bearbeiten in Vim
In diesem Schritt lernen Sie, wie Sie Texte effektiv in Vim bearbeiten können. Wir werden das Einfügen, Löschen und Ändern von Text behandeln, Operationen, die Sie häufig nutzen werden.
Texteinfügen
Vim bietet mehrere Möglichkeiten, in den Einfügemodus zu gelangen:
i- Text vor dem Cursor einfügena- Text hinter dem Cursor anhängenI- Text am Anfang der Zeile einfügenA- Text am Ende der Zeile anhängeno- Eine neue Zeile unterhalb der aktuellen Zeile öffnenO- Eine neue Zeile oberhalb der aktuellen Zeile öffnen
Üben wir diese Befehle. Erstellen Sie eine neue Datei:
vim ~/project/edit_practice.txt
Versuchen Sie nun Folgendes:
- Drücken Sie
iund geben Sie "This is some text. " ein. - Drücken Sie
Esc, um in den Normalmodus zurückzukehren. - Drücken Sie
aund geben Sie "I am appending after the cursor." ein. - Drücken Sie
Esc, um in den Normalmodus zurückzukehren. - Drücken Sie
o, um eine neue Zeile darunter zu öffnen, und geben Sie "This is a new line below." ein. - Drücken Sie
Esc. - Drücken Sie
O, um eine neue Zeile darüber zu öffnen, und geben Sie "This is a new line above." ein. - Drücken Sie
Esc.
Textlöschen
Im Normalmodus können Sie Text mit diesen Befehlen löschen:
x- Das Zeichen unter dem Cursor löschendd- Die gesamte aktuelle Zeile löschendw- Vom Cursor bis zum Ende des Wortes löschend$oderD- Vom Cursor bis zum Ende der Zeile löschend0- Vom Cursor bis zum Anfang der Zeile löschen
Üben wir das Löschen. In Ihrer Datei versuchen Sie Folgendes:
- Positionieren Sie den Cursor auf einem Zeichen und drücken Sie
x, um es zu löschen. - Positionieren Sie den Cursor am Anfang einer Zeile und drücken Sie
dd, um die gesamte Zeile zu löschen. - Positionieren Sie den Cursor am Anfang eines Wortes und drücken Sie
dw, um das Wort zu löschen.
Textänderung
Vim bietet auch Befehle, um Text zu löschen und in einem Schritt in den Einfügemodus zu gelangen:
cw- Vom Cursor bis zum Ende des Wortes ändernc$oderC- Vom Cursor bis zum Ende der Zeile änderncc- Die gesamte Zeile ändern
Versuchen Sie, Text zu ändern:
- Positionieren Sie den Cursor am Anfang eines Wortes.
- Drücken Sie
cw. - Geben Sie ein neues Wort ein.
- Drücken Sie
Esc.
Rückgängigmachen und Wiederholen von Änderungen
Haben Sie einen Fehler gemacht? Vim ermöglicht es Ihnen, Änderungen rückgängig zu machen und wiederholen:
u- Die letzte Änderung rückgängig machenCtrl+r- Die zuletzt rückgängig gemachte Änderung wiederholen
Versuchen Sie, einige Änderungen vorzunehmen, und machen Sie sie dann rückgängig und wiederholen Sie sie.
Kopieren und Einfügen von Text
Vim verwendet die Begriffe "yank" für Kopieren und "put" für Einfügen:
yy- Die aktuelle Zeile kopieren (yank)yw- Vom Cursor bis zum Ende des Wortes kopieren (yank)p- Nach dem Cursor einfügen (put)P- Vor dem Cursor einfügen (put)
Üben wir das Kopieren und Einfügen:
- Positionieren Sie den Cursor am Anfang einer Zeile.
- Drücken Sie
yy, um die gesamte Zeile zu kopieren. - Bewegen Sie den Cursor an eine andere Position.
- Drücken Sie
p, um die kopierte Zeile einzufügen.
Erstellen eines praktischen Beispiels
Nun wenden wir das, was Sie gelernt haben, an, um ein einfaches Shell-Skript zu erstellen:
vim ~/project/hello.sh
Geben Sie mit i in den Einfügemodus ein und geben Sie ein:
#!/bin/bash
## A simple hello world script
echo "Hello, World!"
echo "Today is $(date)"
echo "Welcome to Linux text editing with Vim"
Verwenden Sie die von Ihnen gelernten Bearbeitungsbefehle, um das Skript bei Bedarf zu ändern.
Wenn Sie zufrieden sind, speichern Sie die Datei und verlassen Sie Vim:
- Drücken Sie
Esc, um in den Normalmodus zurückzukehren. - Geben Sie
:wqein und drücken SieEnter.
Machen wir das Skript ausführbar und führen es aus:
chmod +x ~/project/hello.sh
~/project/hello.sh
Sie sollten die Ausgabe Ihres Shell-Skripts im Terminal sehen, das die Begrüßungen und das aktuelle Datum anzeigt.
Herzlichen Glückwunsch! Sie kennen nun die wesentlichen Texterstellungsbefehle in Vim, die Ihnen helfen, Dateien effizienter zu bearbeiten.
Erweiterte Vim-Funktionen
In diesem letzten Schritt lernen Sie einige fortgeschrittene Funktionen von Vim kennen, die Ihre Produktivität erheblich steigern können. Dazu gehören das Suchen und Ersetzen von Text sowie die Arbeit mit mehreren Dateien.
Text suchen
Um nach Text in Vim zu suchen:
- Drücken Sie im Normalmodus
/. - Geben Sie den Suchbegriff ein.
- Drücken Sie
Enter, um die Suche zu starten. - Drücken Sie
n, um die nächste Übereinstimmung zu finden. - Drücken Sie
N, um die vorherige Übereinstimmung zu finden.
Erstellen wir eine Datei, um das Suchen zu üben:
vim ~/project/search_example.txt
Geben Sie mit i in den Einfügemodus ein und geben Sie den folgenden Text ein:
Linux is a family of open-source Unix-like operating systems.
The Linux kernel was first released by Linus Torvalds.
Linux is widely used in servers, desktops, and embedded systems.
Linux distributions include Ubuntu, Fedora, and CentOS.
Many server environments run on Linux due to its stability.
Üben Sie nun das Suchen:
- Drücken Sie
Esc, um sicherzustellen, dass Sie sich im Normalmodus befinden. - Geben Sie
/Linuxein und drücken SieEnter. - Drücken Sie
n, um zur nächsten Übereinstimmung von "Linux" zu gelangen. - Drücken Sie
N, um zur vorherigen Übereinstimmung zu gelangen.
Suchen und Ersetzen
Vim ermöglicht es Ihnen, Text mithilfe des Ersetzbefehls zu ersetzen:
- Um die erste Übereinstimmung eines Musters in der aktuellen Zeile zu ersetzen:
:s/old/new/ - Um alle Übereinstimmungen in der aktuellen Zeile zu ersetzen:
:s/old/new/g - Um alle Übereinstimmungen in der gesamten Datei zu ersetzen:
:%s/old/new/g - Um mit Bestätigung zu ersetzen:
:%s/old/new/gc
Versuchen wir eine Ersetzung:
- Drücken Sie
Esc, um sicherzustellen, dass Sie sich im Normalmodus befinden. - Geben Sie
:%s/Linux/GNU\/Linux/gein und drücken SieEnter.- Dies ersetzt alle Vorkommen von "Linux" durch "GNU/Linux" in der gesamten Datei.
Überprüfen Sie, ob die Ersetzungen vorgenommen wurden, indem Sie durch die Datei scrollen.
Speichern Sie die Datei und verlassen Sie Vim:
- Geben Sie
:wqein und drücken SieEnter.
Visualmodus
Vim's Visualmodus ermöglicht es Ihnen, Text auszuwählen, bevor Sie Operationen ausführen:
v- Starten Sie die zeichenweise visuelle Auswahl.V- Starten Sie die zeilenweise visuelle Auswahl.Ctrl+v- Starten Sie die blockweise visuelle Auswahl (Spalten auswählen).
Erstellen wir eine neue Datei, um den Visualmodus zu üben:
vim ~/project/visual_example.txt
Geben Sie mit i in den Einfügemodus ein und geben Sie ein:
Line 1: This is the first line for practicing visual mode.
Line 2: We can select parts of this text.
Line 3: Visual mode is very powerful.
Line 4: It allows for precise text manipulation.
Line 5: This is the last line of our example.
Drücken Sie Esc, um in den Normalmodus zurückzukehren.
Versuchen Sie nun diese Visualmodus-Operationen:
- Bewegen Sie den Cursor an den Anfang von "Line 2".
- Drücken Sie
V, um die zeilenweise visuelle Auswahl zu starten. - Drücken Sie
j, um die Auswahl zu erweitern und "Line 3" einzuschließen. - Drücken Sie
d, um die ausgewählten Zeilen zu löschen.
Sie sollten sehen, dass die Zeilen 2 und 3 gelöscht wurden.
Arbeit mit mehreren Dateien
Sie können mehrere Dateien in einer einzigen Vim-Sitzung bearbeiten:
- Um mehrere Dateien auf einmal zu öffnen:
vim file1.txt file2.txt - Um zum nächsten Puffer zu wechseln:
:bn - Um zum vorherigen Puffer zu wechseln:
:bp - Um alle Puffer aufzulisten:
:ls - Um zu einem bestimmten Puffer zu wechseln:
:b numberoder:b name
Erstellen wir und arbeiten wir mit mehreren Dateien:
vim ~/project/file1.txt ~/project/file2.txt
In der ersten Datei geben Sie mit i in den Einfügemodus ein und geben Sie ein:
This is the content of file1.txt.
We're practicing working with multiple files in Vim.
Speichern Sie diese Datei, ohne Vim zu verlassen:
- Drücken Sie
Esc, um sicherzustellen, dass Sie sich im Normalmodus befinden. - Geben Sie
:wein und drücken SieEnter.
Wechseln Sie nun zur zweiten Datei:
- Geben Sie
:bnein und drücken SieEnter.
Geben Sie mit i in den Einfügemodus ein und geben Sie ein:
This is the content of file2.txt.
Switching between files in Vim is efficient.
Speichern Sie diese Datei und verlassen Sie Vim:
- Drücken Sie
Esc, um sicherzustellen, dass Sie sich im Normalmodus befinden. - Geben Sie
:wqein und drücken SieEnter.
Erstellen einer Konfigurationsdatei mit Kommentaren
Wenden wir die von Ihnen gelernten fortgeschrittenen Funktionen an, um eine komplexere Konfigurationsdatei zu erstellen:
vim ~/project/advanced_config.conf
Geben Sie mit i in den Einfügemodus ein und geben Sie ein:
## Server Configuration
## Last updated: 2023-10-20
[Database]
Host=localhost
Port=5432
User=dbuser
Password=secret
Database=myapp
[Web]
Host=0.0.0.0
Port=8080
Debug=true
LogLevel=info
[Security]
EnableSSL=true
SSLCert=/etc/ssl/certs/mycert.pem
SSLKey=/etc/ssl/private/mykey.pem
AllowedIPs=127.0.0.1,192.168.1.0/24
Üben Sie nun einige fortgeschrittene Bearbeitungen:
- Suchen Sie nach "localhost" mit
/localhost. - Ersetzen Sie "secret" durch "db_password" mit
:s/secret/db_password/. - Verwenden Sie den Visualmodus, um die Zeile "AllowedIPs" auszuwählen und zu löschen.
- Fügen Sie am Ende einen neuen Abschnitt hinzu, indem Sie mit
oin den Einfügemodus auf einer neuen Zeile gelangen:
[Monitoring]
Enabled=true
Interval=60
AlertEmail=admin@example.com
Speichern Sie die Datei und verlassen Sie Vim:
- Drücken Sie
Esc, um sicherzustellen, dass Sie sich im Normalmodus befinden. - Geben Sie
:wqein und drücken SieEnter.
Überprüfen Sie den Inhalt Ihrer Konfigurationsdatei:
cat ~/project/advanced_config.conf
Tolles Werk! Sie haben nun die fortgeschrittenen Funktionen von Vim gelernt und geübt, die Ihnen helfen, Texte unter Linux produktiver zu bearbeiten.
Zusammenfassung
In diesem Lab haben Sie grundlegende Fähigkeiten in der Texterstellung mit Vim unter Linux erworben. Begonnen haben Sie mit den Grundlagen und sind dann zu immer fortschrittlicheren Operationen vorgestoßen, die Ihre Effizienz bei der Arbeit mit Textdateien in einer Linux-Umgebung verbessern werden.
Hier ist eine Zusammenfassung dessen, was Sie gelernt haben:
Grundlegende Vim-Operationen:
- Öffnen und Schließen von Dateien
- Verständnis der verschiedenen Modi von Vim
- Erstellen und Speichern von Textdateien
Navigation in Vim:
- Bewegen durch Text mithilfe von Tastaturkürzeln
- Navigation nach Zeichen, Wörtern, Zeilen und Seiten
- Springen zu bestimmten Positionen in einer Datei
Texterstellung:
- Einfügen und Löschen von Text
- Kopieren, Ausschneiden und Einfügen
- Rückgängigmachen und Wiederholen von Änderungen
- Erstellen und Bearbeiten praktischer Dateien wie Skripte und Konfigurationen
Fortgeschrittene Funktionen:
- Suchen nach Text
- Suchen und Ersetzen von Text
- Verwenden des Visualmodus zur Textauswahl
- Arbeiten mit mehreren Dateien in einer einzigen Vim-Sitzung
Diese Fähigkeiten sind für alle, die mit Linux arbeiten, unerlässlich, sei es, dass Sie Server verwalten, Software entwickeln oder einfach effizient Textdateien erstellen und bearbeiten müssen. Die Stärke von Vim liegt in seiner Geschwindigkeit und Vielseitigkeit – sobald Sie sich mit seinen Befehlen vertraut gemacht haben, können Sie Texte schneller bearbeiten als mit den meisten grafischen Editoren.
Obwohl es Zeit dauert, um die Vim-Befehle auswendig zu lernen, lohnt sich die Investition durch eine gesteigerte Produktivität. Üben Sie diese Techniken weiterhin und denken Sie darüber nach, mehr über die fortgeschrittenen Funktionen von Vim zu lernen, wenn Sie sich mit dem Editor besser auskennen.
Denken Sie daran, dass Sie jederzeit auf die integrierte Hilfe von Vim zugreifen können, indem Sie :help gefolgt von dem Befehl oder Thema eingeben, das Sie interessiert. Diese umfangreiche Dokumentation ist eine ausgezeichnete Ressource, wenn Sie weiterhin die Möglichkeiten von Vim erkunden.



