Schlagwort-Archive: Editor

Tipps für Linux-Editoren

Ob Samba, SSH, Terminal, Fstab oder Desktop-Verknüpfungen: Für die Linux-Konfiguration sind überwiegend Textdateien zuständig, die zur Bearbeitung einen tauglichen Texteditor erfordern. Wir nehmen vier Editoren genauer unter die Lupe.

Bei der Administration von Linux-Rechnern sind Texteditoren die wichtigsten Werkzeuge. Am Desktop sind grafische Editoren wie Gedit und Kate sicher die bevorzugte Wahl. Universeller – weil auch in virtueller Konsole und im SSH-Terminal funktionierend – sind aber die textbasierten Editoren für das Terminal. Diese haben höheren Tipp- und Anpassungsbedarf als Gedit & Co und erhalten auf den folgenden Seiten gebührende Beachtung.

Der Gnome-Editor Gedit

Der Editor unter allen Gnome-affinen Desktops gehorcht durchwegs standardisierten Hotkeys zur Textnavigation und Textbearbeitung. Für Novizen gibt es im Menü sogar die Option „Tastenkürzel“, um sich alle Hotkeys anzeigen zu lassen. Nichtsdestotrotz erschließen sich nicht alle Anzeige- und Bearbeitungsmöglichkeiten auf Anhieb.

Die Seitenleiste (links) ist über „Ansicht -> Seitenleiste“ oder schneller mit F9 einzublenden. Standardmäßig ist dort der Modus „Dokumente“ aktiv, der die geöffneten Dateien auflistet. Wesentlich nützlicher ist der Modus „Dateiverwaltung“, den das Plugin „Dateiverwaltungsleiste“ bereitstellt (mehr zu Plugins siehe unten). Damit erhält Gedit eine Ordnernavigation, die Dateimanager überflüssig macht. Der Hotkey Strg-H blendet wie im Dateimanager versteckte Dateien ein oder aus. Kontrolle über mehrere geöffnete Dateien behalten Sie immer noch durch die Tab-Register unterhalb der Titelleiste.

Das Übersichtsfenster (rechts) können Sie im Menü unter „Einstellungen -> Ansicht“ aktivieren. Der Informationswert dieser Miniaturübersicht ist gering, aber sie erlaubt mit der Maus schnelles Blättern oder Springen an entfernte Stellen in größeren Texten.

Die Plugins: Für Gedit gibt es eine ganze Reihe nützlicher Plugins, die standardmäßig nur partiell installiert und aktiv sind, wie der Gang im Menü zu „Einstellungen -> Erweiterungen“ zeigt. Alle offiziellen Plugins erreichen Sie mit dem Befehl:

sudo apt install gedit-plugins

Dies kann in keinem Fall schaden, da Sie in dem oben genannten Gedit-Dialog immer noch die Wahl haben, ein Plugin zu aktivieren oder nicht. Neben den „gedit-plugins“ gibt es auch noch das Paket „gedit-developer-plugins“. Sehr zu empfehlen sind „Wortvervollständigung“ (Autocomplete-Funktion), die „Zeichentabelle“, die sich in die Seitenleiste (links) integriert, und das nachfolgend beschriebene „Snippet“-Tool.

Gedit-Optionen: Der Editor zeigt hier seinen per Plugin eingebauten Dateimanager (linke Spalte), Tab-Verwaltung für geöffnete Dateien (oben), Syntaxhighlighting und Autosave-Funktionen.

