nano – Ein Editor für Linux

Für Linux und selbstverständlich auch für weitere, UNIX basierte Systeme, gibt es zahlreiche gute Editoren: Emacs (Edit Macros) und VIM (VI Improved) sind nur die bekanntesten Vertreter. Ne (Nice Editor), Joe (Joe’s own Editor) und Jed sind einige weitere. Alle hier erwähnten Texteditoren können direkt auf der Kommandozeile genutzt werden, ohne dass eine grafische Benutzeroberfläche benötigt wird. Soll es ein Texteditor für Gnome oder KDE sein, ist die Auswahl natürlich noch bedeutend grösser. Jetzt dürfen wir auch Kate, Geany, GEdit und Atom dazuzählen.

Aber was macht einen guten Texteditor aus? Das hängt natürlich davon ab, welche Dateien damit bearbeitet werden sollen. Muss ab und zu eine Konfigurationsdatei angepasst werden, genügt ein einfacher Editor wie zum Beispiel vi, den es es schon seit 1976 gibt. Wesentlich grösser sind die Anforderungen bei Software Entwicklern: Sie möchten mehrere Dateien gleichzeitig bearbeiten, benötigen Blockoperationen und Funktionen zum Formatieren der Programme. Und das «Syntax Highlighting» für verschiedene Formalismen sollte auch nicht fehlen! Ein guter Editor muss schnell, flexibel und sicher sein. Niemand will die Änderungen einer Datei bei einem Stromausfall oder Systemabsturz verlieren! Tastenkombinationen sollten angepasst werden können und der Editor muss auch mit sehr grossen Dateien fertig werden. 

Ich verwende seit einigen Jahren einen kleinen und praktischen Editor aus dem GNU Projekt: Nano!  Wie es der Name es schon andeutet, ist Nano klein und konzentriert sich auf die wesentlichen Funktionen eines Texteditors. Man darf hier aber nicht klein mit eingeschränkt verwechseln, denn Nano bietet alles, was zum Schreiben und Bearbeiten von Programmen, Scripts oder auch HTML Dateien erforderlich ist. Gute Tutorials und Dokumentationen gibt es gleich mehrere, ich möchte deshalb hier nur auf ein paar Besonderheiten von Nano eingehen. Und weshalb ich Nano den Vorzug vor anderen, meist grösseren Editoren gebe.

Auf einigen Linux Distributionen wie z.B. Ubuntu muss Nano nicht installiert werden, der Editor gehört zum Grundsystem und kann nach der Installation der Distribution sofort genutz werden. Wer auf der Kommandozeile das Kommando nano eingibt, wird mit einer Statuszeile und einem simplen Menu am unteren Bildschirmrand begrüsst:

Nano mit einer HTML Datei, Syntax Highlighting ist aktiviert

Dies ist eine der ersten Besonderheiten, die ich an Nano mag: Neulinge werden durch mehrere Hilfestellungen durch das Programm geführt. Das zweizeilige Menu am unteren Rand passt sich dem Kontext an und mit Ctrl+g wird eine Hilfeseite eingeblendet, die alle Tastemkombinationen auflistet. Tippt man zum Beispiel Ctrl+w um einen Text zu suchen, zeigt das Menu die verschiedenen Suchoptionen an. Natürlich funktioniert Nano wie jeder andere Editor auch, die zu bearbeitende Datei kann auf der Kommandozeile mitgegeben werden oder sie wird mit Ctrl+r nachgeladen. 

Bevor man Nano das erste mal benutzt, sollte man eine Konfigurationsdatei für den Editor anlegen. Diese hört auf den gefälligen Namen .nanorc und enthält auf meinem Rechner die folgenden Einträge:

include /usr/local/share/nano/*
set tabsize 4
set autoindent
set smooth
set positionlog
set backup
set multibuffer

Die erste Zeile lädt einige Konfigurationsdateien nach, damit wird unter anderem das Syntax Highlighting für verschiedene Programmiersprachen, für XML, LaTeX und JSON ermöglicht. Da ich meist mit Perl oder PHP programmiere, beträgt die Breite eines Tabs vier Zeichen. Autoindent tut das Vermutete: Es setzt den Cursor bei einer Zeilenschaltung unter den eingerückten Block. Ohne die Anweisung smooth scrollt Nano jeweils um 5 Zeilen; ich mag es aber lieber, wenn zeilenweise gescrollt wird. Sehr praktisch ist als nächstes das Flag positionlog, hierbei merkt sich Nano beim Verlassen einer Datei die Cursorposition und stellt diese wieder her, wenn die Datei wieder geöffnet wird. 

Die beiden folgenden Schalter sollten meiner Meinung nach immer aktiviert werden: backup generiert eine Sicherungsdatei beim Speichern; Backups können an der Tilde am Ende des Dateinamens erkannt werden, zum Beispiel myproject.rc~. Und multibuffer sorgt dafür, dass Dateien, die mit Ctrl+r geladen werden, nicht in den aktuellen Text sondern in einem neuen Buffer zwischengespeichert werden. Das Wechseln zwischen den geladenen Dateien wird dann mit den Tastenkombinationen Alt+, und Alt+. (Alt+Punkt).

Apropos einrücken: Bei Python sollte nicht mit Tabs sondern mit Leerzeichen eingerückt werden, deshalb wird zusätzlich der Schalter tabstospaces aktiviert, damit Tabs automatisch in Leerzeichen umgewandelt werden. Monthy will es so :-)

Was tut Nano, wenn sich der Sysadmin ganz spontan und unerwartet dazu entschliesst, das System neu zu booten? Hier ist die Antwort:

Received SIGHUP or SIGTERM
Buffer written to myproject.py.save

Danke, Nano! Der letzte Stand der Datei befindet sich in einer Kopie, so dass nichts verloren geht. Natürlich funktioniert dies nicht immer, deshalb empfehle ich, die Arbeit ab und zu mit Ctrl+o zu sichern. 

Was ich sonst noch an Nano mag? Wie schon gesagt, ist der Editor klein, er kann auf den meisten Systemen problemlos nachinstalliert werden, wenn er nachlässigerweise noch nicht da ist. Sogar auf Windows wurde Nano portiert. Hier wird Nano zum besseren Notepad…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.