Konsolenbasierter Texteditor Micro

© Liligraphie, 123RF

Smarter Schreiberling

Gerade kleine Texteditoren für die Konsole verfügen oft über erstaunlich umfangreiche Fähigkeiten – da macht Micro keine Ausnahme.

Schlanke Texteditoren für die Kommandozeile erfreuen sich vor allem bei Administratoren großer Beliebtheit, etwa zum Editieren der /etc/fstab, aber auch zum schnellen Schreiben einfacher Texte. Neben Nano gibt es mit Micro [1] einen weiteren Vertreter dieser recht speziellen Programme, der eine genauere Betrachtung verdient. Da er keine Abhängigkeiten benötigt, lässt sich der Texteditor einfach installieren und unkompliziert konfigurieren.

Micro vermag mehrere Dateien gleichzeitig zu bearbeiten und bietet eine Syntaxhervorhebung für viele Sprachen sowie ein gutes, mehrstufiges Undo. Daneben unterstützt Micro Unicode und ermöglicht den Einsatz komplexer Makros ebenso wie Linting und automatische Fehlersuche für Programmquelltexte. Weitere Funktionen lassen sich über in Lua geschriebene Plugins schnell hinzufügen.

Micro steht für alle gängigen Plattformen auf der Webseite des Projekts zum Herunterladen bereit. Eine Installation im klassischen Sinne erfordert Micro nicht. Es genügt, den passenden Tarball micro-1.4.0-linux-arm.tar.gz von der Github-Seite herunterzuladen, ihn zu entpacken und das darin enthaltene Binary micro ins Verzeichnis /usr/bin/ zu kopieren, womit der Editor für alle Anwender bereitsteht.

Um mit Micro die Zwischenablage des X-Window-Systems zu nutzen, muss Xclip [2] installiert sein, das alle gängigen Distributionen in ihren Repositories anbieten.

Besonderes

Micro entstand als Weiterentwicklung von Nano. Daher verfügt er über die wesentlichen Features seines Vorgängers, die er um einige recht angenehme Funktionen erweitert. So bearbeitet Nano beispielsweise keine Datenströme aus dem Standardeingabekanal, was jedoch in vielen Fällen wünschenswert wäre, etwa beim Weiterverarbeiten von Fehlermeldungen. Micro erledigt diese Aufgabe ohne besondere Vorkehrungen: Der Aufruf dmesg | tail | micro beispielsweise öffnet das Editorfenster mit den letzten zehn Zeilen von Dmesg (Abbildung 1).

Abbildung 1: Cooles Feature: Der Texteditor Micro verarbeitet Eingaben via STDIN wie normale Dateien.

Ein ausgesprochen wichtiges Feature stellt der von Emacs abgeschaute Kommandoprompt dar: Er ermöglicht, direkt editorinterne Befehle auszuführen, die sich darüber hinaus auch noch automatisch komplettieren lassen. Dazu öffnen Sie mit [Strg]+[E] das Eingabefenster am unteren Fensterrand. Geben Sie dort beispielsweise he ein, lässt sich das mit einem Druck auf den Tabulator zu help ergänzen. Ein beherzter Druck auf die Eingabetaste öffnet dann die Übersichtsseite der Hilfe (Abbildung 2).

Abbildung 2: Oben: Die integrierte Hilfe beginnt mit einer Übersichtsseite. Unten: Für bestimmte Stichworte gibt es zusätzliche Hilfstexte, etwa für die voreingestellten Tastenbindungen.

Der Befehl help commands fördert eine Zusammenstellung aller verfügbaren internen Befehle von Micro zutage. Eine komplette Übersicht der voreingestellten Tastenbindungen erhalten Sie mit help defaultkeys. Alle Tastenbindungen lassen sich in der Datei ~/.config/micro/bindings.json überschreiben oder ergänzen, die Sie gegebenenfalls erst einmal anlegen müssen. Wie Sie dann die Tastenbindungen definieren, zeigt das Micro-Kommando help keybindings. Die Standardbelegung fasst die Tabelle "Wichtige Shortcuts" zusammen.

Wichtige Shortcuts

Tastenbindung

Wirkung

[Strg]+[A]

alles auswählen

[Strg]+[D]

Zeile duplizieren

[Strg]+[E]

interne Befehle eingeben

[Strg]+[F]

suchen

[Alt]+[G]

Tastenmenü anzeigen

[Strg]+[G]

Hilfe

[Strg]+[K]

Zeile löschen

[Strg]+[Q]

beenden

[Strg]+[S]

speichern

[Strg]+[T]

neuer Tab

[Strg]+[O]

Buffer öffnen

[Strg]+[W]

nächster Puffer

[Strg]+[Y]

Redo

[Strg]+[Z]

Undo

Pfeiltasten

Bewegen im Puffer

[Umschalt]+Pfeiltasten

Bewegen im Puffer mit Auswahl

Auch mehrere Dateien lassen sich beim Micro gleichzeitig und nebeneinander laden. Jede davon hält das Tool in einem Puffer und zeigt sie an. Zum einen lassen sich in einem Fenster mehrere Puffer anzeigen, zum anderen bietet die Applikation auch die Ansicht in sogenannten Tabs an. Dabei handelt es sich jedoch nicht um Reiter, sondern um jeweils separate Fensteransichten.

