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

10/2018
Weltweiter Empfang

Diese Ausgabe als PDF kaufen

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

Stellenmarkt

Neuigkeiten

  • Physiklabor

    Der Java-Dialekt Processing zielt auf interaktive Animationen ab und eignet sich auch für Programmiernovizen.

  • Abstand halten

    Der VL53L0X misst präzise Entfernungen bis zu zwei Metern. Das macht ihn zum passenden Kandidaten für RasPi-Projekte.

  • Tux-Funk

    Der SDR-Empfänger RSP2pro von SDRplay bringt Amateurfunk auf den Raspberry Pi.

  • Himbeersieb

    Die aus Österreich stammende Upribox auf Basis des Raspberry Pi schützt wirkungsvoll vor Gefahren aus dem Internet. Jetzt ist das System in der zweiten Version erschienen.

  • Unter Kontrolle

    Das programmierbare Steuermodul Controllino bietet mit seinen zahlreichen Ein- und Ausgängen vielfältige Möglichkeiten.

  • Dehnübungen

    Ein RasPi eignet sich bestens zum Steuern eines Fischertechnik-Roboters. Damit dabei kein Chaos entsteht, gilt es, die Steuerung genau zu programmieren.

  • Klangmaschine

    Der RasPi bringt genügend Performance mit, um als kleine DAW zu dienen. Mit Waveform 9 haben Sie die passende Software zur Hand.

  • Fremdgehen

    Nicht jedes Programm gibt es auch für die ARM-Architektur. Der kommerzielle Emulator Exagear Desktop fungiert als Übersetzer zwischen der ARM- und x86-Welt.

  • Ausfallsicher

    Eine selbst gebaute USV für den RasPi verschafft Ihnen die entscheidenden Sekunden, um bei unerwarteten Stromausfällen einem Datenverlust vorzubeugen.

  • Am laufenden Band

    Die Kombination aus einem Fischertechnik-Bausatz und dem Controllino-Modul bietet eine ideale Basis, um ein funktionierendes Industriemodell zu gestalten.