Nano
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 22.04 Jammy Jellyfish
Ubuntu 20.04 Focal Fossa
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Nano 🇬🇧 ist ein einfacher Editor. Er ermöglicht die Bearbeitung von Dateien in einem Terminal bzw. auf der Konsole, auch ohne grafische Umgebung. Nano hat einen geringeren Funktionsumfang als z.B. VIM oder Emacs, ist dafür aber deutlich einfacher und intuitiver zu bedienen. Daher eignet sich Nano besonders für kleinere, schnelle Bearbeitungen oder für das Schreiben von kurzen Skripten.
Der Editor unterstützt u.a. Syntax-Hervorhebung für verschiedene Programmiersprachen, Undo/Redo Funktionalität, Mausunterstützung (sofern ein Grafikserver läuft), automatische Einrückung, Speichern von Dateien mit MS-DOS oder Mac Zeilenenden u.v.m.
Installation¶
Nano ist bei Ubuntu bereits vorinstalliert, eine manuelle Installation ist daher normalerweise nicht notwendig.
nano
Befehl zum Installieren der Pakete:
sudo apt-get install nano
Oder mit apturl installieren, Link: apt://nano
Benutzung¶
Der Editor kann direkt im Terminal gestartet werden:
nano [OPTIONEN] [DATEI]
Gibt man keine Datei und keine Option an, öffnet sich ein leeres Editorfenster. Gibt man einen Dateinamen an, wird die entsprechende Datei direkt im Editorfenster geöffnet.
Tastenkürzel¶
Kombinationen mit der Strg werden mit einem ^ im unteren Bereich des Editor-Bildschirms dargestellt.
einige Tastenkürzel | ||
Tasten (beide Spalten sind gleichwertig) | Aktion | |
Strg + G | F1 | Vollständige Liste der Tastenkürzel (M ("Meta") mit Alt oder Alt + ⇧ aufrufbar.) F1 funktioniert nicht beim Desktop MATE Hilfe anzeigen |
Strg + X | F2 | Datei schließen |
Strg + O | F3 | Datei speichern unter... Es erfolgt immer eine Abfrage des Namens, unter dem die Datei gespeichert werden soll, auch wenn man eine bestehende Datei zum Editieren geöffnet hat. |
Strg + S | - | Datei speichern. Hat man eine bestehende Datei zum Editieren geöffnet, wird diese ungefragt überschrieben. Hat man eine neue Datei angelegt, wird vor dem Speichern nach dem Dateinamen gefragt. |
Strg + W | F6 | Suche |
Alt + W | F16 | Weitersuchen |
Alt + R | Strg + Alt Gr + ß | Suchen/Ersetzen |
Alt + ⇧ + Strg | Alt + 6 | Zeile (oder Markierung) in Zwischenablage kopieren |
Strg + K | F9 | Zeile (oder Markierung) ausschneiden und in Zwischenablage kopieren |
Strg + U | F10 | Inhalt der Zwischenablage einfügen |
Alt + A | Strg + 6 | Markierung beginnen/ Markierung aufheben |
Strg + A | Pos1 | Zum Zeilenanfang gehen |
Strg + E | Ende | Zum Zeilenende gehen |
Alt + Alt Gr + < | Alt + Alt Gr + ß | Zum Dateianfang gehen |
Alt + ⇧ + 7 | Alt + ⇧ + ß | Zum Dateiende gehen |
Alt + G | Strg + ⇧ + - | Zu einer bestimmten Zeile springen |
Alt + D | Dateistatistiken anzeigen | |
Strg + C | Aktuelle Cursorposition anzeigen | |
Alt + C | Aktuelle Cursorposition ständig anzeigen ein/aus | |
Alt + X | Hilfezeilen anzeigen ein/aus | |
Alt + O | Leerzeile unterhalb der Titelzeile ein/aus | |
Alt + Y | Syntaxhervorhebung ein/aus |
Konfiguration¶
Die systemweite Konfiguration von Nano ist in der Datei /etc/nanorc hinterlegt. Möchte man sich eine benutzerspezifische Konfiguration anlegen, kopiert man die Datei nach ~/.config/nano/nanorc (oder alternativ ~/.nanorc) und nimmt dort die gewünschten Änderungen vor. Die Datei ist ausführlich kommentiert, weitere Hilfe bekommt man auch beim Aufruf der man-Page von nanorc:
man nanorc
Syntaxhervorhebung¶
Nano bietet Syntaxhervorhebung für eine ganze Reihe von Programmiersprachen und Dateiformaten (wie JSON, XML). Die Dateien für die Syntaxhervorhebung sind im Verzeichnis /usr/share/nano abgelegt. Die Dateien haben die Endung .nanorc, der Dateiname vor dem Punkt sagt, für welche Sprache oder Dateiart die Syntaxhervorhebung definiert ist, also z.B. python.nanorc für Python oder json.nanorc für JSON-Dateien.
Standardmäßig ist die Hervorhebung für alle vorhandenen Formate bzw. Sprachen aktiviert. Das geschieht durch folgende Zeile in /etc/nanorc.
1 | include "/usr/share/nano/*.nanorc" |
Während der Arbeit mit nano kann durch Alt + Y die Syntaxhervorhebung ein- oder ausgeschaltet werden.
Farben der Syntaxhervorhebung anpassen¶
Um die Farben der Syntaxhervorhebung systemweit zu ändern, müssen die Einstellungen in /usr/share/nano/ geändert werden. Sollen sie für einen Benutzer geändert werden, kann die entsprechende Datei z.B. nach ~/.nano/ kopiert und angepasst werden.
Damit diese Anpassungen übernommen werden, muss die Datei bzw. das Verzeichnis in der lokalen (.)nanorc eingebunden sein
1 | include "/$HOME/nano/*.nanorc" |
Skript unabhängig vom Dateinamen einfärben¶
Nano färbt von sich aus ein Skript unabhängig vom Dateinamen ein, also auch wenn die Datei nicht z.b. auf .sh
endet. Das funktioniert jedoch nur, wenn das Skript sich auch als solches ausgibt, also mit einem Shebang für Shellskripte beginnt. Wer sich für die genauen Regeln interessiert, kann diese in /usr/share/nano/sh.nanorc
nachlesen.
Wird ein Skript nicht als solches erkannt, so kann man mit folgendem Befehl die Einfärbung mit dem Schema "sh" erzwingen:
nano -Y sh [Datei]
Hinweis:
Selbstverständlich funktioniert das auch mit anderen Farbschemata, wie z.B. "html". Das ist aber nur selten nötig, da hier fast immer die Dateiendung zur Erkennung des Inhalts ausreicht.
Will man doch einmal eine Datei öffnen, ohne dass jegliche Syntaxhervorhebung angewandt wird (auch nicht das Schema "default"), so muss man nun Nano mit:
nano -Y none [DATEI]
starten, oder zur Laufzeit mit Alt + Y die Hervorhebung deaktivieren.
Problembehebung¶
Sollten die Definitionsdateien für die Syntaxhervorhebung, die in der nanorc eingetragen wurden, nicht oder nur teilweise erkannt werden, dann stört sich das Programm möglicherweise daran, dass "include"-Einträge in der globalen Konfigurationsdatei /etc/nanorc und der lokalen ~/.config/nano/nanorc vorhanden sind. Abhilfe schafft dann die Definitionsdateien in einer der beiden Dateien auszukommentieren.
Links¶
Editor Programmübersicht
GitHub: serialhex/nano-highlight 🇬🇧 Sammlung ergänzender Konfigurationsdateien für Syntax-Hervorhebung