Nano¶
Siehe auch
GNU nano (Nano’s ANOther editor) ist ein einfacher, schneller und bedienfreundlicher Konsolen-Editor. Gegenüber Vim ist die Lernkurve flach; Tastaturkürzel werden am unteren Bildschirmrand eingeblendet. Für den Administrator-Alltag (Konfigurationsdateien ändern, Log-Einträge notieren, kleinere Skript-Edits) ist Nano eine solide Wahl - für umfangreichere Edit-Sitzungen und wiederkehrende Bearbeitungen bleibt Vim die bessere Option.
Historisch entstand Nano als freie Alternative zum Pine-Editor pico; die heutige Code-Basis ist ein Neuschrieb unter GPL-3.0 und nicht mehr mit dem ursprünglichen tip-/pico-Code verwandt.
Begriffe¶
- Cutbuffer
Puffer für ausgeschnittene bzw. kopierte Inhalte. Mehrfaches
Ctrl+Kohne Bewegung dazwischen hängt an den bestehenden Cutbuffer an; jede Positionsänderung leert ihn beim nächsten Schnitt. Fungiert damit als kleiner Zwischenspeicher.- nanorc
Konfigurationssprache von Nano. Systemweit unter
/etc/nanorc, pro Benutzer unter~/.nanorcbzw.~/.config/nano/nanorc. Syntaxset <option> [wert]sowie Syntax-Highlighting viasyntax/color. Reference:man 5 nanorc.- Rebinding
Zuordnung eigener Tasten zu Funktionen, z.B.
bind ^Q exit mainfürCtrl+Qals Beenden. Nützlich, wenn man sich von anderen Editoren an bestimmte Shortcuts gewöhnt hat.- Softwrap
Visueller Zeilenumbruch ohne neue Zeile in der Datei. Unterscheidet Nano vom Hard-Wrap, bei dem ein tatsächliches Newline eingefügt wird.
Nano in Aktion¶
Installation¶
Auf RHEL 8+ ist Nano in den Standard-Repos, auf einer „Minimal“-Installation aber nicht standardmässig dabei:
dnf --assumeyes install nano
Deinstallation:
dnf --assumeyes remove nano
Verwendung¶
Die wichtigsten Tastaturkürzel:
- Ctrl + x oder F2
Nano beenden. Das Speichern geänderter Dateien mit y und Enter bestätigen.
- Ctrl + o oder F3
Datei speichern.
- Ctrl + w oder F6
Suche nach einer Zeichenfolge. Alt + w springt zum nächsten Treffer.
- Ctrl + c oder F11
Aktuelle Position anzeigen (Zeilennummer, Spaltennummer).
- Ctrl + _
Sprung zu einer bestimmten Zeile.
- Ctrl + t
Sprung zu Zeile und Spalte.
- Ctrl + w, dann Ctrl + y
Sprung zur ersten Zeile der Datei.
- Ctrl + w, dann Ctrl + v
Sprung zur letzten Zeile der Datei.
- Ctrl + k oder F9
Ausschneiden. Ohne Markierung wird die aktuelle Zeile ausgeschnitten (Cutbuffer).
- Ctrl + u
Einfügen / Undo.
- Alt + t
Löscht alles von der Cursorposition bis zum Dateiende.
- Alt + p
Whitespaces ein- / ausblenden.
- Alt + y
Syntax-Highlighting ein- / ausschalten.
Block-Operationen und Auswahl¶
Nano hat keinen Multi-Cursor-Modus wie moderne GUI-Editoren (VS Code, Sublime Text), aber einige wenig bekannte Block-Funktionen, die für Admin-Alltag reichen.
- Alt + a oder Ctrl + 6
Markierung starten (Mark Set). Ab hier wird mit den Pfeiltasten eine Selektion aufgezogen. Gleiche Tastenkombination beendet die Markierung.
- Alt + }
Markierten Block um eine Ebene einrücken. Ohne Markierung wird nur die aktuelle Zeile eingerückt. Die Tab-Breite richtet sich nach
tabsizein der nanorc.- Alt + {
Markierten Block um eine Ebene ausrücken.
- Alt + 6
Markierten Block kopieren (Copy). Ohne Markierung wird die aktuelle Zeile kopiert.
- Ctrl + k
Markierten Block ausschneiden. Ohne Markierung wird die aktuelle Zeile ausgeschnitten.
- Ctrl + u
Einfügen (Uncut) aus dem Cutbuffer - fungiert bei Bedarf auch als mehrfaches „Einfügen“, da der Cutbuffer seinen Inhalt behält.
- Ctrl + \ oder Alt + r
Suchen und Ersetzen. Nano fragt nacheinander nach Such- und Ersatz-Text; pro Treffer wählt y ersetzen, n überspringen, a alle übrigen ersetzen. So lassen sich systemweite Änderungen (der klassische „Multi-Cursor“-Anwendungsfall) abdecken.
- Alt + u
Undo (seit nano 2.4).
- Alt + e
Redo.
- Alt + < / Alt + >
Zwischen mehreren geöffneten Buffern wechseln (
nano file1 file2 file3 …öffnet alle in Buffern;Ctrl+ r, dann Alt + f liest eine weitere Datei in einen neuen Buffer).- Alt + n
Zeilennummern am linken Rand ein- / ausschalten. Dauerhaft per
set linenumbersin der nanorc.- Alt + $
Soft-Wrap (Zeilenumbruch) ein- / ausschalten.
- Alt + 3
Aktuelle Zeile oder markierten Block kommentieren / auskommentieren. Nano erkennt den Kommentarpräfix aus der Syntax-Datei (z.B.
#bei Shell,//bei C). Seit Nano 2.9.- Alt + j
Ganzen Absatz „justifieren“ (umformattieren auf
fillin der nanorc, Default 72 Zeichen). Die umgekehrte Operation (unjustify) ist direkt nach Alt + j mit Ctrl + u erreichbar.- Alt + ]
Zum korrespondierenden Klammerpaar springen (Bracket-Matching).
Start-Parameter¶
# open the file file.txt
nano file.txt
# open file.txt and jump to line 123
nano +123 file.txt
# open file.txt and jump to line 123, column 35
nano +123,35 file.txt
# scroll line by line instead of page by page
nano --smooth
# indent new lines like the previous one
nano --autoindent
# keep a backup copy (filename prefixed with ~) before saving
nano --backup
# set tab width to 4 spaces
nano --tabsize=4
# read-only mode
nano --view
Konfiguration¶
Start-Parameter lassen sich persistent in /etc/nanorc (systemweit) oder ~/.nanorc
(pro Benutzer) ablegen. Nano muss dafür mit --enable-nanorc kompiliert sein - bei den
RHEL- und Debian-Paketen ist das der Fall. Die aktuelle Build-Konfiguration zeigt
nano --version.
set autoindent
set backup
set const
set smooth
set tabsize 4
Syntax-Highlighting für einzelne Dateitypen liegt unter /usr/share/nano/*.nanorc. In der
eigenen ~/.nanorc einzeln einbinden:
include "/usr/share/nano/sh.nanorc"
include "/usr/share/nano/yaml.nanorc"
Oder pauschal alle mitgelieferten Syntax-Dateien aktivieren:
include "/usr/share/nano/*.nanorc"
Eigene Tastenbelegung¶
Via bind in der nanorc lassen sich Nano-Funktionen auf eigene Tasten legen. Nützlich, wenn man vom Editor anderer Plattformen (z.B. Windows Ctrl + s für Save) kommt:
# Ctrl+S speichert (statt Ctrl+O)
bind ^S savefile main
# Ctrl+Q beendet
bind ^Q exit main
# Ctrl+F sucht (statt Ctrl+W)
bind ^F whereis all
Funktionsliste und Menü-Namen: man nanorc, Abschnitt „Rebinding Keys“.
Linuxfabrik-Baseline¶
Ein pragmatischer Minimalsatz an Optionen, der sich im Admin-Alltag bewährt hat:
# convenience
set autoindent
set constantshow
set linenumbers
set mouse
set smarthome
set softwrap
set tabsize 4
set tabstospaces
# syntax highlighting for all shipped files
include "/usr/share/nano/*.nanorc"
Bedeutung (Auszug aus man 5 nanorc):
autoindent: übernimmt die Einrückung der vorherigen Zeile.constantshow: zeigt Zeile/Spalte dauerhaft in der Status-Zeile.linenumbers: Zeilennummern links.mouse: Klicken setzt den Cursor; markieren mit gehaltener Maustaste.smarthome: Home springt zuerst an den Textbeginn, erst beim zweiten Druck an den Zeilenanfang.softwrap: visueller Umbruch ohne tatsächliches Newline.tabstospaces: Tabs als Spaces einfügen - meist sinnvoll in Config-Dateien.