Nano: Unterschied zwischen den Versionen
K Textersetzung - „z.B.“ durch „z. B. “ |
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“ |
||
(68 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''nano''' - | '''nano''' - Einfacher Test-Editor | ||
== Beschreibung == | == Beschreibung == | ||
; nano - »Nano's ANOther editor« | |||
* Inspiriert von Pico | |||
* 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. | |||
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 | |||
* 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 | |||
* 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: | * Ein Beispiel, in dem eine Datei geöffnet und der Cursor beim ersten Vorkommen des Wortes »Foo« gesetzt werden soll: | ||
Zeile 73: | Zeile 24: | ||
Als Spezialfall: wird beim Aufruf anstatt eines Dateinamens ein Minuszeichen (-) angegeben, liest nano Daten aus der Standardeingabe. | Als Spezialfall: wird beim Aufruf anstatt eines Dateinamens ein Minuszeichen (-) angegeben, liest nano Daten aus der Standardeingabe. | ||
== | == Installation == | ||
# apt-get install nano | |||
== Aufruf == | |||
$ nano [Optionen] [[+Zeile[,Spalte]] Datei] … | |||
$ nano [Optionen] [[+[crCR](/|?)Zeichenkette] Datei] … | |||
=== Optionen === | |||
{| class="wikitable sortable options" | |||
== | |||
{| class="wikitable sortable" | |||
|- | |- | ||
! Unix !! GNU !! Beschreibung | ! Unix !! GNU !! Beschreibung | ||
|- | |- | ||
| -A || --smarthome || | | -A || --smarthome || macht die Pos1-Taste intelligenter. | ||
* Wenn die Pos1-Taste irgendwo gedrückt wird, außer am äußersten Anfang von Nicht-Leerraum in einer Zeile, dann springt der Cursor zu diesem Anfang (entweder vorwärts oder rückwärts). | * Wenn die Pos1-Taste irgendwo gedrückt wird, außer am äußersten Anfang von Nicht-Leerraum in einer Zeile, dann springt der Cursor zu diesem Anfang (entweder vorwärts oder rückwärts). | ||
* Befindet sich der Cursor bereits an dieser Position, springt er zum tatsächlichen Anfang der Zeile. | * Befindet sich der Cursor bereits an dieser Position, springt er zum tatsächlichen Anfang der Zeile. | ||
|- | |- | ||
| -B || --backup || | | -B || --backup || sichert beim Speichern einer Datei die vorherige Version mit dem Namen der aktuellen Datei, dem eine Tilde (~) angehängt wird. | ||
|- | |- | ||
| -C Verzeichnis || --backupdir=Verzeichnis || | | -C Verzeichnis || --backupdir=Verzeichnis || erstellt nicht nur eine Sicherungsdatei und behält diese, sondern erstellt eine eindeutig nummerierte Datei jedes Mal, wenn eine Datei gespeichert wird – sofern Sicherungen aktiviert sind (-B). | ||
* Die eindeutig nummerierten Dateien werden im angegebenen Verzeichnis gespeichert. | * Die eindeutig nummerierten Dateien werden im angegebenen Verzeichnis gespeichert. | ||
|- | |- | ||
| -D || --boldtext || | | -D || --boldtext || verwendet für die Benutzeroberfläche Fettdruck anstelle von inversem Text. | ||
* Dies kann durch Setzen der Optionen titlecolor, statuscolor, keycolor, functioncolor, numbercolor und/oder selectedcolor in Ihrer Datei nanorc außer Kraft gesetzt werden. | * Dies kann durch Setzen der Optionen titlecolor, statuscolor, keycolor, functioncolor, numbercolor und/oder selectedcolor in Ihrer Datei nanorc außer Kraft gesetzt werden. | ||
* Siehe nanorc(5). | * Siehe nanorc(5). | ||
|- | |- | ||
| -E || --tabstospaces || | | -E || --tabstospaces || wandelt jeden eingegebenen Tabulator in Leerzeichen um, und zwar in die Anzahl der Leerzeichen, wie der Tabulator an dieser Position einnehmen würde. | ||
|- | |- | ||
| -F || --multibuffer || | | -F || --multibuffer || liest standardmäßig eine Datei in einen neuen Puffer ein. | ||
|- | |- | ||
| -G || --locking || | | -G || --locking || aktiviert beim Bearbeiten von Dateien die Dateisperrung im Vim-Stil. | ||
|- | |- | ||
| -H || --historylog || | | -H || --historylog || speichert die letzten 100 Suchzeichenketten, Ersetzungszeichenketten und ausgeführten Befehle, so dass sie in späteren Sitzungen leicht wiederverwendet werden können. | ||
|- | |- | ||
| -I || --ignorercfiles || | | -I || --ignorercfiles || | ||
übergeht sowohl die systemweite nanorc als auch die nanorc des Benutzers. | übergeht sowohl die systemweite nanorc als auch die nanorc des Benutzers. | ||
|- | |- | ||
| -J Zahl || --guidestripe=Zahl || | | -J Zahl || --guidestripe=Zahl || blendet einen Markierungsbalken in der angegebenen Spalte ein, anhand dessen Sie die Breite des Texts besser beurteilen können. | ||
* Die Farbe des Balkens kann mit der Anweisung set stripecolor in Ihrer Datei nanorc angepasst werden. | * Die Farbe des Balkens kann mit der Anweisung set stripecolor in Ihrer Datei nanorc angepasst werden. | ||
|- | |- | ||
| -K || --rawsequences || | | -K || --rawsequences || interpretiert Escape-Sequenzen direkt, anstatt sie durch ncurses übersetzen zu lassen. | ||
* Falls Sie diese Option benötigen, damit einige Tasten korrekt funktionieren, bedeutet das, dass die von Terminfo bereitgestellte Terminalbeschreibung dem tatsächlichen Verhalten Ihres Terminals nicht vollständig entspricht. | * Falls Sie diese Option benötigen, damit einige Tasten korrekt funktionieren, bedeutet das, dass die von Terminfo bereitgestellte Terminalbeschreibung dem tatsächlichen Verhalten Ihres Terminals nicht vollständig entspricht. | ||
* Dies kann beispielsweise passieren, wenn Sie sich per SSH an einer BSD-Maschine anmelden. | * Dies kann beispielsweise passieren, wenn Sie sich per SSH an einer BSD-Maschine anmelden. | ||
* Wenn Sie diese Option verwenden, wird die Mausunterstützung in nano deaktiviert. | * Wenn Sie diese Option verwenden, wird die Mausunterstützung in nano deaktiviert. | ||
|- | |- | ||
| -L || --nonewlines || | | -L || --nonewlines || fügt nicht automatisch einen Zeilenvorschub an, wenn ein Text nicht mit einem solchen endet. (Das kann dazu führen, dass Sie POSIX-inkompatible Textdateien speichern.) | ||
|- | |- | ||
| -M || --trimblanks || | | -M || --trimblanks || entfernt angehängten Leerraum beim automatischen harten Umbruch oder bei der Ausrichtung von Text vom Ende der Zeile. | ||
|- | |- | ||
| -N || --noconvert || | | -N || --noconvert || deaktiviert die automatische Umwandlung von Dateien aus dem DOS/Mac-Format. | ||
|- | |- | ||
| -O || --bookstyle || | | -O || --bookstyle || fasst beim Ausrichten jede Zeile, die mit Leerraum beginnt, als Beginn eines Absatzes auf (außer wenn automatisches Einrücken aktiviert ist). | ||
|- | |- | ||
| -P || --positionlog || | | -P || --positionlog || protokolliert für die 200 zuletzt bearbeiteten Dateien die letzte Position des Cursors und setzt ihn beim erneuten Öffnen der Datei wieder an diese Stelle. | ||
|- | |- | ||
| -Q "regulärer_Ausdruck" || --quotestr="regulärer_Ausdruck" || | | -Q "regulärer_Ausdruck" || --quotestr="regulärer_Ausdruck" || | ||
legt den regulären Ausdruck für die Übereinstimmungsfindung für Zitate fest. | legt den regulären Ausdruck für die Übereinstimmungsfindung für Zitate fest. | ||
* Der Vorgabewert ist <nowiki>»^([ \t]*([!#%:;>|}]|//))+«</nowiki>. (Beachten Sie, dass dabei \t für den echten Tabulator steht.) | * Der Vorgabewert ist <nowiki>»^([ \t]*([!#%:;>|}]|//))+«</nowiki>. (Beachten Sie, dass dabei \t für den echten Tabulator steht.) | ||
* Dadurch wird es ermöglicht, beim Verfassen von E-Mails Blöcke aus zitiertem Text neu auszurichten und Blöcke von Zeilenkommentaren beim Schreiben von Quellcode neu umzubrechen. | * Dadurch wird es ermöglicht, beim Verfassen von E-Mails Blöcke aus zitiertem Text neu auszurichten und Blöcke von Zeilenkommentaren beim Schreiben von Quellcode neu umzubrechen. | ||
|- | |- | ||
| -R || --restricted || | | -R || --restricted || aktiviert den eingeschränkten Modus: Es wird nichts aus einer Datei gelesen oder in diese geschrieben, die nicht in der Befehlszeile übergeben wurde. | ||
* Das bedeutet, dass keine Verlaufsdateien gelesen oder geschrieben werden, keine Rechtschreibprüfung erlaubt wird, nichts an eine Datei angehängt oder ihr vorangestellt oder die Datei unter einem anderen Namen gespeichert wird, wenn bereits ein Name vergeben wurde; außerdem werden keine Sicherungsdateien erstellt. | * Das bedeutet, dass keine Verlaufsdateien gelesen oder geschrieben werden, keine Rechtschreibprüfung erlaubt wird, nichts an eine Datei angehängt oder ihr vorangestellt oder die Datei unter einem anderen Namen gespeichert wird, wenn bereits ein Name vergeben wurde; außerdem werden keine Sicherungsdateien erstellt. | ||
* Sie können den eingeschränkten Modus auch aktivieren, indem Sie nano mit einem Namen aufrufen, der mit »r« beginnt (zum Beispiel rnano). | * Sie können den eingeschränkten Modus auch aktivieren, indem Sie nano mit einem Namen aufrufen, der mit »r« beginnt (zum Beispiel rnano). | ||
|- | |- | ||
| -S || --softwrap || | | -S || --softwrap || zeigt Zeilen, die länger als die Bildschirmbreite sind, in mehreren Zeilen an (Sie können diesen fließenden Zeilenumbruch so einrichten, dass an Leerzeichen statt grob am Bildschirmrand umgebrochen wird, indem Sie auch --atblanks verwenden). (Die frühere kurze Option -$ ist nun als veraltet anzusehen.) | ||
|- | |- | ||
| -T Anzahl || --tabsize=Anzahl || | | -T Anzahl || --tabsize=Anzahl || setzt die Größe (Breite) von Tabulatoren auf die angegebene Anzahl Spalten. | ||
* Die Anzahl muss größer als 0 sein. | * Die Anzahl muss größer als 0 sein. | ||
* Der Vorgabewert ist 8. | * Der Vorgabewert ist 8. | ||
|- | |- | ||
| -U || --quickblank || | | -U || --quickblank || blendet die Statuszeile bereits nach einem Tastendruck anstelle von 20 aus. | ||
* Beachten Sie, dass die Option -c (--constantshow) dies außer Kraft setzt. | * Beachten Sie, dass die Option -c (--constantshow) dies außer Kraft setzt. | ||
* Wenn die Option --minibar oder --zero wirksam ist, blendet --quickblank eine Meldung bereits nach 0,8 Sekunden anstelle der vorgegebenen 1,5 Sekunden aus. | * Wenn die Option --minibar oder --zero wirksam ist, blendet --quickblank eine Meldung bereits nach 0,8 Sekunden anstelle der vorgegebenen 1,5 Sekunden aus. | ||
|- | |- | ||
| -V || --version || | | -V || --version || gibt die Versionsnummer aus und beendet das Programm. | ||
|- | |- | ||
| -W || --wordbounds || | | -W || --wordbounds || erkennt Wortgrenzen anders, indem Interpunktionszeichen als Teil eines Wortes angesehen werden. | ||
|- | |- | ||
| -X "Zeichen" || --wordchars="Zeichen" || | | -X "Zeichen" || --wordchars="Zeichen" || | ||
gibt an, welche anderen Zeichen (neben den normalen alphanumerischen Zeichen) als Teil eines Wortes betrachtet werden sollen. | gibt an, welche anderen Zeichen (neben den normalen alphanumerischen Zeichen) als Teil eines Wortes betrachtet werden sollen. | ||
* Wenn Sie diese Option verwenden, dann werden Sie wahrscheinlich die Option -W (--wordbounds) nicht benötigen. | * Wenn Sie diese Option verwenden, dann werden Sie wahrscheinlich die Option -W (--wordbounds) nicht benötigen. | ||
|- | |- | ||
| -Y Name || --syntax=Name || | | -Y Name || --syntax=Name || gibt den Namen der zu verwendenden Syntaxhervorhebung an. | ||
* Verwendet werden die in den nanorc-Dateien definierten Syntaxhervorhebungen. | * Verwendet werden die in den nanorc-Dateien definierten Syntaxhervorhebungen. | ||
|- | |- | ||
| -Z || --zap || | | -Z || --zap || bewirkt, dass durch Drücken einer unmodifizierten Rückschritt- oder Entf-Taste der markierte Bereich gelöscht wird (anstelle eines einzelnen Zeichens und ohne Auswirkung auf die Zwischenablage). | ||
|- | |- | ||
| -a || --atblanks || | | -a || --atblanks || bricht bei aktiviertem fließendem Zeilenumbruch bei Leerräumen anstatt immer beim Erreichen des Bildschirmrandes um. | ||
|- | |- | ||
| -b || --breaklonglines || | | -b || --breaklonglines || bricht die aktuelle Zeile automatisch hart um, wenn sie zu lang wird. | ||
* Diese Option ist das Gegenstück zu -w (--nowrap) – die zuletzt angegebene Option ist wirksam. | * Diese Option ist das Gegenstück zu -w (--nowrap) – die zuletzt angegebene Option ist wirksam. | ||
|- | |- | ||
| -c || --constantshow || | | -c || --constantshow || zeigt die Cursorposition permanent in der Statuszeile an. | ||
* Beachten Sie, dass dies -U (--quickblank) außer Kraft setzt. | * Beachten Sie, dass dies -U (--quickblank) außer Kraft setzt. | ||
|- | |- | ||
| -d || --rebinddelete || | | -d || --rebinddelete || interpretiert die Entf- und Rückschrittasten anders, so dass sowohl Rückschritt als auch Entf korrekt funktionieren. | ||
* Sie sollten diese Option nur verwenden, wenn auf Ihrem System entweder die Rückschrittaste als Entf-Taste wirkt oder die Entf-Taste als Rückschrittaste. | * Sie sollten diese Option nur verwenden, wenn auf Ihrem System entweder die Rückschrittaste als Entf-Taste wirkt oder die Entf-Taste als Rückschrittaste. | ||
|- | |- | ||
| -e || --emptyline || | | -e || --emptyline || verwendet die Leerzeile unter der Titelleiste nicht und lässt diese leer. | ||
|- | |- | ||
| -f Datei || --rcfile=Datei || | | -f Datei || --rcfile=Datei || liest zum Setzen der Optionen für nano nur die angegebene Datei, anstatt sowohl die systemweite nanorc als auch die des Benutzers zu lesen. | ||
|- | |- | ||
| -g || --showcursor || | | -g || --showcursor || macht den Cursor im Dateibrowser (indem er auf den hervorgehobenen Eintrag gesetzt wird) und im Hilfebetrachter sichtbar. | ||
* Dies ist für Benutzer mit Braille-Zeile oder weniger schwerwiegenden Sehbehinderungen nützlich. | * Dies ist für Benutzer mit Braille-Zeile oder weniger schwerwiegenden Sehbehinderungen nützlich. | ||
|- | |- | ||
| -h || --help || | | -h || --help || zeigt eine Zusammenfassung der verfügbaren Befehlszeilenoptionen an und beendet das Programm. | ||
|- | |- | ||
| -i || --autoindent || | | -i || --autoindent || rückt eine neue Zeile automatisch um die gleiche Anzahl Tabulatoren und/oder Leerzeichen wie die vorhergehende Zeile ein (oder wie die nächste Zeile, wenn die vorhergehende Zeile der Anfang eines Absatzes ist). | ||
|- | |- | ||
| -j || --jumpyscrolling || | | -j || --jumpyscrolling || rollt den Inhalt des Puffers um einen halben Bildschirminhalt statt um eine Zeile. | ||
|- | |- | ||
| -k || --cutfromcursor || | | -k || --cutfromcursor || bewirkt, dass der Befehl zum Ausschneiden von Text (normalerweise ^K) nur von der aktuellen Cursorposition bis zum Ende der Zeile anstatt die gesamte Zeile ausschneidet. | ||
|- | |- | ||
| -l || --linenumbers || | | -l || --linenumbers || Zeigt Zeilennummern links vom Textbereich an. (Jede Zeile mit einem Anker erhält außerdem eine Markierung im Randbereich.) | ||
|- | |- | ||
| -m || --mouse || | | -m || --mouse || aktiviert Mausunterstützung, falls dies auf Ihrem System verfügbar ist. | ||
* Wenn aktiviert, können Sie den Cursor mittels Mausklicks platzieren, die Markierung (mit einem Doppelklick) setzen und Tastenkombinationen ausführen. | * Wenn aktiviert, können Sie den Cursor mittels Mausklicks platzieren, die Markierung (mit einem Doppelklick) setzen und Tastenkombinationen ausführen. | ||
* Die Maus wird im X Window System funktionieren, und auch auf der Konsole, wenn gpm läuft. | * Die Maus wird im X Window System funktionieren, und auch auf der Konsole, wenn gpm läuft. | ||
* Text kann weiterhin durch Ziehen markiert werden, während die Umschalttaste gedrückt gehalten wird. | * Text kann weiterhin durch Ziehen markiert werden, während die Umschalttaste gedrückt gehalten wird. | ||
|- | |- | ||
| -n || --noread || | | -n || --noread || fasst jeden in der Befehlszeile übergebenen Namen als neue Datei auf. | ||
* Dies ermöglicht nano, in benannte Pipes (Weiterleitungen) zu schreiben: | * Dies ermöglicht nano, in benannte Pipes (Weiterleitungen) zu schreiben: | ||
Es wird mit einem leeren Puffer begonnen und in die Pipe geschrieben, wenn der Benutzer die »Datei« speichert. | Es wird mit einem leeren Puffer begonnen und in die Pipe geschrieben, wenn der Benutzer die »Datei« speichert. | ||
* Auf diese Weise kann nano als Editor in Kombination mit beispielsweise gpg verwendet werden, ohne dass erst sensible Daten auf die Festplatte geschrieben werden müssen. | * Auf diese Weise kann nano als Editor in Kombination mit beispielsweise gpg verwendet werden, ohne dass erst sensible Daten auf die Festplatte geschrieben werden müssen. | ||
|- | |- | ||
| -o Verzeichnis || --operatingdir=Verzeichnis || | | -o Verzeichnis || --operatingdir=Verzeichnis || legt das Verzeichnis fest, in dem gearbeitet werden soll. | ||
* Dadurch wird nano veranlasst, etwas Ähnliches wie ein »Chroot« (temporäres Wurzelverzeichnis) einzurichten. | * Dadurch wird nano veranlasst, etwas Ähnliches wie ein »Chroot« (temporäres Wurzelverzeichnis) einzurichten. | ||
|- | |- | ||
| -p || --preserve || | | -p || --preserve || erhält die Sequenzen XON und XOFF (^Q und ^S), so dass diese vom Terminal abgefangen werden. | ||
|- | |- | ||
| -q || --indicator || | | -q || --indicator || zeigt eine Bildlaufleiste am rechten Rand des Editorfensters an. | ||
* Es zeigt die Position des Sichtfeldes im Puffer an, sowie welcher Anteil des Puffers vom Sichtfeld abgedeckt ist. | * Es zeigt die Position des Sichtfeldes im Puffer an, sowie welcher Anteil des Puffers vom Sichtfeld abgedeckt ist. | ||
|- | |- | ||
| -r Anzahl || --fill=Anzahl || | | -r Anzahl || --fill=Anzahl || legt die gewünschte Breite für die Ausrichtung und den automatischen harten Zeilenumbruch auf die angegebene Anzahl Spalten fest. | ||
* Ist die Anzahl 0 oder kleiner, wird ein harter Zeilenumbruch an der Bildschirmbreite minus der Anzahl Spalten ausgeführt, wodurch sich der Umbruchpunkt an der Bildschirmbreite orientiert und sich mit verändert, wenn die Bildschirmbreite geändert wird. | * Ist die Anzahl 0 oder kleiner, wird ein harter Zeilenumbruch an der Bildschirmbreite minus der Anzahl Spalten ausgeführt, wodurch sich der Umbruchpunkt an der Bildschirmbreite orientiert und sich mit verändert, wenn die Bildschirmbreite geändert wird. | ||
* Der Vorgabewert ist -8. | * Der Vorgabewert ist -8. | ||
|- | |- | ||
Zeile 224: | Zeile 164: | ||
die hunspell(1) oder spell(1) aufruft. | die hunspell(1) oder spell(1) aufruft. | ||
|- | |- | ||
| -t || --saveonexit || | | -t || --saveonexit || speichert einen geänderten Puffer stets ohne Nachfrage (beim Beenden mit ^X). | ||
|- | |- | ||
| -u || --unix || | | -u || --unix || speichert eine Datei standardmäßig im Unix-Format. | ||
* Dies setzt das Standardverhalten von nano außer Kraft, in dem eine Datei in dem Format gespeichert wird, in dem sie bereits vorliegt. | * Dies setzt das Standardverhalten von nano außer Kraft, in dem eine Datei in dem Format gespeichert wird, in dem sie bereits vorliegt. | ||
* Diese Option ist wirkungslos, wenn Sie auch --noconvert angeben. | * Diese Option ist wirkungslos, wenn Sie auch --noconvert angeben. | ||
|- | |- | ||
| -v || --view || | | -v || --view || zeigt lediglich die Datei an und verhindert die Bearbeitung (schreibgeschützter Modus). | ||
* In diesem Modus ist es dem Benutzer gestattet, auch andere Dateien zur Betrachtung zu öffnen, außer wenn ebenfalls --restricted angegeben ist. | * In diesem Modus ist es dem Benutzer gestattet, auch andere Dateien zur Betrachtung zu öffnen, außer wenn ebenfalls --restricted angegeben ist. | ||
|- | |- | ||
| -w || --nowrap || | | -w || --nowrap || bricht die aktuelle Zeile nicht automatisch hart um, wenn sie zu lang wird. | ||
* Dies ist die Vorgabe. | * Dies ist die Vorgabe. | ||
* Diese Option ist das Gegenstück zu -b | * Diese Option ist das Gegenstück zu -b | ||
(--breaklonglines) – die zuletzt angegebene Option ist wirksam. | (--breaklonglines) – die zuletzt angegebene Option ist wirksam. | ||
|- | |- | ||
| -x || --nohelp || | | -x || --nohelp || zeigt die zwei Hilfezeilen am unteren Rand des Bildschirms nicht an. | ||
|- | |- | ||
| -y || --afterends || | | -y || --afterends || bewirkt, dass »Strg+Pfeiltaste rechts« und »Strg+Entf« am Wortende anstatt am Wortanfang stoppt. | ||
|- | |- | ||
| -% || --stateflags || | | -% || --stateflags || verwendet die obere rechte Ecke des Bildschirms zum Anzeigen einiger Statusindikatoren, wenn Folgendes aktiv ist: I bei automatischer Einrückung, M bei Markierungen, L bei hartem Umbruch überlanger Zeilen, R bei der Aufzeichnung eines Makros und S bei fließendem Zeilenumbruch. | ||
* Wenn der Puffer geändert wurde, wird ein Stern (*) nach dem Dateinamen in der Mitte der Titelleiste angezeigt. | * Wenn der Puffer geändert wurde, wird ein Stern (*) nach dem Dateinamen in der Mitte der Titelleiste angezeigt. | ||
|- | |- | ||
| -_ || --minibar || | | -_ || --minibar || unterdrückt die Anzeige der Titelleiste und zeigt stattdessen am unteren Bildschirmrand im Bereich der Statuszeile Informationen zum aktuellen Puffer an. | ||
* In dieser »Minibar« wird links der Dateiname angezeigt, gefolgt von einem Raute-Zeichen, falls der Puffer geändert wurde. | * In dieser »Minibar« wird links der Dateiname angezeigt, gefolgt von einem Raute-Zeichen, falls der Puffer geändert wurde. | ||
* Rechts wird Folgendes angezeigt: die aktuelle Zeilen- und Spaltennummer, der Code des Zeichens unter dem Cursor (im Unicode-Format: U+xxxx), die gleichen Indikatoren, wie sie auch mit --stateflags angezeigt werden, sowie ein Prozentsatz, wie weit sich der Cursor in der Datei befindet (zeilenbezogen). | * Rechts wird Folgendes angezeigt: die aktuelle Zeilen- und Spaltennummer, der Code des Zeichens unter dem Cursor (im Unicode-Format: U+xxxx), die gleichen Indikatoren, wie sie auch mit --stateflags angezeigt werden, sowie ein Prozentsatz, wie weit sich der Cursor in der Datei befindet (zeilenbezogen). | ||
* Beim Laden oder Speichern einer Datei und auch beim Wechsel zwischen Puffern wird nach dem Dateinamen die Anzahl der Zeilen im Puffer angezeigt. | * Beim Laden oder Speichern einer Datei und auch beim Wechsel zwischen Puffern wird nach dem Dateinamen die Anzahl der Zeilen im Puffer angezeigt. | ||
* Diese Zahl wird nach dem nächsten Tastendruck gelöscht oder durch einen [i/n]-Zähler ersetzt, falls mehrere Puffer geöffnet sind. | * Diese Zahl wird nach dem nächsten Tastendruck gelöscht oder durch einen [i/n]-Zähler ersetzt, falls mehrere Puffer geöffnet sind. | ||
* Die Zeile einschließlich Spaltennummer sowie der Zeichencode werden nur dann angezeigt, wenn --constantshow verwendet wird. | * Die Zeile einschließlich Spaltennummer sowie der Zeichencode werden nur dann angezeigt, wenn --constantshow verwendet wird. | ||
* Mit M-C können Sie die Anzeige ein- oder ausblenden. | * Mit M-C können Sie die Anzeige ein- oder ausblenden. | ||
* Die Statusindikatoren werden nur angezeigt, wenn --stateflags verwendet wird. | * Die Statusindikatoren werden nur angezeigt, wenn --stateflags verwendet wird. | ||
|- | |- | ||
| -0 || --zero || | | -0 || --zero || verbirgt alle Elemente der Benutzerschnittstelle (Titelleiste, Statuszeile und Hilfezeilen) und verwendet alle Zeilen des Terminals für die Anzeige des Pufferinhalts. | ||
* Die Statuszeile erscheint nur dann, wenn eine wichtige Meldung anzuzeigen ist und wird nach 1,5 Sekunden oder beim nächsten Tastendruck ausgeblendet. | * Die Statuszeile erscheint nur dann, wenn eine wichtige Meldung anzuzeigen ist und wird nach 1,5 Sekunden oder beim nächsten Tastendruck ausgeblendet. | ||
* Mit M-Z kann die Anzeige der Titelleiste und Statuszeile und mit M-X die Anzeige der Hilfezeilen ein- oder ausgeschaltet werden. | * Mit M-Z kann die Anzeige der Titelleiste und Statuszeile und mit M-X die Anzeige der Hilfezeilen ein- oder ausgeschaltet werden. | ||
|- | |- | ||
| -! || --magic || | | -! || --magic || Wenn weder der Name noch die erste Zeile der Datei einen Hinweis liefert, wird versucht, die anwendbare Syntax mittels Libmagic zu bestimmen. | ||
|} | |} | ||
== | === Parameter === | ||
=== Umgebung === | |||
=== Rückgabewert === | |||
== Anwendung == | |||
[[File:nanoEditorShortcuts.png|mini|400px|https://www.instagram.com/p/DAvXCF0SvM5/]] | |||
== | === 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: | Der Editor kann direkt im Terminal gestartet werden: | ||
nano [OPTIONEN] [DATEI] | 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. | 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 === | ==== Tastenkürzel ==== | ||
{| class="wikitable" | {| class="wikitable options" | ||
| colspan="3" |einige Tastenkürzel | | colspan="3" |einige Tastenkürzel | ||
|- | |- | ||
Zeile 335: | Zeile 238: | ||
|Aktion | |Aktion | ||
|- | |- | ||
|Strg | |Strg + G | ||
|F1 | |F1 | ||
|Vollständige Liste der Tastenkürzel (M ("Meta") mit Alt | |Vollständige Liste der Tastenkürzel (M ("Meta") mit Alt oder Alt + ⇧ aufrufbar.) Hilfe anzeigen | ||
|- | |- | ||
|Strg | |Strg + X | ||
|F2 | |F2 | ||
|Datei schließen | |Datei schließen | ||
|- | |- | ||
|Strg | |Strg + O | ||
|F3 | |F3 | ||
|Datei speichern | |Datei speichern | ||
|- | |- | ||
|Strg | |Strg + W | ||
|F6 | |F6 | ||
|Suche | |Suche | ||
|- | |- | ||
|Alt | |Alt + W | ||
|F16 | |F16 | ||
|Weitersuchen | |Weitersuchen | ||
|- | |- | ||
|Alt | |Alt + R | ||
|Strg | |Strg + Alt Gr + ß | ||
|Suchen/Ersetzen | |Suchen/Ersetzen | ||
|- | |- | ||
| colspan="3" | | | colspan="3" | | ||
|- | |- | ||
|Alt | |Alt + ⇧ + Strg | ||
|Alt | |Alt + 6 | ||
|Zeile (oder Markierung) in Zwischenablage kopieren | |Zeile (oder Markierung) in Zwischenablage kopieren | ||
|- | |- | ||
|Strg | |Strg + K | ||
|F9 | |F9 | ||
|Zeile (oder Markierung) ausschneiden und in Zwischenablage kopieren | |Zeile (oder Markierung) ausschneiden und in Zwischenablage kopieren | ||
|- | |- | ||
|Strg | |Strg + U | ||
|F10 | |F10 | ||
|Inhalt der Zwischenablage einfügen | |Inhalt der Zwischenablage einfügen | ||
|- | |- | ||
|Alt | |Alt + A | ||
|Strg | |Strg + 6 | ||
|Markierung beginnen/ Markierung aufheben | |Markierung beginnen/ Markierung aufheben | ||
|- | |- | ||
|Strg | |Strg + A | ||
|Pos1 | |Pos1 | ||
|Zum Zeilenanfang gehen | |Zum Zeilenanfang gehen | ||
|- | |- | ||
|Strg | |Strg + E | ||
|Ende | |Ende | ||
|Zum Zeilenende gehen | |Zum Zeilenende gehen | ||
|- | |- | ||
|Alt | |Alt + Alt Gr + < | ||
|Alt | |Alt + Alt Gr + ß | ||
|Zum Dateianfang gehen | |Zum Dateianfang gehen | ||
|- | |- | ||
|Alt | |Alt + ⇧ + 7 | ||
|Alt | |Alt + ⇧ + ß | ||
|Zum Dateiende gehen | |Zum Dateiende gehen | ||
|- | |- | ||
|Alt | |Alt + G | ||
|Strg | |Strg + ⇧ + - | ||
|Zu einer bestimmten Zeile springen | |Zu einer bestimmten Zeile springen | ||
|- | |- | ||
| colspan="3" | | | colspan="3" | | ||
|- | |- | ||
|Alt | |Alt + D | ||
| | | | ||
|Dateistatistiken anzeigen | |Dateistatistiken anzeigen | ||
|- | |- | ||
|Strg | |Strg + C | ||
| | | | ||
|Aktuelle Cursorposition anzeigen | |Aktuelle Cursorposition anzeigen | ||
|- | |- | ||
|Alt | |Alt + C | ||
| | | | ||
|Aktuelle Cursorposition ständig anzeigen ein/aus | |Aktuelle Cursorposition ständig anzeigen ein/aus | ||
|- | |- | ||
|Alt | |Alt + X | ||
| | | | ||
|Hilfezeilen anzeigen ein/aus | |Hilfezeilen anzeigen ein/aus | ||
|- | |- | ||
|Alt | |Alt + O | ||
| | | | ||
|Leerzeile unterhalb der Titelzeile ein/aus | |Leerzeile unterhalb der Titelzeile ein/aus | ||
|- | |- | ||
|Alt | |Alt + Y | ||
| | | | ||
|Syntaxhervorhebung ein/aus | |Syntaxhervorhebung ein/aus | ||
|} | |} | ||
=== Konfiguration === | ==== 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''': | 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 | man nanorc | ||
=== Syntaxhervorhebung === | ==== 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. | 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'''. | Standardmäßig ist die Hervorhebung für alle vorhandenen Formate bzw. Sprachen aktiviert. Das geschieht durch folgende Zeile in '''/etc/nanorc'''. | ||
include "/usr/share/nano/*.nanorc" | include "/usr/share/nano/*.nanorc" | ||
==== Farben der Syntaxhervorhebung anpassen ==== | Während der Arbeit mit nano kann durch Alt + Y die Syntaxhervorhebung ein- oder ausgeschaltet werden. | ||
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 | |||
===== 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 | Damit diese Anpassungen übernommen werden, muss die Datei bzw. das Verzeichnis in der lokalen '''(.)nanorc''' eingebunden sein | ||
include "/$HOME/nano/*.nanorc" | include "/$HOME/nano/*.nanorc" | ||
==== Shellskripte unabhängig vom Dateinamen einfärben ==== | ===== 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 <code>*.sh</code> 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 <code>/usr/share/nano/sh.nanorc</code> nachlesen. | Nano färbt von sich aus Shellscripte unabhängig vom Dateinamen ein, also auch wenn die Datei nicht auf <code>*.sh</code> 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 <code>/usr/share/nano/sh.nanorc</code> nachlesen. | ||
Wird ein Shellscript nicht als solches erkannt, so kann man mit folgendem Befehl die Einfärbung mit dem Schema "sh" erzwingen: | 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] | nano -Y sh [Datei] | ||
=== Hinweis: === | ==== 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. | 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: | 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] | nano -Y none [DATEI] | ||
starten, oder zur Laufzeit mit Alt | starten, oder zur Laufzeit mit Alt + Y die Hervorhebung deaktivieren. | ||
=== 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. | |||
== Problembehebung == | === 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ü. | |||
=== 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 auzukommentieren. | 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. | ||
== Links == | 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 === | |||
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. | |||
<noinclude> | |||
== Anhang == | |||
=== Siehe auch === | |||
{{Special:PrefixIndex/nano}} | |||
==== Dokumentation ==== | |||
/usr/share/doc/nano/ | |||
===== Man-Page ===== | |||
# [[nanorc]](5) | |||
===== Info-Pages ===== | |||
==== Links ==== | |||
===== Projekt ===== | |||
# https://nano-editor.org/ | |||
===== Weblinks ===== | |||
# https://wiki.ubuntuusers.de/Nano | |||
# GitHub: serialhex/nano-highlight | |||
#: Sammlung ergänzender Konfigurationsdateien für Syntax-Highlighting | |||
[[Kategorie:Linux/Editoren]] | |||
[[Kategorie:Linux/Befehl]] | |||
</noinclude> |
Aktuelle Version vom 12. November 2024, 18:39 Uhr
nano - Einfacher Test-Editor
Beschreibung
- nano - »Nano's ANOther editor«
- Inspiriert von Pico
- 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
Aufruf
$ nano [Optionen] [[+Zeile[,Spalte]] Datei] … $ nano [Optionen] [[+[crCR](/|?)Zeichenkette] Datei] …
Optionen
Unix | GNU | Beschreibung |
---|---|---|
-A | --smarthome | macht die Pos1-Taste intelligenter.
|
-B | --backup | sichert beim Speichern einer Datei die vorherige Version mit dem Namen der aktuellen Datei, dem eine Tilde (~) angehängt wird. |
-C Verzeichnis | --backupdir=Verzeichnis | erstellt nicht nur eine Sicherungsdatei und behält diese, sondern erstellt eine eindeutig nummerierte Datei jedes Mal, wenn eine Datei gespeichert wird – sofern Sicherungen aktiviert sind (-B).
|
-D | --boldtext | verwendet für die Benutzeroberfläche Fettdruck anstelle von inversem Text.
|
-E | --tabstospaces | wandelt jeden eingegebenen Tabulator in Leerzeichen um, und zwar in die Anzahl der Leerzeichen, wie der Tabulator an dieser Position einnehmen würde. |
-F | --multibuffer | liest standardmäßig eine Datei in einen neuen Puffer ein. |
-G | --locking | aktiviert beim Bearbeiten von Dateien die Dateisperrung im Vim-Stil. |
-H | --historylog | speichert die letzten 100 Suchzeichenketten, Ersetzungszeichenketten und ausgeführten Befehle, so dass sie in späteren Sitzungen leicht wiederverwendet werden können. |
-I | --ignorercfiles |
übergeht sowohl die systemweite nanorc als auch die nanorc des Benutzers. |
-J Zahl | --guidestripe=Zahl | blendet einen Markierungsbalken in der angegebenen Spalte ein, anhand dessen Sie die Breite des Texts besser beurteilen können.
|
-K | --rawsequences | interpretiert Escape-Sequenzen direkt, anstatt sie durch ncurses übersetzen zu lassen.
|
-L | --nonewlines | fügt nicht automatisch einen Zeilenvorschub an, wenn ein Text nicht mit einem solchen endet. (Das kann dazu führen, dass Sie POSIX-inkompatible Textdateien speichern.) |
-M | --trimblanks | entfernt angehängten Leerraum beim automatischen harten Umbruch oder bei der Ausrichtung von Text vom Ende der Zeile. |
-N | --noconvert | deaktiviert die automatische Umwandlung von Dateien aus dem DOS/Mac-Format. |
-O | --bookstyle | fasst beim Ausrichten jede Zeile, die mit Leerraum beginnt, als Beginn eines Absatzes auf (außer wenn automatisches Einrücken aktiviert ist). |
-P | --positionlog | protokolliert für die 200 zuletzt bearbeiteten Dateien die letzte Position des Cursors und setzt ihn beim erneuten Öffnen der Datei wieder an diese Stelle. |
-Q "regulärer_Ausdruck" | --quotestr="regulärer_Ausdruck" |
legt den regulären Ausdruck für die Übereinstimmungsfindung für Zitate fest.
|
-R | --restricted | aktiviert den eingeschränkten Modus: Es wird nichts aus einer Datei gelesen oder in diese geschrieben, die nicht in der Befehlszeile übergeben wurde.
|
-S | --softwrap | zeigt Zeilen, die länger als die Bildschirmbreite sind, in mehreren Zeilen an (Sie können diesen fließenden Zeilenumbruch so einrichten, dass an Leerzeichen statt grob am Bildschirmrand umgebrochen wird, indem Sie auch --atblanks verwenden). (Die frühere kurze Option -$ ist nun als veraltet anzusehen.) |
-T Anzahl | --tabsize=Anzahl | setzt die Größe (Breite) von Tabulatoren auf die angegebene Anzahl Spalten.
|
-U | --quickblank | blendet die Statuszeile bereits nach einem Tastendruck anstelle von 20 aus.
|
-V | --version | gibt die Versionsnummer aus und beendet das Programm. |
-W | --wordbounds | erkennt Wortgrenzen anders, indem Interpunktionszeichen als Teil eines Wortes angesehen werden. |
-X "Zeichen" | --wordchars="Zeichen" |
gibt an, welche anderen Zeichen (neben den normalen alphanumerischen Zeichen) als Teil eines Wortes betrachtet werden sollen.
|
-Y Name | --syntax=Name | gibt den Namen der zu verwendenden Syntaxhervorhebung an.
|
-Z | --zap | bewirkt, dass durch Drücken einer unmodifizierten Rückschritt- oder Entf-Taste der markierte Bereich gelöscht wird (anstelle eines einzelnen Zeichens und ohne Auswirkung auf die Zwischenablage). |
-a | --atblanks | bricht bei aktiviertem fließendem Zeilenumbruch bei Leerräumen anstatt immer beim Erreichen des Bildschirmrandes um. |
-b | --breaklonglines | bricht die aktuelle Zeile automatisch hart um, wenn sie zu lang wird.
|
-c | --constantshow | zeigt die Cursorposition permanent in der Statuszeile an.
|
-d | --rebinddelete | interpretiert die Entf- und Rückschrittasten anders, so dass sowohl Rückschritt als auch Entf korrekt funktionieren.
|
-e | --emptyline | verwendet die Leerzeile unter der Titelleiste nicht und lässt diese leer. |
-f Datei | --rcfile=Datei | liest zum Setzen der Optionen für nano nur die angegebene Datei, anstatt sowohl die systemweite nanorc als auch die des Benutzers zu lesen. |
-g | --showcursor | macht den Cursor im Dateibrowser (indem er auf den hervorgehobenen Eintrag gesetzt wird) und im Hilfebetrachter sichtbar.
|
-h | --help | zeigt eine Zusammenfassung der verfügbaren Befehlszeilenoptionen an und beendet das Programm. |
-i | --autoindent | rückt eine neue Zeile automatisch um die gleiche Anzahl Tabulatoren und/oder Leerzeichen wie die vorhergehende Zeile ein (oder wie die nächste Zeile, wenn die vorhergehende Zeile der Anfang eines Absatzes ist). |
-j | --jumpyscrolling | rollt den Inhalt des Puffers um einen halben Bildschirminhalt statt um eine Zeile. |
-k | --cutfromcursor | bewirkt, dass der Befehl zum Ausschneiden von Text (normalerweise ^K) nur von der aktuellen Cursorposition bis zum Ende der Zeile anstatt die gesamte Zeile ausschneidet. |
-l | --linenumbers | Zeigt Zeilennummern links vom Textbereich an. (Jede Zeile mit einem Anker erhält außerdem eine Markierung im Randbereich.) |
-m | --mouse | aktiviert Mausunterstützung, falls dies auf Ihrem System verfügbar ist.
|
-n | --noread | fasst jeden in der Befehlszeile übergebenen Namen als neue Datei auf.
Es wird mit einem leeren Puffer begonnen und in die Pipe geschrieben, wenn der Benutzer die »Datei« speichert.
|
-o Verzeichnis | --operatingdir=Verzeichnis | legt das Verzeichnis fest, in dem gearbeitet werden soll.
|
-p | --preserve | erhält die Sequenzen XON und XOFF (^Q und ^S), so dass diese vom Terminal abgefangen werden. |
-q | --indicator | zeigt eine Bildlaufleiste am rechten Rand des Editorfensters an.
|
-r Anzahl | --fill=Anzahl | legt die gewünschte Breite für die Ausrichtung und den automatischen harten Zeilenumbruch auf die angegebene Anzahl Spalten fest.
|
-s "Programm [Argument …]" | --speller="Programm [Argument …]" |
gibt das für die Rechtschreibprüfung und -korrektur zu verwendende Programm an, welches statt der eingebauten Korrektur verwendet werden soll, die hunspell(1) oder spell(1) aufruft. |
-t | --saveonexit | speichert einen geänderten Puffer stets ohne Nachfrage (beim Beenden mit ^X). |
-u | --unix | speichert eine Datei standardmäßig im Unix-Format.
|
-v | --view | zeigt lediglich die Datei an und verhindert die Bearbeitung (schreibgeschützter Modus).
|
-w | --nowrap | bricht die aktuelle Zeile nicht automatisch hart um, wenn sie zu lang wird.
(--breaklonglines) – die zuletzt angegebene Option ist wirksam. |
-x | --nohelp | zeigt die zwei Hilfezeilen am unteren Rand des Bildschirms nicht an. |
-y | --afterends | bewirkt, dass »Strg+Pfeiltaste rechts« und »Strg+Entf« am Wortende anstatt am Wortanfang stoppt. |
-% | --stateflags | verwendet die obere rechte Ecke des Bildschirms zum Anzeigen einiger Statusindikatoren, wenn Folgendes aktiv ist: I bei automatischer Einrückung, M bei Markierungen, L bei hartem Umbruch überlanger Zeilen, R bei der Aufzeichnung eines Makros und S bei fließendem Zeilenumbruch.
|
-_ | --minibar | unterdrückt die Anzeige der Titelleiste und zeigt stattdessen am unteren Bildschirmrand im Bereich der Statuszeile Informationen zum aktuellen Puffer an.
|
-0 | --zero | verbirgt alle Elemente der Benutzerschnittstelle (Titelleiste, Statuszeile und Hilfezeilen) und verwendet alle Zeilen des Terminals für die Anzeige des Pufferinhalts.
|
-! | --magic | Wenn weder der Name noch die erste Zeile der Datei einen Hinweis liefert, wird versucht, die anwendbare Syntax mittels Libmagic zu bestimmen. |
Parameter
Umgebung
Rückgabewert
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.
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
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.
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.
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ü.
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 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
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.
Anhang
Siehe auch
Dokumentation
/usr/share/doc/nano/
Man-Page
- nanorc(5)
Info-Pages
Links
Projekt
Weblinks
- https://wiki.ubuntuusers.de/Nano
- GitHub: serialhex/nano-highlight
- Sammlung ergänzender Konfigurationsdateien für Syntax-Highlighting