Texteditor Nano mit eigenen Tastenkombinationen ausstatten

Aus LinuxUser 02/2018

Texteditor Nano mit eigenen Tastenkombinationen ausstatten

© Alekss, 123RF

Kleiner Spezialist

Der Editor Nano ist zwar einfach zu bedienen, verwendet aber ungewohnte Tastenkürzel. Die Shortcuts lassen sich erfreulicherweise einfach anpassen.

Editoren gehören wie Shells zu den ältesten interaktiven Programmen auf Computern. Jede gängige Distribution stellt bis heute aus gutem Grund eine ganze Reihe solcher Programme bereit, wobei terminalbasierte Editoren wie Nano einen besonderen Stellenwert genießen.

Bootet etwa das System nicht, weil sich die Bezeichnungen von Festplatten geändert haben und nicht mehr mit denen übereinstimmen, die in der Datei /etc/fstab eingetragen sind, so bieten die meisten Systeme einen speziellen Modus zum Beheben des Fehlers an. Darin verfügt das System gewöhnlich noch über keine grafische Oberfläche, sodass die Programme, die darauf aufsetzen, noch nicht bereitstehen. Wohl dem, der dann über einen Vim oder Emacs verfügt, der sowohl auf der grafischen Oberfläche als auch im Terminal läuft. Mit einem solchen Editor korrigieren Sie die entsprechenden Einträge schnell oder kommentieren zumindest Überflüssiges aus, sodass das System wieder bootet.

Allerdings empfinden viele Anwender Programme wie der Alleskönner Emacs als zu komplex oder zu umfangreich für einfache Aufgaben. Hier erweist sich ein möglichst schlanker Editor als die bessere Wahl. Lange Zeit zählte der zum Mailprogramm Pine gehörende Texteditor Pico zu den beliebtesten Programmen dieser Art. Er ist klein, schnell, sehr einfach in der Anwendung und dennoch ausreichend komplex, um regelmäßig anfallende Arbeiten zu erledigen. Allerdings ließ es eine neue Lizenz nicht mehr zu, diese Software weiter frei auf beliebigen Systemen einzusetzen.

Funktionswunder Nano

Als Antwort auf diese Situation riefen einige Entwickler den unter der GPL-Lizenz stehenden Texteditor Nano [1] ins Leben. In den letzten Jahren haben die Entwickler die Arbeit am Editor konsequent fortgesetzt, ohne dass die Größe des Programms oder die Abhängigkeiten zu Bibliotheken stark angestiegen wären. So kommt es, dass Nano neben einem recht guten Syntax-Highlighting über eine Reihe Funktionen verfügt, die man aufgrund der geringen Größe nicht erwarten würde, wie eine rudimentäre Unterstützung für Eingaben per Maus oder die Integration einer externen Rechtschreibprüfung. Die beim Programmieren ausgesprochen nützliche Möglichkeit, passende Klammern zu finden, bietet der Editor ebenfalls an.

Darüber hinaus verfügt Nano seit der Version 2.9 über Tastaturmakros, die Sie bei Bedarf an beliebiger Stelle in einer Datei aufrufen. Da Sie den Editor ohnehin quasi ausschließlich über Tasten bedienen (siehe Tabelle “Tastenbindungen”), integrieren sich diese nahtlos in den Arbeitsablauf. Die Möglichkeiten der Makros erweisen sich jedoch als begrenzt: So erlauben sie es derzeit nicht, Fallunterscheidungen oder Bedingungen einzubauen.

Taste

Funktion

[Strg]+[G]

Online-Hilfe anzeigen

[Strg]+[X]

Puffer schließen, Nano beenden

[Strg]+[O]

Datei speichern

[Strg]+[R]

Datei in den aktuellen Puffer einfügen

[Strg]+[W]

nach Zeichenkette oder regulärem Ausdruck suchen

[Strg]+[AltGr]+[ß]

Zeichenkette oder regulären Ausdruck ersetzen

[Strg]+[K]

Zeile ausschneiden und in die Zwischenablage einfügen

[Strg]+[U]

Inhalt der Zwischenablage einfügen

[Strg]+[J] / [Meta]+[J]

Absatz / Puffer ausrichten

[Strg]+[T]

Rechtschreibprüfung

