Textdateien in Linux mit Vim und Nano bearbeiten

CompTIABeginner
Jetzt üben

Einführung

In diesem Lab erlernen Sie die grundlegenden Fähigkeiten, die für den Umgang mit den zwei wichtigsten Texteditoren in Linux erforderlich sind: vi/vim und nano. Dies sind die am weitesten verbreiteten Texteditoren in Linux-Umgebungen, von denen jeder seine eigenen Stärken und Einsatzbereiche hat.

Sie beginnen mit dem Texteditor vi, einem leistungsstarken und allgegenwärtigen Werkzeug in Unix-ähnlichen Systemen. Sie lernen, wie man Dateien erstellt, Text im Einfügemodus (Insert Mode) eingibt, Ihre Arbeit mit Befehlen wie :w und :wq speichert, sich mit Bewegungstasten navigiert, nach Text sucht und grundlegende Bearbeitungsschritte wie das Löschen von Wörtern durchführt.

Im zweiten Teil des Labs erkunden Sie nano, einen benutzerfreundlicheren Editor, der ideal für Einsteiger ist. Sie lernen seine intuitive Benutzeroberfläche kennen, führen grundlegende Bearbeitungen durch und verstehen, wann Sie nano gegenüber vim für verschiedene Aufgaben den Vorzug geben sollten.

Am Ende dieses Labs werden Sie sich im Umgang mit beiden Editoren sicher fühlen und wissen, welches Werkzeug für die verschiedenen Szenarien in Ihrem Linux-Workflow am besten geeignet ist.

Eine Datei erstellen und Text im Einfügemodus eingeben

In diesem Schritt lernen Sie, wie Sie mit dem Editor vi eine neue Textdatei erstellen und Text eingeben. vi (und seine moderne Version vim) ist ein mächtiger und universell verfügbarer Texteditor in Unix-ähnlichen Betriebssystemen. Er arbeitet in verschiedenen Modi, wobei die zwei grundlegendsten der Normalmodus (für Befehle) und der Einfügemodus (zum Tippen von Text) sind.

Stellen wir zunächst sicher, dass Sie sich im richtigen Arbeitsverzeichnis befinden. Alle Arbeiten für dieses Lab werden im Verzeichnis ~/project durchgeführt.

  1. Öffnen Sie ein Terminal. Die Eingabeaufforderung sollte anzeigen, dass Sie sich im Verzeichnis project befinden. Sie können den vollständigen Pfad mit dem Befehl pwd (print working directory) überprüfen.

    pwd

    Sie sollten die folgende Ausgabe sehen, die Ihren Standort bestätigt:

    /home/labex/project
    Terminal zeigt aktuelles Verzeichnis
  2. Starten Sie nun den Editor vi und erstellen Sie eine neue Datei namens test.txt. Wenn Sie diesen Befehl ausführen, startet vi und übernimmt Ihr Terminalfenster.

    vi test.txt

    Ihr Terminal wird geleert und Sie sehen einen Bildschirm mit Tilden (~) am linken Rand. Diese kennzeichnen leere Zeilen. Am unteren Bildschirmrand sehen Sie den Dateinamen "test.txt" [New File]. Sie befinden sich derzeit im Normalmodus.

  3. Um mit dem Tippen von Text zu beginnen, müssen Sie in den Einfügemodus (Insert Mode) wechseln. Drücken Sie dazu die Taste i auf Ihrer Tastatur.

    i

    Beachten Sie, dass am unteren Bildschirmrand -- INSERT -- erscheint. Dies bestätigt, dass Sie sich im Einfügemodus befinden und nun Text direkt in die Datei eingeben können.

  4. Geben Sie den folgenden Satz ein:

    Now is the time for all good men to come to the aid of their country.

    vi-Editor zeigt eingefügten Text im Einfügemodus

    Zu diesem Zeitpunkt existiert der getippte Text nur im Arbeitsspeicher des Editors, wurde aber noch nicht auf die Festplatte geschrieben. Im nächsten Schritt lernen Sie, wie Sie Ihre Arbeit speichern und den Editor verlassen.