Das Plugin „Schnipsel“ (Snippets): Dieses Plugin stattet Gedit mit Textbausteinen aus, die per Hotkey oder besser per Textkürzel (gefolgt von der Tab-Taste) eingefügt werden. Typische Kandidaten für solche Schnipsel sind Mailsignaturen, Adressen, Namen, Telefonnummern, IBAN oder auch die Grundsyntax einer Script-Konstruktion. Für Viel-Schreiber und -Scripter sind solche Schnipsel eine unschätzbare Hilfe. Bei aktivierter Erweiterung führt der Menüpunkt „Schnipsel verwalten“ zum Einrichtungsdialog, der in zahlreiche Scriptsprachen untergliedert ist. Textbausteine unter „Global“ gelten für alle Texte. Mit der „+“-Schaltfläche entsteht an der gewünschten Stelle (etwa unter „Global“) ein neuer Eintrag, dem Sie etwa den Namen „Adresse“ geben. Selbige geben Sie im Textfenster ein und definieren unten neben „Tabulatorauslösung“ ein Kürzel wie „adr“. Nach Schließen des Schnipsel-Dialogs ist der Autotext aktiv – „adr“ und Tab-Taste fügt also die komplette Adresse ein.

Hinweis: Eventuell werden die Snippets zunächst nicht gespeichert („~/.config/gedit/snippets“), wofür ein offenbar verbreiteter Fehler bei den Dateirechten verantwortlich ist. Der Terminalbefehl

sudo chmod -R 777 ~/.config/gedit

behebt das Zugriffsproblem.

Suchen und Ersetzen: Die Funktionen gehorchen den Standard-Hotkeys Strg-F und Strg-H. Der Ersetzen-Dialog ist durch seine detaillierteren Optionen die generell bessere Wahl – auch für pure Suche. Gedit kann auch nach Zeilenumbrüchen („\n“), Returns („\r“) und Tabulatoren („\t“) suchen, also etwa mit

\nif 

nach Zeilen, die mit „if“ beginnen.

Das Syntaxhighlighting: Gedit versucht automatisch zu erkennen, um welchen Text es sich handelt, und aktiviert dann das passende, farbige Syntaxhighlighting. Wenn dies unbefriedigend ausfällt, können Sie unter „“Ansicht -> Hervorhebungsmodus“ manuell eine andere Scriptsprache oder „Reiner Text“ auswählen.

Farbschema und Aussehen: Unter „Einstellungen -> Schrift und Farben“ gibt es die typischen Farbschemata „Klassisch“, „Kate“, „Kobalt“, „Oblivion“. Unabhängig vom Farbschema können Sie an gleicher Stelle die Schriftgröße definieren. Vor allem bei der Fehlersuche hilfreich sind die Zeilennummern, die Gedit unter „Einstellungen -> Ansicht“ aktiviert.

Automatische Sicherungskopien: Die Registerkarte „Einstellungen -> Editor“ zeigt zwei Optionen, um bearbeitete Dateien besser zu sichern. Sowohl die „Sicherungskopie“ als auch „Auto-Speichern“ im angegebenen Minutenintervall sind unbedingt zu empfehlen.

Zum Teil Schnickschnack, zum andern Teil unverzichtbar: Plugins wie “ Dateiverwaltungsleiste“, „Schnipsel“, „Wortvervollständigung“ und „Zeichentabelle“ ergänzen Gedit und Xed.

Xed: Der Editor des Mint-Teams

Im Zuge der Entwicklung Desktop-unabhängiger X-Apps arbeitet das Team von Linux Mint am Editor Xed. Diese Textbearbeitung unterscheidet sich äußerlich erheblich von Gedit durch ein klassisches Menü, eine Werkzeugleiste und im Hauptfenster integriertem „Suchen/Ersetzen“. Dennoch ist Xed wie Pluma (Mate-Desktop) ein Gedit-Fork mit praktisch identischer Funktionalität.

Die Bedienung von Xed erscheint uns etwas übersichtlicher, aber triftige inhaltliche Gründe, Gedit gegen Xed (ppa:embrosyn/xapps) auszutauschen, gibt es nicht. Im Gegenteil: Xed kann bislang nicht die Menge an Plugins anbieten wie sein Vorbild Gedit. Einzige Ausnahme ist das Xed-exklusive Plugin „Floskelliste“, das sich in die linke Seitenleiste (F9) integriert und vor allem für HTML-Coding alle wichtigen Tags anbietet, die dann einfach per Doppelklick in das Textfenster übernommen werden.

