Linux · Tag 1 · Kapitel 10 von 12

Editoren: nano, vi/vim & emacs

Drei legendäre Texteditoren mit drei Philosophien. Wir lernen nano gründlich (das Werkzeug für jeden Admin-Alltag), schnuppern in vi/vim rein (das Werkzeug der Profis) und überleben das Lab 1.2 mit beiden.

📚 Kapitel 10 ⏱️ ca. 25 min Theorie + 60 min Lab 🧪 Lab 1.2
10.1

Drei Editoren, drei Welten

Überblick

In der Unix-Welt gibt es einen heiligen Krieg, der seit den 1980ern tobt: vi gegen emacs. Beide Lager sind überzeugt, dass ihre Wahl die einzig richtige ist. Heute kommt ein dritter, friedlicher Editor dazu: nano. Wir schauen alle drei kurz an.

EditorErschienenPhilosophieLernkurve
nano 1999 „Einfach, freundlich, alle Tastenkürzel unten sichtbar.“ 0 — sofort nutzbar
vi / vim vi 1976, vim 1991 „Editieren mit minimaler Hand-Bewegung. Modus-basiert.“ steil, aber lohnenswert
emacs 1976 „Editor + Mailclient + Browser + Terminal + Lebensphilosophie.“ kein Ende

Wann welchen?

  • nano — wenn du jetzt schnell eine Config-Datei ändern willst. Standardwahl im Admin-Alltag.
  • vim — wenn du Linux ernsthaft betreibst. Auf jedem Server vorinstalliert. Ohne Maus extrem schnell. Pflicht-Skill für Senior-Admins.
  • emacs — Lifestyle-Entscheidung. Großartig, wenn man bereit ist, Wochen zu investieren. Selten zwingend nötig.
🎓
Trainer-Hinweis

Heute lernen wir nano gründlich und vi/vim grundlegend. Ziel: nano blind beherrschen, vi/vim genug, um nicht panisch zu werden, wenn du auf einem System landest, wo nano fehlt.

10.2

nano — der freundliche Editor

Pflicht

nano war ursprünglich ein Klon des pico-Editors (Teil des Mail-Clients Pine). Heute ist nano der „Default für Einsteiger“ auf den meisten Distros — bei Debian/Ubuntu bereits vorinstalliert, bei Rocky Minimal muss man ihn nachholen.

Installieren (falls nicht da)

bash
sudo dnf install nano -y

Starten und Aussehen

bash
# Neue Datei anlegen oder existierende öffnen
nano notizen.txt

# Mit Sprung zu Zeile 42
nano +42 datei.txt

# Read-only öffnen
nano -v /etc/passwd

Du landest sofort im Edit-Modus — du kannst tippen wie in einem normalen Editor. Am unteren Rand siehst du immer die wichtigsten Tastenkürzel:

┌─ Dateiname und Status ─────────────────────────────────┐ │ GNU nano 5.6.1 notizen.txt │ │ │ │ Hier tippst du. │ │ _ │ │ │ │ │ ├────────────────────────────────────────────────────────┤ │ ^G Help ^O Write Out ^W Where Is ^K Cut Text │ │ ^X Exit ^J Justify ^R Read File ^U Paste │ └────────────────────────────────────────────────────────┘ ^ = Strg-Taste M = Alt-Taste (Meta)
📌
Das schöne an nano

Die wichtigen Tastenkürzel stehen immer unten. Du musst nichts auswendig lernen. Wer einmal die Konvention ^ = Strg verstanden hat, kommt sofort klar.

Wichtigste Tastenkürzel

TastenkürzelFunktion
Strg + OSpeichern (Output / WriteOut) — dann Dateiname mit Enter bestätigen
Strg + XBeenden (mit Nachfrage, ob speichern)
Strg + WSuchen (Where Is)
Strg + \Suchen und Ersetzen
Strg + KAktuelle Zeile ausschneiden (in Buffer)
Strg + UBuffer einfügen (Uncut)
Strg + GHilfe-Seite öffnen
Strg + CAktuelle Cursor-Position anzeigen
Strg + _Zu bestimmter Zeile/Spalte springen
Alt + URückgängig (Undo) — nicht überall verfügbar
Alt + EWiederherstellen (Redo)
Alt + AMarken/Block-Modus starten

Mini-Demo zum Mitmachen

bash
nano hallo.txt

# Tipp rein:
#   Hallo Linux-Welt!
#   Heute lerne ich nano.
#
# Strg+O → Enter (speichern)
# Strg+X (beenden)

cat hallo.txt
10.3

vi / vim — der Profi-Editor

Survival

vi (gesprochen „wie-aih“ oder „wi“) wurde 1976 von Bill Joy für BSD geschrieben. vim (vi improved) ist die modernere Version mit Syntax-Highlighting, Undo, Plugins. Auf Rocky steht vi meist als Symlink auf vim.

Das Besondere an vim: er hat Modi. Eine Taste macht je nach Modus völlig unterschiedliche Dinge. Wer das nicht weiß, ist sofort verloren.

Die drei wichtigen Modi

┌─────────────────────┐ │ NORMAL-MODUS │ ← Start-Modus, Tasten = Befehle │ „Befehle geben“ │ └──────────┬──────────┘ ↑ │ ↑ ESC │ │ │ ESC │ │ │ ┌─────────┴──┐ │ ┌──┴────────────────┐ │ INSERT │ │ │ VISUAL-MODUS │ │ i, a, o │ │ │ v, V, Strg+v │ │ „Tippen“ │ │ │ „Auswählen“ │ └────────────┘ │ └───────────────────┘ │ ┌──────┴──────────┐ │ COMMAND-MODUS │ : ↑ ↓ z.B. :w :q │ „: am Anfang“ │ └─────────────────┘

Modus-Wechsel

Aus / NachTasteWas passiert?
Normal → InsertiInsert vor dem Cursor
Normal → InsertaAppend nach dem Cursor
Normal → Insertoneue Zeile darunter + Insert
Normal → InsertOneue Zeile darüber + Insert
Insert → NormalEscTippen beenden, zurück zu Befehlen
Normal → VisualvAuswahl per Zeichen
Normal → VisualVAuswahl per Zeile
Normal → Command:Befehlszeile öffnen

Bewegen im Normal-Modus

Pfeiltasten funktionieren — aber Profis nutzen die Buchstaben h j k l. Erklärung kommt gleich.

hlinks
jrunter
khoch
lrechts
wein Wort vorwärts
bein Wort rückwärts
0 (Null)Zeilenanfang
$Zeilenende
ggAnfang der Datei
GEnde der Datei
42G oder :42zu Zeile 42
/textvorwärts nach text suchen
n / Nnächster / vorheriger Treffer

Speichern und Beenden

Im Command-Modus (also : drücken):

:wDatei speichern (write)
:qbeenden (quit) — nur wenn keine Änderungen
:wqspeichern und beenden
:xwie :wq, speichert aber nur bei Änderungen
:q!beenden OHNE Speichern — Änderungen verwerfen
:w neuernameunter anderem Namen speichern

Bearbeiten im Normal-Modus

xZeichen unter Cursor löschen
ddaktuelle Zeile löschen (delete)
yyaktuelle Zeile kopieren (yank)
peinfügen (put)
uUndo
Strg + rRedo
rxZeichen unter Cursor durch x ersetzen
RReplace-Modus (überschreibt beim Tippen)
⌨️
Wussten Sie schon? — Warum hjkl?

Bill Joy entwickelte vi 1976 auf einem ADM-3A Terminal. Diese Tastatur hatte keine eigenen Pfeiltasten — stattdessen waren die Pfeile aufgedruckt auf den Tasten h, j, k, l.

Heute ein Anachronismus, aber die Erinnerung bleibt: j hat im englischen Layout einen kleinen Haken nach unten — passend, weil j „runter“ bedeutet. Profis nutzen hjkl, weil die Finger nie die Home-Row verlassen müssen — das macht vim mit Übung schneller als jeden anderen Editor.

Auch interessant: Auf dem ADM-3A war zusätzlich das ~ auf der gleichen Taste wie das Home-Symbol — deshalb steht ~ in Unix bis heute für das Home-Verzeichnis.

Erste vim-Session — minimaler Überlebenstest

bash
# vim öffnen
vim test.txt

# Du bist im NORMAL-Modus
# 1. Taste "i" drücken → INSERT-Modus
# 2. Tippe ein paar Zeilen
# 3. ESC → zurück zu NORMAL
# 4. ":wq" tippen → speichern und beenden

cat test.txt
😱
Hilfe! vim hängt!

Das berühmteste Anfänger-Erlebnis: du landest versehentlich in vim und kommst nicht mehr raus. Drei Schritte:

  1. Esc drücken — zurück in den Normal-Modus.
  2. :q! tippen — beenden ohne Speichern.
  3. Enter. Fertig.

Diese drei Schritte sind die wichtigste vim-Lektion: Esc, :q!, Enter. Lerne sie auswendig.

vimtutor — das eingebaute Tutorial

vim bringt seinen eigenen Lehrgang mit. Ungefähr 30 Minuten und du kannst deutlich mehr als die meisten Linux-User:

bash
# Auf Rocky vorinstalliert, sonst:
sudo dnf install vim-enhanced -y

vimtutor
10.4

emacs — der dritte im Bunde (kurz angerissen)

Bonus

emacs wurde 1976 von Richard Stallman (ja, dem aus Kapitel 02) entwickelt. Er ist nicht nur ein Editor — emacs ist eine Lisp-basierte Plattform, in der man E-Mail liest, Code kompiliert, Kalender führt, IRC chattet und programmiert.

Die Tastenkürzel sind „Strg-irgendwas“-lastig:

Strg + x dann Strg + sSpeichern
Strg + x dann Strg + cBeenden
Strg + x dann Strg + fDatei öffnen
Strg + gAktion abbrechen
🤓
Lerne emacs, wenn …

… du sowieso programmieren willst und eine voll-anpassbare Umgebung schätzt. Wer aber „nur“ Linux administrieren möchte, kommt mit nano + vim ein ganzes Leben aus. emacs ist eine Reise, kein Wochenend-Lernprojekt.

🧪 Lab 1.2 Konfigurationsdatei bearbeiten 60 min
📧 E-Mail vom Senior-Admin:
„Du sollst heute eine kleine Webserver-Konfiguration für HanovaTech anlegen und pflegen. Dabei wirst du nano produktiv nutzen und einmal kurz vim ausprobieren. Wenn du fertig bist: zeig mir die fertige Struktur.“
Teil A — Struktur und Dateien anlegen (15 min)
  1. Wechsle in dein Home und lege die folgende Struktur in einem mkdir -p-Aufruf an:
    ~/hanovatech/ ├── configs/ ├── logs/ └── docs/
  2. In configs/ nano öffnen und die Datei webserver.conf mit folgendem Inhalt anlegen:
    conf
    # HanovaTech Webserver Konfiguration
    # Stand: 2026-05-21
    # Verantwortlich: admin
    
    Hostname: web01.hanovatech.local
    Port: 80
    DocRoot: /var/www/hanovatech
    LogLevel: warn
  3. Mit Strg+O speichern, Strg+X beenden. Inhalt mit cat prüfen.
bash
# 1) Struktur
cd ~
mkdir -p hanovatech/{configs,logs,docs}
ls -R hanovatech/

# 2) Datei mit nano anlegen
cd hanovatech/configs/
nano webserver.conf
# Inhalt einfügen — Strg+O Enter Strg+X

# 3) Inhalt prüfen
cat webserver.conf
Teil B — Datei mit nano bearbeiten (15 min)
  1. Öffne webserver.conf wieder mit nano.
  2. Ändere den Port von 80 auf 8080.
  3. Suche mit Strg+W nach LogLevel und ändere den Wert auf info.
  4. Füge am Ende der Datei eine neue Zeile hinzu: MaxClients: 200.
  5. Speichern und beenden. Inhalt mit cat prüfen.

nano ist intuitiv — keine spezielle Befehlsfolge, du editierst wie in einem normalen Editor. Wichtig:

  • Strg+W → „LogLevel“ tippen → Enter → springt zur Stelle
  • Zur letzten Zeile: Strg+End oder einfach mit Pfeil-runter
  • Strg+O → Enter (speichern) → Strg+X (beenden)

cat webserver.conf bestätigt die Änderungen.

Teil C — Mit vi/vim spielen (15 min)
  1. In ~/hanovatech/docs/ öffne mit vim eine neue Datei README.md.
  2. Wechsle mit i in den Insert-Modus und schreibe folgenden Text:
    markdown
    # HanovaTech Webserver
    
    Dieses Repository enthält die Konfiguration unseres
    HanovaTech-Webservers.
    
    ## Struktur
    - configs/    Konfigurationsdateien
    - logs/       Logfiles
    - docs/       Dokumentation
  3. Drücke Esc, dann tippe :wq + Enter — Datei wird gespeichert und vim beendet.
  4. Öffne die Datei nochmal mit vim. Springe mit gg an den Anfang, mit G ans Ende.
  5. Lösche mit dd eine Zeile und mache es mit u rückgängig.
  6. Beende vim mit :q (ohne Änderungen) oder :q! (mit Verwerfen).
bash
# 9) vim öffnen
cd ~/hanovatech/docs/
vim README.md

# 10) i  → INSERT, Text tippen
# 11) Esc → :wq → Enter

# 12) gg  → an den Anfang
#     G   → ans Ende

# 13) dd  → Zeile löschen
#     u   → undo

# 14) :q   → beenden (wenn nichts geändert)
#     :q!  → beenden mit Verwerfen
Teil D — Suchen, Ersetzen, Multi-Edit (15 min)
  1. Öffne webserver.conf nochmal mit nano.
  2. Nutze Strg+\ (Suchen und Ersetzen): ersetze warn durch debug. Antworte auf die Nachfragen sinnvoll.
  3. Speichere und beende.
  4. Kopiere webserver.conf nach webserver.conf.bak (Backup).
  5. Lege mit nano in docs/ eine Datei CHANGELOG.md mit einem Eintrag an: "2026-05-21 — Initial Setup durch admin".
bash
# 15-17) nano + Replace
cd ~/hanovatech/configs/
nano webserver.conf
# Strg+\  → "warn" → Enter → "debug" → Enter
# Bei Nachfrage "A" für "All"
# Strg+O Enter Strg+X

# 18) Backup
cp webserver.conf webserver.conf.bak

# 19) CHANGELOG
nano ~/hanovatech/docs/CHANGELOG.md
# Inhalt: 2026-05-21 - Initial Setup durch admin
# Strg+O Enter Strg+X
🌟 Bonus für schnelle Teilnehmer
  1. Öffne webserver.conf nun mit vim (statt nano). Ändere mit dem vim-Befehl :%s/8080/8443/g alle Vorkommen von 8080 auf 8443. Speichern mit :wq.
  2. Erkläre einem Kollegen in einem Satz den Unterschied zwischen :wq und :q!.
  3. Recherchiere und probiere aus: was macht :set number in vim?
vim
# 20) Search&Replace in vim
vim webserver.conf
:%s/8080/8443/g    " globally ersetzen
:wq                " speichern + beenden

# 21) :wq speichert UND beendet.
#     :q! verwirft Änderungen UND beendet.

# 22) :set number     " zeigt Zeilennummern am linken Rand
#     :set nonumber   " schaltet sie wieder aus
🎉
Lab 1.2 geschafft?

Wenn du Teil A–D durch hast: du beherrschst nano produktiv und kannst vim überleben. Das reicht für 90 % aller Admin-Aufgaben. Wer den Bonus mitmacht, hat den vi-Drachen besiegt.

10.5

Typische Anfänger-Fehler

Vorsicht
Fehler 1 — vim ohne Esc verlassen wollen

Du tippst :q oder :wq, aber die Zeichen erscheinen im Text statt am unteren Rand. Du bist noch im Insert-Modus. Lösung: Esc drücken, dann nochmal versuchen.

Fehler 2 — falscher Modus in vim

vim verhält sich „komisch“, Tasten machen unerwartete Dinge. Faustregel: bei jedem Verwirrungs-Moment einmal Esc drücken. Damit bist du sicher im Normal-Modus.

Fehler 3 — In nano ^ als „caret“ tippen

nano-Hilfe sagt „^O Speichern“. Manche tippen tatsächlich ein ^-Zeichen plus O. Falsch! ^ steht für die Strg-Taste. ^O heißt: Strg + O.

Fehler 4 — Vergessenes Speichern

nano fragt zwar beim Beenden („Save modified buffer?“), aber wer hektisch mit „N“ antwortet, verliert seine Arbeit. Lösung: angewöhnen, vor dem Beenden Strg+O zu drücken — dann ist gespeichert, und Strg+X läuft ohne Frage durch.

Fehler 5 — Datei mit sudo öffnen vergessen

Du hast eine wichtige /etc/...-Datei in nano bearbeitet und bei Strg+O kommt „Error writing: Permission denied“. Lösung: Datei mit sudo nano /etc/... öffnen. Workaround in vim mit :w !sudo tee %.

🎯

Kontrollfragen zum Kapitel

Selbst-Check
  1. Welche drei großen Editoren gibt es, und welcher ist Standard für Einsteiger?
  2. Welche Tasten speichern und beenden in nano?
  3. Wie heißt das Zeichen ^ in nano-Anleitungen?
  4. Was sind die drei wichtigen Modi von vim?
  5. Wie kommst du in vim aus dem Insert-Modus zurück in den Normal-Modus?
  6. Welche drei Schritte sichern dich, falls du in vim gefangen bist?
  7. Wofür stehen :wq und :q!?
  8. Warum nutzen Profis h j k l statt der Pfeiltasten?
  1. nano (Einsteiger), vi/vim (Profis), emacs (Power-User). nano ist Standard für Einsteiger.
  2. Strg+O speichert, Strg+X beendet.
  3. ^ ist die Konvention für die Strg-Taste. ^O = Strg + O.
  4. Normal-Modus (Tasten = Befehle), Insert-Modus (Tippen wie normaler Editor), Visual-Modus (Auswahl). Plus Command-Modus (mit :).
  5. Mit der Esc-Taste.
  6. Esc, dann :q! tippen, dann Enter.
  7. :wq = speichern und beenden. :q! = beenden ohne Speichern (Änderungen verwerfen).
  8. Weil die Finger die Home-Row nicht verlassen müssen — das macht das Editieren mit Übung deutlich schneller als mit Pfeiltasten. Historisch stammt es von einem Terminal ohne Pfeiltasten (ADM-3A).