micro – eine moderne Alternative zu nano
(micro-editor.github.io)- micro ist ein Texteditor für das Terminal, der so einfach wie nano starten soll, aber eine modernere und intuitivere Bedienung anstrebt
- Er wird als statisches Binary ohne Abhängigkeiten ausgeliefert, was die Installation erleichtert; offizielle Release-Downloads und eine ausführliche Installationsanleitung werden bereitgestellt
- Optionen und Key Bindings lassen sich im JSON-Format ändern; weitergehende Erweiterungen sind über Lua-Konfiguration und Plugins möglich
- Unterstützt Syntax-Highlighting für über 75 Sprachen, 7 Standard-Farbthemes, 16-/256-/truecolor-Themes, mehrere Cursor im Sublime-Stil sowie Mausbedienung
- Dank integriertem Terminal-Emulator kann man im Editor eine interaktive Shell ausführen und in einer geteilten Ansicht Code und bash nebeneinander sehen
micro als Terminal-Editor
- micro ist ein terminalbasierter Texteditor und stellt moderne, intuitive Bedienbarkeit in den Vordergrund
- Die neueste Version ist unter Download verfügbar; außerdem gibt es eine ausführliche Installationsanleitung
- Es gibt ein Drittanbieter-Pipe-to-Shell-Skript nach dem Muster
curl https://getmic.ro | bash, dieses steht jedoch nicht unter der Kontrolle von micro - Zur einfachen Installation wird micro als statisches Binary ohne Abhängigkeiten ausgeliefert
-
Konfiguration und Erweiterung
- Für Optionskonfiguration und das Neubelegen von Tasten wird ein einfaches JSON-Format verwendet
- Wenn stärkere Konfigurationsmöglichkeiten benötigt werden, kann Lua verwendet werden
- Plugins werden in Lua geschrieben; ein Plugin-Manager übernimmt automatisches Herunterladen und Installieren
-
Bearbeitungsfunktionen
- Unterstützt Syntax-Highlighting für über 75 Sprachen
- Bietet 7 Standard-Farbthemes
- 16-Farben-, 256-Farben- und truecolor-Themes können verwendet werden
- Unterstützt mehrere Cursor im Sublime-Stil
- Key Bindings können in
bindings.jsongeändert werden
-
Maus und integriertes Terminal
- Text kann per Klicken und Ziehen ausgewählt werden
- Doppelklick dient zur wortweisen Auswahl, Dreifachklick zur zeilenweisen Auswahl
- In micro kann eine echte interaktive Shell ausgeführt werden
- In einer geteilten Ansicht kann auf einer Seite Code und auf der anderen bash angezeigt werden
- Die vollständige Funktionsliste findet sich in der GitHub-Funktionsliste und in der Online-Hilfe
Projekt und Community
- Bugs können über den GitHub-Issue-Tracker gemeldet werden; auch Fragen und Vorschläge für neue Funktionen sind möglich
- Pull Requests werden angenommen
- Informelle Diskussionen über den Editor sind im Gitter-Chat möglich
- Relevante Links:
- Nutzerreaktionen umfassen Einschätzungen wie ein schlicht funktionierender Editor, Mausunterstützung und die Möglichkeit, ihn statt nano oder Vim zu verwenden
1 Kommentare
Meinungen auf Hacker News
Wenn ich in einem Kurs, in dem alle Anfänger sind, Kommandozeilen-Programmierung unterrichte, empfehle ich den Studierenden nano.
Der größte Vorteil von nano für diese Nutzer ist, dass alle Befehle unten auf dem Bildschirm angezeigt werden; ich war überrascht, dass micro das nicht hat.
Unten auf dem Bildschirm gibt es auch Hinweise, dass man mit Alt+G die Tastenkürzel und mit Ctrl+G die Hilfe anzeigen kann.
In dieser Hinsicht ist es für Studierende wohl weiterhin richtig, nano zu empfehlen; micro passt eher zu Leuten, die nach dem Lernen mit nano mehr Funktionen oder eine bessere UI wollen.
Es scheint auch eine Art Kommentar-Modus zu geben.
Ich habe über 10 Jahre lang Emacs verwendet und nutze jetzt micro als meinen Haupt-Code-Editor. Nur für das Schreiben von Coq verwende ich ausnahmsweise vscode.
Ich sehe micro als modernen Kompromiss in Richtung acme; es hat fast alle Funktionen, die die Kernideen von acme unterstützen. Um diese Richtung zu nutzen, habe ich auch ein Plugin geschrieben: https://github.com/xxuejie/micro-acme
Bisher passt es perfekt.
Ich wünschte, andere Editoren würden ebenfalls der Konvention folgen, mit Tab die korrekte Einrückung zu erzwingen.
https://github.com/zyedidia/micro/tags
Inzwischen habe ich Micro so angepasst, dass es sich nach Acme anfühlt.
Ich wusste gar nicht, dass es Leute gibt, die nano als Haupt-Code-Editor verwenden. Auf *nix-Servern, an denen ich arbeite, nutze ich ihn ständig, wahrscheinlich zehntausende Male.
Ich habe lange als Linux/BSD-Engineer gearbeitet, und manche Stellen haben sich geweigert, nano auf Servern zu installieren. Es gibt alteingesessene Linux-Administratoren, die außer vi absolut nichts zulassen, und ich verstehe das nicht. Es ist ein 20-MB-Paket, und die Angriffsfläche ist auch nicht besonders groß.
Ich muss immer lachen, wenn man jemanden aus der früheren Generation fragt, welche Systeme er betrieben hat, und er prahlerisch erzählt, er sei für die gesamte IT-Abteilung seiner lokalen Verwaltung zuständig gewesen, in einer recht großen Stadt mit mindestens etwa 500 Nutzern.
Ich bin mir zu 105 % sicher, dass dieses System das sicherste im ganzen County gewesen sein dürfte, aber zugleich war es wohl ein unbenutzbares System. Wenn diese Person in Rente geht oder jemand im Büro sie aus Verzweiflung entfernt, hoffe ich, dass sie durch einen modernen Engineer ersetzt wird, der sich zwar vielleicht nicht mit vi auskennt, aber wenigstens ein bisschen um die Nutzer kümmert. Natürlich sind wir auch Engineers, also kümmern wir uns nicht allzu sehr.
Wenn man als *nix-Techniker arbeitet, kann es sein, dass man mit Systemen wie QNX, HP-UX, SGI-Altix-Supercomputern oder Sun Ultra 2 zu tun hat. Linux war dank Paketverwaltung für freie/Open-Source-Software einfach, und bevor nano populär wurde, war es auch üblich, dass Emacs in der Standardkonfiguration enthalten war.
Manchmal gab es Terminal-Probleme, sodass man nur eine einzige Zeile sehen konnte; dann musste man vi blind bedienen oder sed/awk verwenden. Vielleicht ist deshalb dieser KISS-Instinkt geblieben, allen vi beibringen zu wollen. Ich habe es auch so gelernt.
Ein einzelner Editor schafft zwar keine große Angriffsfläche, aber ich schließe nicht aus, dass Angreifer Plugin-Funktionen als Mittel zur Persistenz missbrauchen könnten. Wenn er als root ausgeführt wird, verhält er sich wohl anders, bei Service-Accounts aber möglicherweise nicht.
https://packages.ubuntu.com/jammy/nano
Damals war ich sauer, aber heute bin ich froh über den Wechsel. Vim oder vi ist überall, sogar auf den Switches und Routern, an denen ich arbeite. nano ist nicht überall vorhanden und lässt sich auch nicht überall leicht hinzufügen.
Wenn ich mich nicht regelmäßig per SSH auf alte oder ressourcenarme Hardware einloggen würde, hätte ich den Vorteil vermutlich weniger gespürt.
Allerdings ist die Wahl eines Texteditors eine sehr persönliche Sache. Es ergibt überhaupt keinen Sinn, jemanden dazu zu zwingen, einen bestimmten Editor zu benutzen oder nicht zu benutzen. Man sollte die Leute einfach verwenden lassen, was sie mögen.
JOE ist ziemlich gut: https://joe-editor.sourceforge.io/
Eine Mischung aus WordStar und Emacs; wenn man ihn als
jstarstartet, bietet er ein ziemlich authentisches WordStar-Erlebnis und hat zugleich noch etwas vom Flair der frühen Borland-Turbo-IDEs.Ich habe sogar einen Artikel darüber geschrieben, wie man die WordStar-Diamond-Tasten unter Linux nutzt: https://benhoyt.com/writings/wordstar-diamond/
Später nutzte ich auch QEdit, das sich auf WordStar-Tastenbelegung konfigurieren ließ.
Als ich Anfang der 90er von DOS zu Unix wechselte, war ich froh, JOE zu entdecken. Es ist das erste Programm, das ich auf einer neuen Linux- oder *BSD-Maschine bzw. VM installiere.
Heutzutage hat JOE Syntax-Highlighting und viele gute Funktionen, sodass ich nie das Bedürfnis hatte, in vi oder emacs wirklich fit zu werden.
Für Code war er nicht besonders gut, weil er eher dem Textverarbeitungsmodell folgte, etwa mit automatischem Zeilenumbruch und fehlendem Syntax-Highlighting.
Aber zum Schreiben von Textdokumenten war er ein liebenswerter kleiner Editor.
Vielleicht habe ich es nur nicht gefunden, aber ich sehe es wirklich nicht.
jmacsund nutze dann das Set von Emacs-Tastenkürzeln.Ich mag micro und nutze es täglich.
Allerdings habe ich nach dem Ausprobieren von Helix den Wunsch, micro in einer Form mit eingebautem treesitter, LSP und kontextbezogener Hilfe zu haben. Helix hat dieses Funktionspaket wirklich gut umgesetzt, aber „ein Modus + Befehle“ und das Muskelgedächtnis für Strg-C/Strg-V sind so bequem, dass mir der Umstieg schwerfällt.
Ich verstehe nicht, warum es immer noch Software gibt, die einen auffordert, für etwas aus dem Internet Heruntergeladenes sudo auszuführen.
Es gibt einfachere, sicherere Optionen mit kleinerem Installationsumfang, die in allen Distributionen integriert sind – warum sollte man solche Skripte verwenden lassen?
Zum Vergleich: Das micro-Paket von Alpine ist nach der Installation 4 MB groß, während das statisch kompilierte Binary von GitHub 11 MB hat. Das Paket aus dem Repository zu verwenden, wirkt für mich mehr im Sinne von micro.
Unter https://github.com/zyedidia/micro#quick-install-script ist das Schnellinstallationsskript
curl https://getmic.ro | bash, und das Skript legt das micro-Binary im aktuellen Verzeichnis ab.Danach kann man es, wenn man möchte, in ein Verzeichnis im Pfad verschieben; als Beispiel wird
sudo mv micro /usr/bingenannt. Es weist nur darauf hin, dass man sudo braucht, wenn man es nach/usr/binverschieben will – ich frage mich, ob das wirklich ein Problem ist.(ba)shzu pipen, ist völlig unverantwortlich.Ich bin auch die lächerliche Rechtfertigung „das machen doch alle so“ leid.
Ich möchte Anwendungen direkt vom Entwickler beziehen. So kann ich sicherstellen, dass ich die offiziell unterstützte Version nutze und niemand am Code herumgepfuscht hat.
Wenn ich dem Anwendungsentwickler nicht vertraue, installiere ich die Anwendung einfach nicht.
Ich dachte, Nano sei die moderne Alternative zu Pico.
Ich frage mich, warum man sich für solche kleinen Editoren interessiert
Der einzige Grund, vi/vim zu benutzen, ist, dass es überall vorhanden ist. Wenn ich einen Editor installiere, würde ich Emacs installieren
Bei Remote-Systemen öffne ich Dateien per tramp über SSH und behalte so die volle Leistung und Geschwindigkeit meines lokalen Emacs. Für Terminal-UI-Bearbeitung wie sudoedit, git commit oder C-x C-e lasse ich Emacs als Daemon laufen, daher erscheinen neue Frames und Terminal-Frames sofort; inklusive Nerd Font und Farben ist es fast identisch mit der Emacs-GUI, und es ist buchstäblich Emacs
Es ist nicht nötig, für verschiedene Zwecke mehrere Editoren zu haben
Emacs war für mich attraktiver, und wenn ich mich per ssh auf ein leistungsschwaches Gerät wie einen Router mit OpenWRT verbinde, gibt es dort kein Emacs, also nutze ich unter den verfügbaren Editoren Nano, der mir intuitiv erscheint
Ich weiß, dass man auch Emacs und TRAMP verwenden könnte, aber jeder entwickelt seinen eigenen Workflow. Ich will vi nicht schlechtreden; es ist ein bekanntes Phänomen, dass manche Hacker mit vi nie warm werden
Manche wollen einfach nur schnell eine Datei ändern
Es lässt sich mit dem Wissen nutzen, das man bereits aus Windows Notepad oder Mac SimpleText hat, und funktioniert auch in Situationen, in denen auf einer kaputten Maschine oder einem Server nur eine Unix-Konsole verfügbar ist
An kleinen Editoren wie nano habe ich allerdings großes Interesse. Der Grund steht in diesem Root-Kommentar: https://news.ycombinator.com/item?id=37173126
Auch der erste Absatz hier ist lesenswert: https://linuxize.com/post/how-to-use-nano-text-editor/
Für heutige Systemadministratoren, die nicht mit vi oder vim aufgewachsen sind und sich auch nicht für das emacs-Lager entschieden haben, ist es eine höfliche Entscheidung, nano in Massen-Deployment-Images aufzunehmen
Ich bearbeite remote auch nicht oft etwas, und meistens sind es nur einfache Konfigurationsdateien
Ich habe micro ausprobiert und mochte es, aber auf dem Pi war es nicht sofort verfügbar, und ich mache in einem Kommandozeilen-Editor keine so großen Arbeiten, dass ich die Funktionen unbedingt bräuchte
Normalerweise bevorzuge ich vim, aber der Aufwand, eine gute Konfiguration auf Zielsysteme zu verteilen, ist zu groß
Das Problem, das ich mit micro hatte, war formatiertes Einfügen
Wenn ich Code-Schnipsel einfügte, versuchte micro, jede Zeile einzurücken; weil es aber den Gesamtkontext nicht kannte, wurde die Einrückung des eingefügten Textes immer tiefer, praktisch endlos
Da es pro Zeile die Formatierung ableitete, wurde der Vorgang außerdem fast bis zum Stillstand langsam. Statt einzufügen und eine Szene wie aus Matrix zu beobachten, ging man sich Kaffee holen
Ich hoffe, das ist behoben, aber an diesem Punkt bin ich ausgestiegen. Wenn es behoben ist, könnte ich es noch einmal versuchen
set autoindent offhttps://github.com/zyedidia/micro/blob/master/runtime/help/o...
Trotzdem sollte auch im aktivierten Zustand beim Einfügen eines ganzen Blocks korrekt eingerückt werden
Wenn du Einstellungen, Umgebung und Konfiguration teilst, könnte ich versuchen, einen Patch zu erstellen
Es hängt davon ab, wie eingefügt wird. Ich bin mir nicht zu 100 % sicher, wie es genau funktioniert, aber micro scheint das Einfügen direkt mit xclip neu zu implementieren, und ich weiß nicht, was es unter Windows macht
Wenn man mit Ctrl+V einfügt, wird der Inhalt der Zwischenablage sofort als Block eingefügt und die ursprüngliche Einrückung übernommen. Wenn man Ctrl+Shift+V verwendet, wird das in manchen Fällen so behandelt, als würde die Zwischenablage zeichenweise aus dem Terminal hereinkommen; sieht es ein Return-Zeichen, ohne das nächste Zeichen zu kennen, fügt es zusätzliche Einrückung ein und legt dann naiv noch ein paar Tabs obendrauf
Von 14 anderen Einreichungen hatte der Beitrag von 2020 103 Kommentare und der von 2021 162 Kommentare
[0]: https://news.ycombinator.com/item?id=23334190
[1]: https://news.ycombinator.com/item?id=29128702