Plugin „Wortvervollständigung“: Das Autocomplete-Tool für Gedit und Xed indexiert den Text und macht nach Eingabe weniger Buchstaben Vorschläge.

Nano: Standardeditor im Terminal

Nano ist für das Terminal vorinstallierter Standard unter Ubuntu, Mint, Debian und Co. Das unterschätzte Tool wird im SSH-Terminal und in virtuellen Konsolen meistens nur als Notnagel akzeptiert. Dabei erlebt der 20 Jahre alte Editor eine erstaunlich dynamische Entwicklung. Aktuelle Versionen 2.9 bis 3.2 bieten bei Navigation und Markieren fast den Standard grafischer Editoren und zudem erweiterte Anpassungsmöglichkeiten über die Konfigurationsdatei „nanorc“. Die noch in vielen Distributionen vertretenen, älteren Nano-Versionen bis 2.5 benutzen hingegen eigenwillige Hotkeys, die man sich entweder angewöhnen muss oder umbelegen kann.

Neuere Nano-Versionen folgen dem Standard anderer Editoren, mit Umschalt-Taste und Cursortasten Text zu markieren. Bei älteren Nano-Versionen ist der Hotkey Alt-A erforderlich, um eine Markierung ab der Cursorposition zu starten. Danach erweitern Sie die Markierung durch Cursortasten. Erneutes Alt-A beendet die Markierungsaktion. Der Hotkey Alt-A funktioniert auch noch im neuesten Nano, ist dort aber nicht mehr unbedingt notwendig. Markierte Texte lassen sich mit Alt-6 kopieren, mit Strg-K ausschneiden, Strg-U ist der Hotkey, um Textinhalte wieder aus der Zwischenablage zu holen. Nützlich: Strg-K löscht eine komplette Zeile ungeachtet der Cursorposition.

Die Navigation im Text erfolgt durch Cursor- und Bild-Tasten, sowie Pos1 und Ende. Neuere Versionen verwenden außerdem Strg-Pos1/Ende, um zum Beginn oder Ende der ganzen Datei zu springen.

Strg-U ist der Hotkey, um die letzte Aktion rückgängig zu machen. Allerdings ist die Undo-Funktion nicht standardmäßig aktiv. Sie können Sie in der Nano-Konfigurationsdatei mit der Direktive

set undo

scharf schalten.

Die Konfigurationsdatei: Das Anpassen der globalen Konfigurationsdatei /etc/nanorc (mit Root-Recht) oder besser einer benutzerspezifischen Kopie unter ~/.nanorc lohnt sich definitiv. Hier finden Sie zahlreiche auskommentierte Optionen wie etwa die Anweisungen

set backup

und

set backupdir [Pfad]

