[[Vorlage(Getestet, bionic, focal, jammy)]] {{{#!vorlage Wissen [:Terminal: ein Terminal öffnen] [:Editor: einen Editor öffnen] }}} [[Inhaltsverzeichnis()]] [[Bild(./nano_logo.png, 48, align=left)]] [https://www.nano-editor.org/ Nano] {en} 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. [[Bild(nano-leer.png, 400)]] [[Bild(nano-hilfe.png, 400)]] = Installation = Nano ist bei Ubuntu bereits vorinstalliert, eine manuelle Installation ist daher normalerweise nicht notwendig. {{{#!vorlage Paketinstallation nano }}} = Benutzung = Der Editor kann direkt im [:Terminal:] gestartet werden: {{{#!vorlage Befehl 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 [[Vorlage(Tasten, Strg)]] werden mit einem ^ im unteren Bereich des Editor-Bildschirms dargestellt. {{{#!vorlage Tabelle <-3 tableclass="zebra_start3" rowclass="titel"> einige Tastenkürzel +++ <-2: rowclass="kopf">Tasten[[BR]](beide Spalten sind gleichwertig) Aktion +++ [[Vorlage(Tasten, Strg+G)]] [[Vorlage(Tasten, F1)]] Vollständige Liste der Tastenkürzel (M ("Meta") mit [[Vorlage(Tasten, Alt)]] oder [[Vorlage(Tasten, Alt+Shift)]] aufrufbar.) [[Vorlage(Tasten, F1)]] funktioniert nicht beim Desktop MATE [paste:423982: Hilfe anzeigen] +++ [[Vorlage(Tasten, Strg+X)]] [[Vorlage(Tasten, F2)]] Datei schließen +++ [[Vorlage(Tasten, Strg+O)]] [[Vorlage(Tasten, 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. +++ [[Vorlage(Tasten, 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. +++ [[Vorlage(Tasten, Strg+W)]] [[Vorlage(Tasten, F6)]] Suche +++ [[Vorlage(Tasten, Alt+W)]] [[Vorlage(Tasten, F16)]] Weitersuchen +++ [[Vorlage(Tasten, Alt+R)]] [[Vorlage(Tasten, Strg+AltGr+ß)]] Suchen/Ersetzen +++ <-3 rowclass="trennzeile"> +++ [[Vorlage(Tasten, Alt+Shift+Strg)]] [[Vorlage(Tasten, Alt+6)]] Zeile (oder Markierung) in Zwischenablage kopieren +++ [[Vorlage(Tasten, Strg+K)]] [[Vorlage(Tasten, F9)]] Zeile (oder Markierung) ausschneiden und in Zwischenablage kopieren +++ [[Vorlage(Tasten, Strg+U)]] [[Vorlage(Tasten, F10)]] Inhalt der Zwischenablage einfügen +++ [[Vorlage(Tasten, Alt+A)]] [[Vorlage(Tasten, Strg+6)]] Markierung beginnen/ Markierung aufheben +++ [[Vorlage(Tasten, Strg+A)]] [[Vorlage(Tasten, Home)]] Zum Zeilenanfang gehen +++ [[Vorlage(Tasten, Strg+E)]] [[Vorlage(Tasten, End)]] Zum Zeilenende gehen +++ [[Vorlage(Tasten, Alt+AltGr+<)]] [[Vorlage(Tasten, Alt+AltGr+ß)]] Zum Dateianfang gehen +++ [[Vorlage(Tasten, Alt+Shift+7)]] [[Vorlage(Tasten, Alt+Shift+ß)]] Zum Dateiende gehen +++ [[Vorlage(Tasten, Alt+G)]] [[Vorlage(Tasten, Strg+Shift+-)]] Zu einer bestimmten Zeile springen +++ <-3 rowclass="trennzeile"> +++ [[Vorlage(Tasten, Alt+D)]] Dateistatistiken anzeigen +++ [[Vorlage(Tasten, Strg+C)]] Aktuelle Cursorposition anzeigen +++ [[Vorlage(Tasten, Alt+C)]] Aktuelle Cursorposition ständig anzeigen ein/aus +++ [[Vorlage(Tasten, Alt+X)]] Hilfezeilen anzeigen ein/aus +++ [[Vorlage(Tasten, Alt+O)]] Leerzeile unterhalb der Titelzeile ein/aus +++ [[Vorlage(Tasten, Alt+Y)]] [#Syntaxhervorhebung 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:man-Page] von '''nanorc''': {{{#!vorlage Befehl man nanorc }}} == Syntaxhervorhebung == Nano bietet [wikipedia: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'''. {{{#!code sh include "/usr/share/nano/*.nanorc" }}} Während der Arbeit mit nano kann durch [[Vorlage(Tasten, Alt+Y)]] die Syntaxhervorhebung ein- oder ausgeschaltet werden. [[Bild(./nano_bunt.png, 250, align=right)]] === 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 {{{#!code sh 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: {{{#!vorlage Befehl nano -Y sh [Datei] }}} {{{#!vorlage 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: {{{#!vorlage Befehl nano -Y none [DATEI] }}} starten, oder zur Laufzeit mit [[Vorlage(Tasten, 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:] {Übersicht} Programmübersicht * [https://www.nano-editor.org/ Offizielle Homepage] {en} * [https://github.com/serialhex/nano-highlight/ GitHub: serialhex/nano-highlight] {en} Sammlung ergänzender Konfigurationsdateien für Syntax-Hervorhebung # tag: Shell, Editor