Nano

Aus Foxwiki

nano - "Nano's ANOther editor"

Beschreibung

nano - »Nano's ANOther editor«, inspiriert von Pico

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.

nano ist ein kleiner und freundlicher Editor
  • Er kopiert das Aussehen und Verhalten von Pico, ist aber freie Software und implementiert verschiedene Funktionen, die Pico fehlen, wie: Öffnen mehrerer Dateien, zeilenweises Rollen, rückgängig machen und Wiederholen, farbige Syntaxhervorhebung, Zeilennummern und fließenden Umbruch überlanger Zeilen.

Wenn Sie in der Befehlszeile einen Dateinamen angeben, können Sie den Cursor in einer bestimmten Zeile platzieren, indem Sie die Zeilennummer mit einem Pluszeichen (+) dem Dateinamen voranstellen.

  • Mit einem Komma können Sie sogar die gewünschte Spalte angeben.
  • Der Cursor kann in die erste oder letzte Zeile des Vorkommens einer bestimmten Zeichenkette gesetzt werden, indem Sie diese Zeichenkette nach einem +/ oder +? dem Dateinamen voranstellen.
  • Fügen Sie zusätzlich ein c und/oder r nach dem Pluszeichen ein, wird für die Zeichenkette Groß-/Kleinschreibung berücksichtigt genauer gesagt, die Zeichenkette als regulärer Ausdruck betrachtet.
  • Diese Suchmodi können explizit deaktiviert werden, indem Sie Groß- statt Kleinschreibung verwenden: C und/oder R.
  • Wenn die Zeichenkette Leerzeichen enthält, muss sie in Anführungszeichen gesetzt werden.
  • Ein Beispiel, in dem eine Datei geöffnet und der Cursor beim ersten Vorkommen des Wortes »Foo« gesetzt werden soll:
$ nano +c/Foo Datei

Als Spezialfall: wird beim Aufruf anstatt eines Dateinamens ein Minuszeichen (-) angegeben, liest nano Daten aus der Standardeingabe.

Installation

# apt-get install nano

Syntax

$ nano [Optionen] [[+Zeile[,Spalte]] Datei] …
$ nano [Optionen] [[+[crCR](/|?)Zeichenkette] Datei] …

Optionen

Parameter

Umgebungsvariablen

Exit-Status

Anwendung

Bearbeitung

Eingabe von Text und Bewegen innerhalb einer Datei ist einfach: durch Eingabe der Buchstaben und Verwenden der normalen Cursortasten.

  • Befehle können Sie mit der Strg-Taste (^) und den Alt- oder Metatasten (M-) eingeben.
  • Die Eingabe ^K löscht die aktuelle Zeile und schreibt sie in die Zwischenablage.
  • Mehrere aufeinander folgende Eingaben von ^K schreiben die gelöschten Zeilen zusammen in die Zwischenablage.
  • Jede Bewegung des Cursors oder Eingabe eines anderen Befehls führt dazu, dass die nächste Eingabe von ^K die Zwischenablage überschreibt.
  • Ein ^U fügt den aktuellen Inhalt der Zwischenablage an der aktuellen Cursorposition ein.

Wenn ein etwas genauerer Textteil ausgeschnitten oder kopiert werden soll, können Sie die Markierung mit ^6 beginnen, den Cursor zum gewünschten Ende bewegen (der markierte Text wird nun hervorgehoben) und dann mit ^K den Text ausschneiden oder mit M-6 in die Zwischenablage kopieren.

  • Sie können den markierten Text auch mit ^O in einer Datei speichern oder mit ^T^T die Rechtschreibung prüfen lassen.

In einigen Terminals kann Text auch mit den Pfeiltasten bei gedrückt gehaltener Umschalttaste markiert werden.

  • Wenn Sie außerdem die Strg- oder Alt-Taste gedrückt halten, wird dies beschleunigt.
  • Durch jede Bewegung des Cursors ohne Gedrückthalten der Umschalttaste wird eine solche Auswahl abgebrochen.

Die zwei Zeilen am unteren Bildschirmrand zeigen einige wichtige Befehle; die eingebaute Hilfe (^G) listet alle verfügbaren Befehle auf.

  • Die voreingestellten Tastaturschnellzugriffe können über eine Datei nanorc geändert werden, siehe nanorc(5).

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

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.) Hilfe anzeigen
Strg + X F2 Datei schließen
Strg + O F3 Datei speichern
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"
Shellskripte unabhängig vom Dateinamen einfärben

