Textbearbeitung im Terminal: Grundlagen zu nano und vim

Linux 4 Min. Lesezeit

Die meisten Server-Einstellungen befinden sich in Textkonfigurationsdateien, die über SSH im Terminal bearbeitet werden müssen. Hierfür haben sich zwei Texteditoren durchgesetzt: das für Anfänger empfohlene, einfache „nano“ und das auf fast jedem Linux-System vorhandene, auf den ersten Blick jedoch ungewohnte „vim“ (oder „vi“).

Bevor Sie Änderungen an einer Konfigurationsdatei vornehmen

Erstellen Sie eine Kopie des Originals, damit Sie es im Falle eines Fehlers wiederherstellen können:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

Für die Bearbeitung von Systemdateien sind Root-Rechte erforderlich; starten Sie den Editor daher bitte mit „sudo“.

nano

Installation

Auf den Cloud-Images von AlmaLinux 9 und 10 war nano im Test nicht vorhanden; auf Ubuntu 24.04 und Debian 12 hingegen schon (Version 7.2), wo es zudem als Standard-Editor dient. Falls der Befehl „nano“ nicht vorhanden ist:

# AlmaLinux, Rocky Linux
sudo dnf install nano

# Ubuntu, Debian
sudo apt install nano

Verwendung

sudo nano /etc/hosts

Der Inhalt der Datei wird angezeigt, und Sie können mithilfe der Pfeiltasten navigieren und sofort mit der Eingabe beginnen. Am unteren Bildschirmrand werden die gängigsten Befehle angezeigt; das Zeichen ^ steht für die Ctrl-Taste, das Zeichen M- für die Alt-Taste.

Taste Vorgang
Ctrl+O und anschließend Enter Speichern
Ctrl+X Abmelden (falls noch nicht gespeichert, wird gefragt: Y für Ja, N für Nein)
Ctrl+W Suche (nächstes Ergebnis: Alt+W)
Ctrl+\ Suche und Austausch
Ctrl+K Die aktuelle Zeile ausschneiden
Ctrl+U Die ausgelassene Zeile einfügen
Alt+U Widerruf
Ctrl+_ Sprung zu einer bestimmten Zeile (z. B. zu der in einer Fehlermeldung angegebenen Zeilennummer)
Alt+N Aktivieren und Deaktivieren von Seriennummern

Sie können Text von Ihrem eigenen Computer mithilfe der üblichen Einfügefunktion des Terminals einfügen (in Windows Terminal und PuTTY mit der rechten Maustaste, unter macOS mit „Cmd+V“, unter Linux mit „Ctrl+Shift+V“).

vim

Vim ist auf allen Servern verfügbar (zumindest unter dem Namen „vi“), und unter AlmaLinux sowie Rocky Linux öffnen mehrere Befehle (beispielsweise „crontab -e“ oder „visudo“) standardmäßig dieses Programm. Sollten Sie sich unerwartet in diesem Programm wiederfinden, ist es ratsam, diesen Abschnitt zu kennen.

Unter AlmaLinux 9 und 10 ist standardmäßig nur das Paket „vim-minimal“ installiert, das den Befehl „vi“ bereitstellt; einen Befehl namens „vim“ gibt es nicht („Befehl nicht gefunden“). Verwenden Sie den Befehl „vi“ (die folgenden Tasten funktionieren dort genauso) oder installieren Sie die Vollversion von Vim: „sudo dnf install vim-enhanced“. Unter Ubuntu und Debian ist „vim“ ebenfalls verfügbar.

Modi

Das wichtigste Merkmal von Vim ist, dass es über mehrere Betriebsmodi verfügt:

  • Normalmodus: Hier wird der Modus gestartet. Die Tasten dienen hier als Befehle und nicht zur Texteingabe.
  • Einfügemodus: Drücken Sie die Taste „i“, um in den Einfügemodus zu wechseln; anschließend können Sie Text eingeben. Unten erscheint „-- INSERT --“ (oder „-- BESZÚRÁS --“).
  • Befehlszeilenmodus: Im Normalmodus wird dieser Modus mit der Taste „:“ unten geöffnet. Hier können Sie die Befehle zum Speichern und Beenden eingeben.

Die Taste „Esc“ kehrt Sie stets in den Normalmodus zurück.

Bearbeiten, Speichern, Abmelden

  1. Öffnen Sie die Datei: sudo vim /etc/hosts (unter AlmaLinux ohne vim-enhanced: sudo vi /etc/hosts)
  2. Navigieren Sie mit den Pfeiltasten zu der Stelle, die Sie bearbeiten möchten.
  3. Drücken Sie die Taste „i“ und geben Sie den Text ein.
  4. Drücken Sie die Esc-Taste.
  5. Geben Sie Folgendes ein:wq und drücken Sie anschließend die Enter-Taste.
Befehl (im Normalmodus) Vorgang
:w Speichern
:q Abmelden (sofern keine ungespeicherten Änderungen vorliegen)
:wq oder ZZ Speichern und Abmelden
:q! Abmelden ohne Speichern, wobei die Änderungen verworfen werden
u Widerruf
Ctrl+r erneut (Widerruf des Widerrufs)
dd Die aktuelle Zeile löschen (ausblenden)
yy Die aktuelle Zeile kopieren
p Einfügen unter dem Cursor
/szoveg, dann Enter Suche (nächstes Ergebnis: n)
gg / G Zum Anfang / Ende der Datei springen
:42 Springen Sie zu Zeile 42
:set number Anzeige von Laufnummern

Einfügen in Vim

Sollte der in Vim kopierte Text beim Einfügen stufenweise verschoben werden, aktivieren Sie vor dem Einfügen den Einfügemodus: Im Normalmodus geben Sie „:set paste“ ein, drücken Sie anschließend „i“ und führen Sie den Einfügevorgang durch. Anschließend geben Sie „:set nopaste“ ein.

Einrichtung des Standard-Editors

Der Befehl „crontab -e“ sowie mehrere andere Befehle öffnen den im Umgebungsvariablen „EDITOR“ angegebenen Editor. Wenn Sie stets „nano“ verwenden möchten, fügen Sie folgenden Eintrag in Ihre eigene Datei „~/.bashrc“ ein:

echo 'export EDITOR=nano' >> ~/.bashrc
source ~/.bashrc

Unter Ubuntu und Debian können Sie die systemweite Standardeinstellung auch mit dem Befehl „sudo update-alternatives --config editor“ festlegen; im Test war auf beiden Systemen „nano“ eingestellt (/etc/alternatives/editor -> /bin/nano).

Nach der Änderung

Die meisten Dienste lesen die geänderte Konfiguration erst nach einem Neustart oder einem Neuladen ein (siehe: Verwaltung von Diensten mit dem Befehl „systemctl“). Überprüfen Sie zuvor, sofern der Dienst dies zulässt, die Richtigkeit der Einstellungen, zum Beispiel:

sudo sshd -t        # SSH szerver
sudo nginx -t       # Nginx
sudo apachectl -t   # Apache
Zurück: Linux-Artikel (62)