Die Datei speichern und beenden mit :w und :wq

In diesem Schritt lernen Sie, wie Sie Ihre Änderungen speichern und den Editor vi verlassen. Diese Aktionen werden über Befehle im Normalmodus ausgeführt. Da Sie sich aus dem vorherigen Schritt noch im Einfügemodus befinden, müssen Sie zuerst in den Normalmodus zurückkehren.

  1. Um vom Einfügemodus zurück in den Normalmodus zu wechseln, drücken Sie die Esc-Taste.

    Esc

    Sie werden bemerken, dass die Anzeige -- INSERT -- am unteren Bildschirmrand verschwindet. Das bedeutet, dass Sie sich jetzt im Normalmodus befinden, in dem Tasteneingaben als Befehle und nicht als Texteingabe interpretiert werden.

  2. Speichern wir nun die Datei. Im Normalmodus werden Befehle, denen ein Doppelpunkt (:) vorangestellt ist, in einer Befehlszeile am unteren Bildschirmrand angezeigt. Um die Datei zu schreiben (speichern), verwenden Sie den Befehl :w.

    Geben Sie die folgende Sequenz ein und drücken Sie Enter:

    :w

    Nachdem Sie Enter gedrückt haben, schreibt vi den Inhalt des Puffers in die Datei test.txt. Sie sehen eine Bestätigungsmeldung am unteren Rand, ähnlich wie diese:

    "test.txt" [New] 1L, 79C written

    Diese Meldung bestätigt, dass die Datei test.txt mit einer Zeile und 79 Zeichen gespeichert wurde.

  3. Um vi schließlich zu beenden, können Sie den Befehl :q (für "quit") verwenden. Ein gebräuchlicherer Befehl ist :wq, der das Speichern der Datei und das Beenden in einer einzigen Aktion kombiniert. Da Sie sich bereits im Normalmodus befinden, geben Sie Folgendes ein und drücken Sie Enter:

    :wq

    Dieser Befehl speichert alle letzten Änderungen und schließt dann den Editor vi, wodurch Sie zur Shell-Eingabeaufforderung in Ihrem Terminal zurückkehren. Ihr Terminal sollte nun wieder die gewohnte Eingabeaufforderung anzeigen, und die Datei test.txt ist in Ihrem Verzeichnis ~/project gespeichert.

In diesem Schritt üben Sie einige der leistungsstarken Navigations- und Suchbefehle von vi. Diese Befehle ermöglichen es Ihnen, den Cursor effizient zu bewegen und Text zu finden, ohne die Maus zu benutzen. Alle diese Operationen werden im Normalmodus durchgeführt.

  1. Zuerst müssen Sie die Datei test.txt erneut öffnen. Geben Sie an Ihrer Shell-Eingabeaufforderung im Verzeichnis ~/project den folgenden Befehl ein:

    vi test.txt

    Der Editor öffnet sich und zeigt den Inhalt der Datei an. Der Cursor befindet sich wahrscheinlich am Anfang der ersten Zeile.

  2. Um sicherzustellen, dass der Cursor ganz am Anfang der Datei steht, können Sie den Befehl gg verwenden. Geben Sie im Normalmodus (drücken Sie Esc, wenn Sie unsicher sind) gg ein.

    gg

    Der Cursor springt sofort zum ersten Zeichen der ersten Zeile, in unserer Datei also zum 'N'.

  3. Die primäre Art, den Cursor in vi zu bewegen, erfolgt über die Tasten h, j, k und l. Dies ist eine Kernkompetenz für jeden vi-Benutzer.

    • h bewegt den Cursor ein Zeichen nach links.
    • l bewegt den Cursor ein Zeichen nach rechts.
    • j bewegt den Cursor eine Zeile nach unten.
    • k bewegt den Cursor eine Zeile nach oben.

    Versuchen Sie, diese Tasten zu drücken, um den Cursor im Satz zu bewegen. Diese Art der Navigation funktioniert in jeder Terminalumgebung.

  4. Suchen wir nun nach Text. Der Befehl / wird verwendet, um in der Datei vorwärts zu suchen. Um nach allen Vorkommen des Buchstabens 'a' zu suchen, folgen Sie diesen Schritten:
    a. Stellen Sie sicher, dass Sie sich im Normalmodus befinden (Esc drücken).
    b. Tippen Sie / gefolgt von dem Zeichen, nach dem Sie suchen möchten, in diesem Fall a. Drücken Sie dann Enter.

    /a

    Der Cursor springt zum ersten 'a', das er nach Ihrer aktuellen Cursorposition findet.

    c. Um das nächste Vorkommen desselben Suchbegriffs zu finden, drücken Sie einfach die Taste n (für "next").

    n

    Drücken Sie mehrmals n, um nacheinander alle 'a's in der Datei anzuspringen.

Sie haben nun die grundlegende Navigation und Suche geübt. Im nächsten Schritt lernen Sie, wie man Text löscht.

Ein Wort mit dw löschen und ohne Speichern beenden mit :q

In diesem Schritt lernen Sie, wie Sie Text löschen und wie Sie vi verlassen, ohne Ihre Änderungen zu speichern. Dies ist eine entscheidende Fähigkeit für den Fall, dass Sie einen Fehler machen und zur zuletzt gespeicherten Version der Datei zurückkehren möchten. Sie sollten vi mit der Datei test.txt aus dem vorherigen Schritt noch geöffnet haben.

  1. Bewegen wir zuerst den Cursor zu dem Wort, das wir löschen möchten. Stellen Sie sicher, dass Sie sich im Normalmodus befinden (Esc drücken). Verwenden Sie die Tasten h und l, um den Cursor auf den ersten Buchstaben des Wortes time zu positionieren.

  2. Wenn der Cursor auf dem t von time steht, geben Sie den Befehl dw ein. Dieser Befehl steht für "delete word" (Wort löschen).

    dw

    Sie werden sehen, wie das Wort time und das darauf folgende Leerzeichen vom Bildschirm verschwinden. Der Satz sieht nun unvollständig aus, was perfekt für unsere nächste Aktion ist.

  3. Sie haben nun die Datei im Puffer des Editors geändert. Nehmen wir an, dieses Löschen war ein Fehler. Anstatt diese falsche Version zu speichern, werden Sie den Editor beenden und die Änderung verwerfen. Der Befehl hierfür lautet :q!. Das q steht für "quit" und das ! erzwingt die Aktion, wobei alle ungespeicherten Änderungen ignoriert werden.

    a. Stellen Sie sicher, dass Sie sich im Normalmodus befinden (Esc drücken).
    b. Geben Sie den folgenden Befehl ein und drücken Sie Enter:

    :q!

    Dieser Befehl beendet den Editor vi sofort und bringt Sie zurück zur Shell-Eingabeaufforderung. Da Sie :q! verwendet haben, wurde das Löschen des Wortes time nicht in der Datei test.txt gespeichert. Wenn Sie die Datei erneut öffnen würden, wäre das Wort time immer noch vorhanden.

Den interaktiven vimtutor für weiteres Üben starten

In diesem Schritt lernen Sie den vimtutor kennen, ein interaktives Tutorial, das darauf ausgelegt ist, Ihnen vi/vim-Fähigkeiten praxisnah beizubringen. Dieses Lab hat die absoluten Grundlagen abgedeckt, aber der vimtutor bietet einen umfassenden Kurs zum Selbststudium, der allen neuen Benutzern sehr empfohlen wird.

  1. Sie sollten sich an der Shell-Eingabeaufforderung im Verzeichnis ~/project befinden. Um das Tutorial zu starten, geben Sie einfach den Befehl vimtutor ein und drücken Sie Enter.

    vimtutor
  2. Dieser Befehl öffnet vi mit einer speziellen Tutorial-Datei. Die Datei selbst enthält alle Anweisungen. Sie lesen den Text und üben dann die beschriebenen Befehle direkt in der Tutorial-Datei. Dies ist ein sicherer und effektiver Weg zum Lernen, da Sie an einer temporären Kopie der Datei üben.

    Das Tutorial ist in Lektionen unterteilt und dauert schätzungsweise 25 bis 30 Minuten. Sie können es in Ihrem eigenen Tempo durcharbeiten.

  3. Wenn Sie mit dem Tutorial fertig sind (oder es jederzeit verlassen möchten), können Sie es genau wie jede andere vi-Sitzung beenden. Da Sie keine Änderungen an der Tutorial-Datei speichern müssen, ist der beste Weg zum Beenden der Befehl :q!.

    a. Drücken Sie Esc, um sicherzustellen, dass Sie sich im Normalmodus befinden.
    b. Geben Sie :q! ein und drücken Sie Enter.

    :q!

Damit ist der praktische Teil dieses Labs abgeschlossen. Durch das Absolvieren dieser Schritte haben Sie die grundlegenden Fähigkeiten zum Erstellen, Bearbeiten, Speichern und Navigieren von Dateien mit dem Editor vi erlernt.

Einführung in den Editor nano

In diesem Schritt lernen Sie den Umgang mit nano, einem benutzerfreundlichen Texteditor, der ideal für Anfänger und schnelle Bearbeitungen ist. Im Gegensatz zu vi zeigt nano hilfreiche Tastenkombinationen am unteren Bildschirmrand an und besitzt keine verschiedenen Modi, was ihn für neue Benutzer intuitiver macht.

  1. Erstellen wir zunächst eine neue Datei mit nano. Geben Sie an Ihrer Shell-Eingabeaufforderung im Verzeichnis ~/project den folgenden Befehl ein:

    nano welcome.txt

    Der Editor nano öffnet sich mit einer leeren Datei. Beachten Sie das hilfreiche Menü am unteren Rand, das die verfügbaren Funktionen anzeigt.

  2. Anders als bei vi können Sie in nano sofort mit dem Tippen beginnen, ohne den Modus wechseln zu müssen. Kopieren Sie den folgenden Text und fügen Sie ihn ein:

    nano-Editor-Oberfläche mit Tastenkürzeln am unteren Rand
    Welcome to Linux Text Editing!
    
    This file was created using the nano editor.
    Nano is beginner-friendly and intuitive.
    
    Key advantages of nano:
    - No modes to switch between
    - Shortcuts displayed at bottom
    - Easy to learn and use
    - Perfect for quick edits
  3. Speichern wir nun die Datei. Verwenden Sie die Speicherfunktion in nano. Sie sehen eine Aufforderung zur Eingabe des Dateinamens. Der aktuelle Name welcome.txt wird bereits angezeigt. Drücken Sie Enter, um den Dateinamen zu bestätigen und die Datei zu speichern.

    Am unteren Rand erscheint eine Meldung, dass die Datei erfolgreich geschrieben wurde, zusammen mit der Anzahl der geschriebenen Zeilen.

  4. Um nano zu beenden, verwenden Sie die Exit-Funktion. Da Sie die Datei bereits gespeichert haben, wird nano sofort beendet und Sie kehren zur Shell-Eingabeaufforderung zurück.

Vergleich von nano und vi/vim: Wann welcher Editor sinnvoll ist

In diesem letzten Schritt lernen Sie die Hauptunterschiede zwischen nano und vi/vim kennen und verstehen, wann Sie welchen Editor einsetzen sollten. Wir erstellen eine Vergleichsdatei mit beiden Editoren, um die Unterschiede zu verdeutlichen.

  1. Verwenden wir zuerst nano, um eine Vergleichsdatei zu erstellen:

    nano editor_comparison.txt
  2. Geben Sie den folgenden Inhalt in nano ein:

    TEXT EDITOR COMPARISON: nano vs vi/vim
    
    NANO EDITOR:
    Pros:
    - Beginner-friendly interface
    - No modes to learn
    - Shortcuts displayed on screen
    - Immediate text input
    - Good for quick edits and simple tasks
    
    Cons:
    - Limited advanced features
    - Less efficient for complex editing
    - Not available on all systems
  3. Speichern Sie die Datei und beenden Sie nano.

  4. Öffnen wir nun dieselbe Datei mit vi, um weiteren Inhalt hinzuzufügen:

    vi editor_comparison.txt
  5. Navigieren Sie mit G (großes G) zum Ende der Datei, drücken Sie dann o, um eine neue Zeile zu öffnen und in den Einfügemodus zu wechseln. Fügen Sie den folgenden Inhalt hinzu:

    VI/VIM EDITOR:
    Pros:
    - Extremely powerful and feature-rich
    - Available on virtually all Unix/Linux systems
    - Highly efficient once mastered
    - Excellent for programming and complex editing
    - Extensive customization options
    
    Cons:
    - Steep learning curve
    - Modal interface can be confusing for beginners
    - Requires memorizing many commands
  6. Drücken Sie Esc, um zum Normalmodus zurückzukehren, und speichern und beenden Sie dann mit :wq.

  7. Schauen wir uns die fertige Vergleichsdatei an:

    cat editor_comparison.txt

    Dies zeigt den vollständigen Vergleich mit den Inhalten an, die mit beiden Editoren hinzugefügt wurden.

Wann welcher Editor zu verwenden ist:

  • Verwenden Sie nano, wenn:

    • Sie neu in der Textbearbeitung unter Linux sind.
    • Sie schnelle, einfache Änderungen vornehmen möchten.
    • Sie nur gelegentlich Konfigurationsdateien bearbeiten.
    • Sie eine unkomplizierte, intuitive Benutzeroberfläche bevorzugen.
  • Verwenden Sie vi/vim, wenn:

    • Sie umfangreiche Programmierarbeiten oder Textmanipulationen durchführen.
    • Sie auf Remote-Servern arbeiten (vi ist dort immer verfügbar).
    • Sie fortgeschrittene Funktionen wie Makros, Plugins oder komplexe Suchen/Ersetzen-Vorgänge benötigen.
    • Effizienz und Geschwindigkeit wichtig sind, sobald Sie die Befehle beherrschen.

Beide Editoren sind wertvolle Werkzeuge im Repertoire eines Linux-Nutzers. Wenn Sie beide beherrschen, sind Sie für unterschiedliche Situationen flexibel gerüstet.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie die zwei wichtigsten Texteditoren in Linux verwenden: vi/vim und nano.

Mit vi/vim haben Sie die grundlegenden Konzepte der modalen Bearbeitung gemeistert und gelernt, zwischen dem Normalmodus und dem Einfügemodus zu wechseln. Sie haben das Erstellen von Dateien, die Texteingabe, das Speichern mit :w und :wq, das Navigieren mit den Bewegungstasten (h, j, k, l), das Suchen mit /, das Bearbeiten mit Befehlen wie dw und das Beenden ohne Speichern mit :q! geübt. Zudem haben Sie den interaktiven vimtutor für weiterführendes Lernen entdeckt.

Mit nano haben Sie einen einsteigerfreundlicheren Ansatz zur Textbearbeitung kennengelernt. Sie haben gelernt, Dateien zu erstellen und zu bearbeiten, ohne sich um Modi kümmern zu müssen, haben die intuitive Benutzeroberfläche mit den am unteren Rand angezeigten Tastenkürzeln genutzt und grundlegende Operationen wie das Speichern und Beenden von Dateien durchgeführt.

Wichtige Erkenntnisse:

  • nano ist ideal für Anfänger und schnelle Bearbeitungen dank seiner intuitiven Oberfläche und sichtbaren Tastenkürzel.
  • vi/vim ist leistungsstärker und effizienter für komplexe Bearbeitungsaufgaben, erfordert jedoch eine höhere Lerninvestition.
  • Beide Editoren sind wertvolle Werkzeuge – nano für die Einfachheit und vim für Leistung und universelle Verfügbarkeit.
  • Das Verständnis darüber, wann welcher Editor einzusetzen ist, macht Sie in verschiedenen Linux-Szenarien effektiver.

Sie verfügen nun über die Grundlage, um den richtigen Texteditor für Ihre spezifischen Anforderungen auszuwählen und können Ihre Fähigkeiten mit beiden Werkzeugen weiter vertiefen.