Für die Ein- und Ausgaben verwendet das Programm die Bibliothek Tcell [3]. Sie erlaubt unter anderem das Verwenden der Maus auch im Terminal und kommt beim Verarbeiten von Unicode-Zeichen zum Einsatz. Die durch diese Library bereitgestellte Mausunterstützung fällt recht umfangreich aus: Neben dem Platzieren des Cursors erlaubt sie auch die Textauswahl mit Doppel- oder Dreifachklick sowie durch Ziehen bei gehaltener Maustaste.

Plugins und Tastenbindungen

Eine wichtige Erweiterung von Micro gegenüber dem Nano besteht in der Möglichkeit, Plugins zu verwenden oder selbst zu schreiben, die komplexe Formatierungen oder andere Bearbeitungen erlauben. Dabei kommt die Programmiersprache Lua zum Einsatz, die sich einfach erlernen lässt und deren schlanker Interpreter recht schnell arbeitet.

Im Plugin-Channel [4] von Micro finden Sie etliche interessante Erweiterungen wie beispielsweise Textschnipsel, einen Dateimanager, eine Rechtschreibprüfung und ein Tool für automatische Textformatierungen. Sie lassen sich über den eingebauten Plugin-Manager des Editors einrichten, indem Sie mit [Strg]+[E] in den Kommandomodus wechseln und plugin install Name eingeben. Nach einem Neustart des Editors steht die Erweiterung zum Einsatz bereit.

Tastenbindungen erzeugt der Editor mit dem internen Befehl bind. Um sie zu nutzen, öffnen Sie mit [Strg]+[E] die Befehlsschnittstelle und definieren mittels bind Taste Aktion eine neue Tastenbindung. Das Kommando unbind löscht sie bei Bedarf wieder. Welche Aktionen Micro in dieser Hinsicht erlaubt, verrät die Hilfe im Bereich help keybindings im Abschnitt ## Bindable actions and bindable keys. Die oben in der init.lua definierte Funktion gorun beispielsweise lässt sich mit folgendem Befehl an die Tastaturkombination [Ctrl]+[R] binden:

BindKey("CtrlR", "init.gorun")

Analog zu Nanon kennt die Software auch Tastenmakros. Die Funktion ToggleMacro (Voreinstellung: [Strg]+[U]) startet beziehungsweise beendet das Aufzeichnen eines Makros, das sich anschließend durch PlayMacro ([Strg]+[J]) abspielen lässt.

Alle Konfigurationsdateien legt Micro unter ~/.config/micro/ ab. So enthält settings.json wesentliche Voreinstellungen. Diese Datei lässt sich auch mit Micro bearbeiten, wobei die Syntaxhervorhebung hilft, Schreibfehler zu vermeiden. Im interaktiven Modus ([Strg]+[E]) veränderte Einstellungen speichert Micro beim Beenden automatisch in dieser Datei.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Aktuelle Ausgabe

12/2018
Coole Projekte

Diese Ausgabe als PDF kaufen

Preis € 7,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Bytes und Beats

    In Sonic Pi können Sie mit wenigen Codezeilen Klänge manipulieren, Beats zusammenstellen und ganze Songs komponieren.

  • Klein, aber fein

  • Trick or treat

    Das traditionelle RPG-Gruselkabinett glänzt dieses Jahr mit einer innovativen Umsetzung mittels Pneumatik und Elektropneumatik sowie ST-Programmierung.

  • Unter Kontrolle

    Traditionell stellen wir alljährlich ein selbst gebautes Halloween-Gespenst vor. Die pneumatischen und elektronischen Grundlagen erklärt dieser Artikel.

  • Go Pi Go!

    Der Bausatz GoPiGo3 liefert Bauteile und Software für ein kleines Roboterauto. Zusammen mit einem RasPi als Gehirn programmieren Sie den Roboter per Mausklick.

  • Handlicher Helfer

    Während die Folien der Präsentation durchlaufen, liefert ein kleiner Dokumentenserver auf Basis des GL-AR300M-ext zusätzliche Informationen aus.

  • Wiederverwertet

    Mithilfe eines einfachen Python-Programms recyceln Sie ein ausgedientes Smartphone als drahtlos angebundenes RasPi-Display.

  • Herzenssache

    Steigt beim Krimi der Herzschlag bedrohlich an? Mit einem Pulsmesser in Eigenbau ermitteln Sie einfach und kostengünstig, ob der Herzschlag noch in verträglichen Bereichen liegt.

  • Fernbedient

    Mit der Fernbedienung den RasPi steuern. In der Theorie möglich, in der Praxis oft beschwerlich. Die Libcec liefert praktische Tools zur Fehlersuche.

  • Musikwürfel

    Mit Musikcube machen Sie Ihre eigene Sammlung fit fürs Streamen. Der terminalbasierte Audioplayer lässt sich Fernsteuern und bietet eine App für Android-Smartphones.