[Meta]+[U] / [Meta]+[E]

rückgängig machen / wiederholen

[Meta]+[AltGr]+[**9**]

zur passenden Klammer springen

[Strg]+[Leer]

Wort vorwärts

[Pos1]+ / [Ende]

Anfang / Ende der aktuellen Zeile

[Meta]+[-] / [Meta]+[+]

nach oben / unten scrollen, ohne den Cursor zu bewegen

[Meta]+[AltGr]+[ß] / [Meta]+[Umschalt]+[**7**]

zum Anfang/Ende der Datei

[Meta]+[<] / [Meta]+[Umschalt]+[<]

Puffer umschalten

[Strg]+[Meta]+[Eingabe]

Zeilenumbruch einfügen

[Meta]+[T]

zum Dateiende ausschneiden

[Meta]+[AltGr]+[**0**] / [Meta]+[AltGr]+[**7**]

aktuelle Zeile einrücken / ausrücken

[Strg]+[S]

ohne Nachfrage speichern

[Meta]+[Umschalt]+[.]

Makroaufzeichnung starten/stoppen

[Meta]+[Umschalt]+[,]

Makro ausführen

[Meta]+[C]

Anzeige der Cursorposition umschalten

[Meta]+[#]

Zeilennummerierung umschalten

[Meta]+[P]

Leerraumanzeige umschalten

[Meta]+[Y]

Syntax-Highlighting umschalten

TIPP

Um Nano als Standardeditor für die Konsole voreinzustellen, setzen Sie in der .bashrc die beiden Umgebungsvariablen EDITOR und VISUAL entsprechend (Listing 1).

Listing 1

export EDITOR=nano
export VISUAL=nano

Makros erzeugen

Durch [Meta]+[Umschalt]+[.] starten und beenden Sie die Definition eines Makros. Mittels [Meta]+[Umschalt]+[,] rufen Sie das so definierte Makro an der aktuellen Position des Cursors auf und führen es aus. Denken Sie jedoch daran, dass die Makros an beliebiger Position im Text unter Umständen nicht den gewünschten Effekt haben. Um dem vorzubeugen, sollten Sie etwa beim Ersetzen von Text im Makro zunächst an den Zeilenanfang springen und dann die Aktion anstoßen, um von einer definierten Situation auszugehen.

Zum Einrücken und Auskommentieren von Textzeilen springen Sie zunächst in die erste Spalte der aktuellen Zeile und fügen anschließend Tabulatoren, Leer- oder Kommentarzeichen ein. Dazu starten Sie mit [Meta]+[Umschalt]+[.] das Aufzeichnen des Makros. Über [Pos1]+ springen Sie in die erste Spalte und fügen dort über [Tab]+ einen Tabulator ein. Anschließend gehen Sie durch [Pfeil-unten]+ eine Zeile nach unten und springen mit [Pos1] wieder in die erste Spalte. Dann beenden Sie wie beschrieben das Aufzeichnen.

Als [Meta]+ verwendet Linux bei einer deutscher Tastenbelegung die linke [Alt]+-Taste. Wie bei Emacs können Sie alternativ zur Makro-Bearbeitung auch zuerst [Esc] und anschließend [Umschalt]+[.] beziehungsweise [Umschalt]+[,] betätigen. In jedem Fall meldet der Editor in der Statuszeile den Start ([ Makro wird aufgezeichnet … ]) beziehungsweise das Ende der Makro-Definition ([ Aufzeichnung gestoppt ]).

Shortcuts konfigurieren

Nano nutzt die Datei /etc/nanorc zur globalen Konfiguration. Eine benutzerspezifische Datei im Home-Verzeichnis (~/.nanorc oder ~/.config/nano/nanorc) überschreibt gegebenenfalls die globalen Parameter. Die globale Konfigurationsdatei – in den Quelltexten unter ./doc/sample.nanorc zu finden – haben die Entwickler vorbildlich dokumentiert, sie lässt sich leicht lesen.

Zur Definition von Tastenbindungen modifizieren Sie je nach Einsatzzweck die globale oder benutzerspezifische Konfiguration. Um sicher eine neue Kombination zu erzeugen, löschen Sie zunächst mithilfe von unbind eine möglicherweise bereits bestehende Bindung über eine Zeile folgender Form:

unbind ^Z main

Der Ausdruck main bezieht sich dabei auf das Menü am unteren Fensterrand, in dem die Software diese Tastenbindung zeigt. Das Caret-Zeichen (^) bezeichnet hier [Strg]. Anschließend ordnen Sie die Tastenkombination neu zu:

bind ^Z undo main

Wieder bewirkt main, dass ab jetzt im Hauptmenü bei Rückgängig anstelle von M-U die Zuordnung ^Z erscheint. Über bind ^Y redo main binden Sie das Wiederholen an das an Gimp angelehnte Tastenkürzel [Strg]+[Y]. Die zuvor an [Strg]+[Z] gebundene Funktion suspend ordnen Sie nun noch neu zu, etwa an [Meta]+[Z]:

bind M-Z suspend main

Die Tastenkürzel und Konzepte des Editors orientieren sich insgesamt lose an denen von Emacs. Sie haben mit den hier beschriebenen Funktionen bind und unbind die entsprechenden Möglichkeiten, dies auszubauen oder ganz andere Tastenkürzel zu verwenden.

Weitere Möglichkeiten

Es gibt einige weitere, interessante Möglichkeiten, um den Editor zu konfigurieren. So bewirkt set historylog etwa, dass die Suchfunktion ihre aktuelle Position zwischen den Sitzungen nicht vergisst. Die bereits erwähnt Rechtschreibprüfung stellen Sie in einer für deutsche Texte sinnvollen Weise wie folgt in der Konfiguration ein:

set speller "aspell -x -c -d de"

Bei der Suche in den geladenen Texten unterstützt das Programm zwei Varianten von regulären Ausdrücken: normale und erweiterte reguläre Ausdrücke. Um Letztere einzusetzen, schreiben Sie Folgendes in die Konfigurationsdatei:

set regexp

Reguläre Ausdrücke kommen vor allem bei der normalen Suche zum Einsatz. Sie dienen aber auch zum Ermitteln der Muster für das Syntax-Highlighting. Diese Art der Verwendung verdient einen näheren Blick. Dabei definiert ein als regulärer Ausdruck angegebenes Muster die durch eine Vorder- und Hintergrundfarbe zu markierenden Texte. Die Syntax dazu gestaltet sich erfreulich unkompliziert:

color Vordergrund,Hintergrund "Muster"

Die entsprechenden Ausdrücke sammeln Sie entweder direkt in der Konfigurationsdatei oder lagern sie zur besseren Übersicht in externe Dateien mit der Namensendung .nanorc aus. Mittels include Datei.nanorc binden Sie Letztere in der Konfiguration ein, sodass der Editor die dort enthaltenen Kommandos auswerten kann.

Die gängigen Distributionen stellen typischerweise unter /usr/share/nano/ bereits vorgefertigte Definitionen für eine Reihe von Programmiersprachen bereit. Sie aktivieren diese durch den Eintrag include /usr/share/nano/*nanorc in der Konfiguration (Abbildung 1).

Abbildung 1: Das Syntax-Highlighting des Editors ist einfach und funktioniert effektiv. Bei Bedarf verbessern Sie es mit entsprechenden Mustern. Die letzte Zeile bindet die vorhandenen Definitionen ein.

Abbildung 1: Das Syntax-Highlighting des Editors ist einfach und funktioniert effektiv. Bei Bedarf verbessern Sie es mit entsprechenden Mustern. Die letzte Zeile bindet die vorhandenen Definitionen ein.

Die bei der Installation bereitgestellten Definitionen beschränken sich aufs Wesentlichste und weisen einen Umfang von maximal 4 KByte auf. Inzwischen haben fleißige Nano-Anwender neue, erweiterte Highlighting-Dateien gestrickt, die zusätzliche Features bereitstellen [3]. Die Manpage beschreibt unter SYNTAX HIGHLIGHTING noch einige zusätzliche Möglichkeiten für die Hervorhebungen.

Fazit

Der kleine Editor Nano macht sich gut – es ist schon erstaunlich, was sich auf gerade 240 KByte Umfang so alles unterbringen lässt. Mit ein wenig Handarbeit passen Sie ihn zudem ohne große Umstände an Ihre persönlichen Bedürfnisse und Vorlieben an. 

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 02/2018 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben