# nano — Der einfache Texteditor fürs Terminal

> Praxis-Guide zu nano: Dateien im Terminal schnell und ohne Einarbeitung bearbeiten – der einsteigerfreundliche Editor auf jedem Linux.

Source: https://www.jpkc.com/db/cheatsheets/files-text/nano/

<!-- PROSE:intro -->
nano ist der einfache, einsteigerfreundliche Texteditor fürs Terminal: Er ist auf praktisch jedem Linux-System vorhanden und bewusst so gebaut, dass du ohne steile Lernkurve sofort loslegen kannst. Die wichtigsten Befehle siehst du jederzeit in der Tastenleiste am unteren Rand, wobei `^` für die Strg-Taste und `M-` für die Alt- bzw. Meta-Taste steht. Anders als bei vim gibt es keine Modi – du tippst direkt los und speicherst mit `Ctrl+O`, beendest mit `Ctrl+X`. Dieser Guide zeigt dir die Tastenkürzel und `.nanorc`-Einstellungen, mit denen du in nano schnell und komfortabel arbeitest.
<!-- PROSE:intro:end -->

## Dateien öffnen

`nano <file>` — Öffnet eine Datei zum Bearbeiten (legt sie an, falls sie nicht existiert).

```bash
nano config.yaml
```

`nano +<line> <file>` — Öffnet eine Datei und springt zu einer bestimmten Zeilennummer.

```bash
nano +42 script.sh
```

`nano +<line>,<col> <file>` — Öffnet eine Datei und springt zu einer bestimmten Zeile und Spalte.

```bash
nano +10,5 config.php
```

`nano -B <file>` — Legt vor dem Bearbeiten eine Sicherungskopie der Datei an (~filename~).

```bash
nano -B /etc/nginx/nginx.conf
```

`nano -R <file>` — Öffnet eine Datei im schreibgeschützten (eingeschränkten) Modus.

```bash
nano -R /etc/passwd
```

`nano -l <file>` — Zeigt Zeilennummern am linken Rand an.

```bash
nano -l script.py
```

`nano -m <file>` — Aktiviert die Mausunterstützung zum Klicken und Scrollen.

```bash
nano -m document.txt
```

`nano -i <file>` — Aktiviert die automatische Einrückung.

```bash
nano -i main.go
```

`nano -Y <syntax> <file>` — Erzwingt eine bestimmte Sprache für die Syntaxhervorhebung.

```bash
nano -Y php config.inc
```

## Speichern & Beenden

`Ctrl+O` — Schreibt (speichert) die aktuelle Datei. Mit Enter den Dateinamen bestätigen.

```bash
Ctrl+O → Enter
```

`Ctrl+X` — Beendet nano. Fragt nach dem Speichern, falls es ungespeicherte Änderungen gibt.

```bash
Ctrl+X → Y → Enter
```

`Ctrl+X → N` — Beendet, ohne die Änderungen zu speichern.

```bash
Ctrl+X → N
```

`Ctrl+O → new_filename → Enter` — Speichern unter: Gib beim Schreiben einen neuen Dateinamen ein.

```bash
Ctrl+O → backup.conf → Enter
```

## Navigation

`Ctrl+A / Ctrl+E` — Springt an den Anfang / das Ende der aktuellen Zeile.

```bash
Ctrl+A
```

`Ctrl+Y / Ctrl+V` — Eine Seite nach oben / nach unten.

```bash
Ctrl+V
```

`Alt+\ / Alt+/` — Springt zur ersten / letzten Zeile der Datei.

```bash
Alt+\
```

`Ctrl+_ (Ctrl+Shift+-)` — Springt zu einer bestimmten Zeilennummer (und optional Spalte).

```bash
Ctrl+_ → 42 → Enter
```

`Alt+G` — Springt zu einer Zeilennummer (alternatives Kürzel).

```bash
Alt+G → 100 → Enter
```

`Ctrl+Space / Alt+Space` — Bewegt den Cursor ein Wort vorwärts / rückwärts.

```bash
Ctrl+Space
```

`Ctrl+C` — Zeigt die aktuelle Cursorposition an (Zeile, Spalte, Zeichen).

```bash
Ctrl+C
```

## Bearbeiten

`Ctrl+K` — Schneidet die aktuelle Zeile (oder den markierten Text) in den Zwischenspeicher aus.

```bash
Ctrl+K
```

`Ctrl+U` — Fügt den Zwischenspeicher an der Cursorposition ein.

```bash
Ctrl+U
```

`Alt+6` — Kopiert die aktuelle Zeile (oder den markierten Text), ohne sie auszuschneiden.

```bash
Alt+6
```

`Ctrl+K (multiple)` — Schneidet aufeinanderfolgende Zeilen aus – sie sammeln sich im Zwischenspeicher.

```bash
Ctrl+K Ctrl+K Ctrl+K (schneidet 3 Zeilen aus)
```

`Alt+T` — Schneidet vom Cursor bis zum Ende der Datei aus.

```bash
Alt+T
```

`Ctrl+J` — Richtet den aktuellen Absatz neu aus (Umbruch).

```bash
Ctrl+J
```

`Alt+U` — Macht die letzte Aktion rückgängig.

```bash
Alt+U
```

`Alt+E` — Stellt die letzte rückgängig gemachte Aktion wieder her.

```bash
Alt+E
```

`Ctrl+\` — Suchen und ersetzen.

```bash
Ctrl+\ → alt → Enter → neu → Enter → A (alle ersetzen)
```

`Alt+3` — Kommentiert die aktuelle Zeile ein/aus.

```bash
Alt+3
```

`Tab / Shift+Tab` — Rückt die aktuelle Zeile oder die markierten Zeilen ein / aus.

```bash
Zeilen markieren → Tab
```

## Suchen

`Ctrl+W` — Sucht vorwärts nach einer Zeichenkette.

```bash
Ctrl+W → Suchbegriff → Enter
```

`Alt+W` — Wiederholt die letzte Suche (nächsten Treffer finden).

```bash
Alt+W
```

`Ctrl+W → Alt+R` — Wechselt in den Regex-Suchmodus.

```bash
Ctrl+W → Alt+R → [0-9]+ → Enter
```

`Ctrl+W → Alt+C` — Schaltet die Beachtung der Groß-/Kleinschreibung in der Suche um.

```bash
Ctrl+W → Alt+C
```

`Ctrl+W → Alt+B` — Sucht rückwärts.

```bash
Ctrl+W → Alt+B → Begriff → Enter
```

`Ctrl+\` — Suchen und ersetzen. Optionen: Y (ja), N (nein), A (alle).

```bash
Ctrl+\ → http → Enter → https → Enter → A
```

## Auswahl (Markierung)

`Alt+A` — Schaltet die Markierung um (startet/stoppt die Textauswahl). Bewege den Cursor zum Auswählen.

```bash
Alt+A → bewegen → Ctrl+K (Auswahl ausschneiden)
```

`Ctrl+6` — Setzt die Markierung an der Cursorposition (Alternative zu Alt+A).

```bash
Ctrl+6
```

`Alt+A → Ctrl+K` — Markiert Text und schneidet ihn aus.

```bash
Alt+A → markieren → Ctrl+K
```

`Alt+A → Alt+6` — Markiert Text und kopiert ihn (ohne auszuschneiden).

```bash
Alt+A → markieren → Alt+6
```

## Dateioperationen

`Ctrl+R` — Fügt den Inhalt einer anderen Datei an der Cursorposition ein.

```bash
Ctrl+R → header.html → Enter
```

`Ctrl+R → Ctrl+T` — Öffnet einen Dateibrowser, um eine einzufügende Datei auszuwählen.

```bash
Ctrl+R → Ctrl+T
```

`Ctrl+T` — Führt einen Befehl aus und fügt dessen Ausgabe ein (oder ruft die Rechtschreibprüfung auf).

```bash
Ctrl+T → date → Enter
```

`Alt+D` — Zeigt die Anzahl von Wörtern, Zeilen und Zeichen der Datei (oder Auswahl) an.

```bash
Alt+D
```

## Konfiguration (~/.nanorc)

`set linenumbers` — Zeigt immer Zeilennummern an.

```bash
set linenumbers
```

`set autoindent` — Rückt neue Zeilen automatisch wie die vorherige Zeile ein.

```bash
set autoindent
```

`set tabsize <n>` — Legt die Anzeigebreite eines Tabulatorzeichens fest.

```bash
set tabsize 4
```

`set tabstospaces` — Wandelt Tabs beim Tippen in Leerzeichen um.

```bash
set tabstospaces
```

`set mouse` — Aktiviert die Mausunterstützung.

```bash
set mouse
```

`set softwrap` — Aktiviert den weichen Zeilenumbruch (nur visuell, keine Zeilenumbrüche eingefügt).

```bash
set softwrap
```

`set backup` — Legt beim Speichern immer Sicherungsdateien an.

```bash
set backup
set backupdir ~/.nano-backups
```

`include /usr/share/nano/*.nanorc` — Bindet Syntaxhervorhebungsdateien für alle unterstützten Sprachen ein.

```bash
include /usr/share/nano/*.nanorc
```

<!-- PROSE:outro -->
## Fazit

nano ist die richtige Wahl, wenn du schnell eine Konfigurationsdatei anpassen oder einen kurzen Text schreiben willst, ohne dich erst in einen Editor einarbeiten zu müssen: keine Modi, die wichtigsten Kürzel immer sichtbar in der Fußleiste und auf nahezu jedem System sofort verfügbar. Merke dir vor allem `Ctrl+O` (speichern) und `Ctrl+X` (beenden) – beim Beenden fragt nano von selbst nach ungespeicherten Änderungen, sodass du nichts versehentlich verlierst. Wer mehr Komfort möchte, aktiviert in der `~/.nanorc` Zeilennummern, Auto-Einrückung und Syntaxhervorhebung. Für aufwendigere Bearbeitungen oder das schnelle Editieren großer Dateien lohnt sich später der Umstieg auf vim.

## Weiterführende Links

- [ubuntuusers-Wiki: nano](https://wiki.ubuntuusers.de/nano/) – deutschsprachige Einführung in Bedienung und Konfiguration
- [GNU nano – offizielle Seite](https://www.nano-editor.org/) – Projektseite mit Handbuch und allen Optionen (englisch)
<!-- PROSE:outro:end -->

## Verwandte Kommandos

- [vim](https://www.jpkc.com/db/cheatsheets/files-text/vim/) – mächtiger modaler Editor für fortgeschrittene Bearbeitung
- [less](https://www.jpkc.com/db/cheatsheets/files-text/less/) – Pager zum reinen Anzeigen von Dateien ohne Bearbeiten
- [mc](https://www.jpkc.com/db/cheatsheets/files-text/mc/) – Dateimanager fürs Terminal mit eingebautem Editor mcedit