Wird „set backup“ aktiviert (führendes „#“ löschen), erstellt Nano immer eine Sicherungskopie vom letzten Zustand im Pfad der Originaldatei. Mit aktiviertem „backupdir“ entstehen im angegebenen Zielpfad sogar durchnummerierte Versionssicherungen aller Bearbeitungsschritte. Das angegebene Backup-Verzeichnis muss natürlich existieren. Nützlich sind ferner die Optionen

set linenumbers

zur Anzeige der Zeilennummer, „set positionlog“, das bei neuerlicher Bearbeitung einer Datei sofort zur letzten Bearbeitungsstelle springt, sowie „set mouse“, das Positionieren und Markieren mit der Maus erlaubt.

Nano unterstützt außerdem Farbanpassungen. Beachten Sie, dass die Nano-Farbeinstellungen zu den globalen Terminalfarben passen müssen. Späteres Umstellen der Terminalfarben kann dazu führen, dass die Nano-Farben schlecht lesbar werden. Nano kann Elemente wie die Titelzeile („titlecolor“), die Statuszeile („statuscolor“), markierten Text („selectedcolor“ – nur in neuesten Versionen) und die Infozeilen unten einfärben („keycolor“ und „functioncolor“). Als Farben gibt es die üblichen acht Ansi-Farben (Black, White, Red, Green, Blue, Yellow, Cyan, Magenta). Die Abbildung zeigt ein Beispiel für geänderte Farbeinstellungen und die zugehörigen „set“-Befehle.

Eine der interessantesten Anpassungen sind die Hotkeys, die bei Nano zum Teil sehr gewöhnungsbedürftig ausfallen. Die Hotkey-Belegung ist ebenfalls global in der Datei /etc/nanorc oder User-spezifisch in ~/.nanorc möglich. Die Liste aller Nano-Funktionen, die Sie auf andere Hotkeys legen können, ist unter https://www.nano-editor.org/dist/v3/nano.html#Rebinding-Keys dokumentiert. Die Hotkeys sind in der Konfigurationsdatei in der Form „^“ (Strg) und „M-“ (Alt) zu hinterlegen. Um also etwa das typische Strg-C für das Kopieren von Text zu definieren, wäre folgende Zeile in der Datei nanorc zu vergeben:

bind ^C copytext main

Die Abbildung der Konfigurationsdatei auf dieser Seite zeigt eine Reihe von geänderten Hotkeys, welche die Bedienung des Editors durch standardisierte Tastenkombinationen vereinfacht. Neben den Standards Strg-C|V|X zur Textbearbeitung reagiert Nano danach auch auf Strg-F (Suche) und Strg-Q (Beenden). Beachten Sie, dass Strg-C nach dem obigen Bind-Befehl in allen Untermenüs – etwa im Kontext „Speichern“ – weiterhin als Abbruch-Hotkey arbeitet. Nur im „Main“-Bereich, also im Textfenster, erhält Strg-C seine neue Rolle.

Nano-Farben und Hotkeys: In der Konfigurationsdatei (nanorc) belegen Sie die Tastenkombinationen des Editors um. Farbanpassungen sind Geschmackssache.

Startparameter: Alle Einstellungen der Konfigurationsdatei nanorc lassen sich auch über Parameter beim Nano-Start anfordern. Ausgenommen sind lediglich die Farbdefinitionen und die Hotkey-Umbelegung. Im Allgemeinen ist es sinnvoller, die Nano-Optionen dauerhaft in der Konfiguration abzulegen, jedoch gibt es Ausnahmen: Die oben genannten Direktiven „set backup“ und „set backupdir [Pfad]“ sind nicht für jede Dateibearbeitung nötig und daher besser ad hoc anzufordern. Der Befehl

nano -B [Datei]

würde eine Sicherungskopie der editierten Datei anlegen, und

nano -C ~/nanoback [Datei]

legt bei jedem Speichern eine Versionssicherung an.

Eine ebenfalls nützliche Vorgabe, die in der Konfigurationsdatei

set const

lautet, kann beim Start mit

nano -c [Datei]

geladen werden. Dann bleibt unten die Statuszeile permanent aktiv, welche unter anderem die aktuelle Zeilenziffer anzeigt. Dies ist vor allem bei älteren Versionen nützlich, die eine „set linenumbers“ oder den Startbefehl „nano -l“ noch nicht beherrschen. Die komplette Palette der Nano-Startparameter zeigt die Dokumentation unter https://www.nano-editor.org/docs.php.

Mcedit: Editor des Midnight Commander

Auf jedem Linux-System mit installiertem Midnight Commander gibt es auch Mcedit. Auch dieser Editor wird unterschätzt und ist zunächst nicht einmal im Midnight Commander selbst als Standard vorgesehen. Dies lässt sich unter „Optionen -> Konfiguration“ mit der Einstellung „Internen Editor benutzen“ ändern. Danach ist für das Bearbeiten von Dateien (F4) Mcedit zuständig.

Mcedit ist aber ein unabhängiger Terminaleditor, den Sie auch ohne sein Hauptprogramm verwenden können:

mcedit [datei]

Mcedit zeigt die wichtigsten Bearbeitungs-Hotkeys unten an, nach F9 oder nach Klick auf die obere Infozeile erscheint ein opulentes Menü. Wer dieses Menü immer im Blick haben will, kann das bis zum Schließen des Editors über „Fenster -> Vollbild umschalten“ erreichen, was zugleich den Fenstermodus des Editors aktiviert. Wie das Menü „Fenster“ durch weitere Optionen anzeigt, beherrscht Mcedit nämlich den Umgang mit mehreren Dateien. Das kann zwar auch Nano, aber nicht mit der eleganten Fensterteilung wie Mcedit, die fast grafischen Komfort erreicht: Wenn Sie mehrere Dateien über „Datei -> Datei öffnen“ oder direkt per mcedit-Aufruf geladen haben, dann lassen sich die Dateien (nach „Fenster -> Vollbild umschalten“) skalieren und verschieben. Am Desktop funktionieren diese Aktionen exakt und komfortabel mit der Maus (Skalieren mit der Ecke rechts unten, Verschieben mit dem oberen Fensterrahmen); in der virtuellen Konsole erledigen die Cursortasten nach „Fenster -> Größe ändern“ bzw. „Fenster -> Verschieben“ das Arrangement.

Editor des Midnight Commander: Die wenigsten Nutzer wissen, dass Mcedit ein erstaunlich komfortables Fensterarrangement für mehrere geladene Dateien beherrscht.

Mcedit bietet farbige Syntaxhervorhebung unter „Optionen -> Allgemein“ und die Auswahl der Scriptsprache unter „Optionen -> Syntaxhervorhebung“. Auch in diesem Punkt ist Mcedit ausgereifter als Nano. Eine Sortierfunktion finden Sie unter „Format“, eine Codepage-Auswahl unter „Befehl -> Kodierung“. Auch das Suchen (F7) und Ersetzen (F4) von Text ist optionsreicher als unter Nano. Nützlich: Strg-Y löscht eine komplette Zeile ungeachtet der Cursorposition.

Einige fundamentale Textfunktionen sind gewöhnungsbedürftig: So ist der Text beim Verschieben erst mit der Maus (oder mit Umschalt-Taste und Cursor) zu markieren, anschließend mit Cursor oder Bild-oben/unten an die gewünschte Stelle zu navigieren und dann mit F6 das Verschieben auszulösen. Hier lohnen sich Anpassungen der mc.keymap (siehe unten). Der alte Modus beim Markieren, mit F3 zunächst die Markierfunktion aufzurufen, ist nicht mehr notwendig, da das standardisierte Markieren mit Umschalt-Taste funktioniert. Der F3-Modus besteht aber fort, und ist für die Windows-SSH-Clients Putty/Kitty weiterhin unentbehrlich.

Anpassung der Hotkeys: Trotz des alternativen Menüangebots von Mcedit machen angepasste Tastenkombination die Bedienung einfacher, wenn Sie sich standardisierte Hotkeys einrichten. Das sollte aber in der umfangreichen Keymap-Datei des Midnight Commander dosiert und mit Rückversicherung erfolgen. Verwenden Sie besser nicht die globale Datei „/etc/mc/mc.keymap“, sondern kopieren Sie diese nach „~/.config/mc/mc.keymap“, also in Ihr Home-Verzeichnis. So bleibt das Original unter „/etc“ als Rückversicherung erhalten.

Alle Optionen für Mcedit befinden sich im Abschnitt „[editor]“. Ein nützlicher Eingriff besteht etwa darin, die altertümlichen Hotkeys „ctrl-insert“ und „shift-insert“ für „Store“ (Copy) und „Paste“ durch geläufigeres „ctrl-c“ und „ctrl-v“ ersetzen (Strg-C, Strg-V):

[editor]

Store = ctrl-c
Paste = ctrl-v

Natürlich kann man sich auch die Textsuche, Folgesuche und Ersetzen mit

Search = ctrl-f

SearchContinue = ctrl-n

Replace = ctrl-r

auf einprägsamere Hotkeys legen. Änderungen an der mc.keymap werden immer erst nach dem nächsten Start des Programms gültig. Das Menü des Editors lernt dabei flexibel mit: Es zeigt die von Ihnen definierten Hotkeys.