Nano färbt von sich aus Shellscripte unabhängig vom Dateinamen ein, also auch wenn die Datei nicht auf *.sh endet. Das funktioniert jedoch nur, wenn das Shellscript sich auch als solches ausgibt, also z. B. 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 Shellscript 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.

Fehlerbehebung

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 auzukommentieren.

Die Aufzeichnung und Wiedergabe von Tastaturmakros funktioniert nur in einem Terminalemulator fehlerfrei, jedoch nicht in einer Linux-Konsole (VT), da Letztere standardmäßig nicht zwischen modifizierten und unmodifizierten Pfeiltasten unterscheiden kann.

Bitte melden Sie alle andere Fehler, die sie entdecken, auf: https://savannah.gnu.org/bugs/?group=nano.

Wenn nano abstürzt, speichert es alle geänderten Puffer sicherheitshalber in Dateien mit der Endung .save.

  • Falls es Ihnen gelingt, den Absturz zu reproduzieren und Sie einen Backtrace haben wollen, dann definieren Sie die Umgebungsvariable NANO_NOCATCH.

Konfiguration

Dateien

Anhang

Siehe auch

Sicherheit

Dokumentation

/usr/share/doc/nano/
Man-Pages
  1. nanorc(5)
Info-Pages

Links

Projekt
  1. https://nano-editor.org/
Weblinks
  1. https://wiki.ubuntuusers.de/Nano
  2. GitHub: serialhex/nano-highlight
    Sammlung ergänzender Konfigurationsdateien für Syntax-Highlighting

Manpage

UMSCHALTUNGEN

Unter den oben genannten Optionen können einige auch ein- und ausgeschaltet werden, wenn nano läuft.

  • Beispielsweise schaltet M-L den harten Umbruch langer Zeilen, M-S den fließenden Umbruch, M-N die Anzeige der Zeilennummern, M-M die Verwendung der Maus, M-I die automatische Einrückung und M-X die Anzeige der Hilfezeilen ein oder aus.
  • Am Ende des mit ^G angezeigten Hilfetexts finden Sie eine vollständige Liste.

Der Umschalter M-X ist speziell: Er funktioniert in allen Menüs, außer im Hilfebetrachter und im Linter.

  • Alle anderen Umschalter funktionieren nur im Hauptmenü.

DATEIEN

Wenn --rcfile angegeben ist, liest nano nur die angegebene Datei zum Setzen der Optionen, Syntaxhervorhebung und Tastenbindungen.

  • Ohne diese Option wird nano zwei Konfigurationsdateien lesen: zuerst die nanorc des Systems (falls diese existiert) und danach die nanorc des Benutzers (falls diese existiert), entweder ~/.nanorc oder $XDG_CONFIG_HOME/nano/nanorc oder ~/.config/nano/nanorc, je nachdem, welche zuerst gefunden wird.
  • Siehe nanorc(5)

für weitere Informationen zu den möglichen Inhalten dieser Dateien.

Siehe /usr/share/nano/ und /usr/share/nano/extra/ für die verfügbaren Definitionen der farblichen Syntaxhervorhebungen.

ANMERKUNGEN

Die Option -z (--suspendable) wurde entfernt.

  • Das Schieben in den Hintergrund ist standardmäßig aktiviert und ist über ^T^Z erreichbar.
  • Falls Sie zum Schieben in den Hintergrund ein einfaches ^Z bevorzugen, fügen Sie bind ^Z suspend main zu Ihrer Nanorc hinzu.

Falls kein alternativer Befehl zur Rechtschreibprüfung in der Befehlszeile oder in einer der nanorc-Dateien angegeben ist, sucht nano in der Umgebungsvariable SPELL danach.

In einigen Fällen versucht nano, den Puffer in einer Notfalldatei zu speichern.

  • Dies geschieht hauptsächlich dann, wenn nano ein SIGHUP oder SIGTERM empfängt oder der Speicher ausgeschöpft ist.
  • Der Puffer wird in eine Datei namens nano.save geschrieben, falls für den Puffer noch kein Name vergeben wurde, oder die Endung .save wird zum aktuellen Dateinamen hinzugefügt.
  • Falls eine Notfalldatei gleichen Namens im aktuellen Verzeichnis bereits existiert, wird außer der Endung .save eine Zahl hinzugefügt (zum Beispiel .save.1, damit sie eindeutig unterscheidbar wird.
  • Im Mehrpuffer-Modus schreibt nano alle offenen Puffer in deren jeweilige Notfalldateien.