Eigentlich bin ich eine treue Seele. Aber auch meine Geduld ist begrenzt: Die Tipps von Eclipse werden unter Ubuntu 20.04 schwarz auf schwarz angezeigt. Hmm. Markdown-Editoren sind umständlich. Oopps. Und der ‘Spellcheck’ für deutsch-englische Texte geht immer noch nicht. Grrr. Also auf zu neuen Ufern: Geben wir ‘Atom’ unter Ubuntu 20.04 eine Chance, selbst wenn wir dafür einige Klippen umschiffen müssen.
Legen wir zuerst genauer fest, was Atom bieten muss, um (uns) zu gefallen:
- Rechtschreibprüfung für deutsch-englische Texte
- bei gleichzeitigem Syntax-Highlighting
- und Code-Completion für Latex, Markdown, HTML PHP, C/C++, Java, bash
- Nahtlose Integration in eine mobile Laptop-Arbeitsumgebung
- Gute Markdown-Unterstützung.
Und machen wir uns dann daran, den Editor zu installieren und zu konfigurieren:
Die Standard-Ubuntu-Methode: Geradeaus klappt’s nicht!
Mit der Version 20.04 wird das neue Snap-Paketformat zum kaum zu umgehenden Standardformat. Viele Programme — darunter ‘Atom’ — werden schon gar nicht mehr als Debian-Pakete angeboten, sondern müssen via Ubuntu-Software-Center als Snap-Pakete installiert werden. Das klappt auf den ersten Blick — und ’scheitert’ beim nächsten Hinsehen:
- So wurde meine erste Installation nach einigen Tagen nicht mehr im Bestand geführt: weder
snap list atom
nochsnap list --all
listete ‘Atom’ noch auf, obwohl ich den Editor doch immer noch aufrufen konnte. Systemisch war das Paket damit auch von allen Updates abgeschnitten. Die Lösung war ’simple’: ‘Atom’ einfach noch einmal per Ubuntu-Software-Center installieren. Danach lies sich der Editor auch wieder finden und rückstandslos persnap remove atom
entfernen (und wieder installieren) - Nur reagierte die Version — wie im Netz beschrieben — immer noch unschön: Sie öffnete — unverhinderbar — bei jedem Aufruf zwei völlig nutzlose Dokumente.
Damit schied diese Variante aus: Wenn ich mich weiter nerven lassen wollte, hätte ich auch bei Eclipse bleiben können.
Auch der .deb-Umweg scheitert.
Die offizielle Atom-Dokumentation beschreibt zwei Wege zur Installation von Atom. Beim einfacheren Weg lädt man sich das .deb-Paket herunter und installiert es mit sudo dpkg -i atom-amd64.deb
. Leider scheitert das unaufgelöster Abhängigkeiten wegen.
Aber wenigstens der komplexe Weg führt weiter …
Dabei lädt man zuerst den Schlüssel runter, erweitert die apt sources, macht ein update und installiert das Paket:
1. wget -qO - https://packagecloud.io/AtomEditor/atom/gpgkey | sudo apt-key add -
2. sudo sh -c 'echo "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" > /etc/apt/sources.list.d/atom.list'
3. sudo apt-get update
4. sudo apt-get install atom
Und tatsächlich erhält man ein in den Ubuntu GNOME 3 Desktop integrierten Editor.
… bedarf aber noch zusätzlicher Pakete …
Offiziell lässt sich Atom über ein integriertes Interface erweitern, das frau per Edit/Preferences/Install
(Linux) bzw. File/Settings/Install
(Windows) erreicht: Über das obere Textfeld lässt man das gewünschte Package suchen, über die dann erscheinende ‘Karteikarte’ installieren.
Gelegentlich funktioniert die integrierte Suche nicht. Jeder Aufruf endet im Fehler i.filter is not a function [object Object]
, was nicht Ubuntu geschuldet ist, sondern dem Atom Server. In solchen Fällen kommt frau auf Umwegen zum Ziel: Sie sucht per Google nach dem Paket und wird (meist) auf einen Treffer unter https://atom.io/packages/ geleitet. Dort findet sich jeweils auch eine Hinweis zur manuellen Installation. In der Regel braucht man auf der Konsole nur apm install $packagename
einzugeben. Das Paket wird dann unter .atom/packages
installiert und bei jedem Neustart geladen.
Damit können wir uns die zusätzlichen Pakete holen, die wir brauchen:
- Zum ersten wollen wir ‘Atom’ als LaTeX-Editor verwenden. Dafür müssen wir ihm die LaTeX-Syntax beibringen:
apm install language-latex
- Dann wollen wir ‘Atom’ u.U. auch als LaTeX-IDE verwenden, also müssen wir ihm die LaTeX-Build-Kommandos zugänglich machen:
apm install latex
- Außerdem soll ‘Atom’ unsere Rechtschreibung überprüfen, und zwar in deutschen und englischen Texten. Die Mehrsprachigkeit werden wir später konfigurativ aktivieren. ‘Atom’ darf uns aber nicht jeden LaTeX-Befehl als Fehler ankreiden. Und es soll unseren Code überprüfen. Das müssen wir ihm per Linter und Submodule beibringen
apm install linter linter-spell linter-ui-default linter-spell-latex
. Für die anderen Sprachen gibt es entsprechendes, z.B.apt install linter-php
- Schließlich wollen wir ‘Atom’ auch nutzen, wenn wir mit dem Laptop auf der sonnigen Terrasse sitzen. Dabei hindert der Dark-Mode sehr. Glücklicherweise gibt es ein Package, mit dem man schnell mal zwischen Hell-und-Dunkel-Ansicht wechseln kann:
apm install dark-mode
. Den Toggle-Befehl findet man — wie üblich — unterPackages/dark mode
. - Für unsere Markdown-Aktivitäten brauchen wir fast nichts zu tun: Das Syntax-Highlighting läuft out-of-the-box. Und über
Packages/Markdown Preview
können wir uns das nach html konvertierte Dokument direkt ansehen. Um es in eine PDF-Datei umzuwandeln, ohne in die Shell zu pandoc zu wechseln, brauchen wir noch ein Package:apm install markdown-pdf
. Nach dem Neustart können wir das Package unterFile/Settings/Packages#markdown-pdf
konfigurieren und finden unterPackages/Markdown To PDF
das Umwandlungskommando.
… und Anpassungen der Konfiguration:
Konfigurieren lässt sich ‘Atom’ über zwei Wege: Unter Edit/Preferences
(Linux) bzw. File/Settings/
(Windows) können unter Core
und Editor
allgemeine Eigenschaften eingestellt werden. Unter Edit/Preferences/Packages
(Linux) bzw. File/Settings/Packages
(Windows) erreicht man die installierten Pakete und deren spezifische Konfigurationsmöglichkeiten.
Wir benötigen beide Methoden:
- Zum ersten soll unser ‘Atom’ ein Softwrap verwenden, also eine lange Textteile automatisch umbrechen, ohne die Zeile wirklich mit einen
LF
(Linux) bzw.CR LF
(Windows) umzubrechen. Dazu aktivieren wir unterEdit/Preferences#Editor
das Soft Wrap mittels eines Hakens. Dazu legen wir dann auch noch fest, dass der virtuelle Umbruch nicht am Fensterrand erfolgt, sondern an der maximalen Zeilenbreite Soft Wrap At Preferred Line Length - Dann soll unser ‘Atom’ die Rechtschreibung in gemischtsprachigen Texten überprüfen können. Dazu konfigurieren wir das Package
Edit/Preferences/Packages/spell-check
entsprechend:- Wir aktivieren
Use Locales
per Häkchen. - Und wir tragen in das Feld Locales
en-US, de_DE
ein.
- Wir aktivieren
Und damit haben wir, was wir wollten:
‘Atom’ tritt als hackable text editor an. Das Netz weiß um seine besten Erweiterung. Man braucht sich nur inspirieren zu lassen. Die Methoden bleiben die, die wir hier angewendet und mit denen wir unsere Ziele erreicht haben:
Feature | Status | |
---|---|---|
1.) | Rechtschreibprüfung für gemischtsprachige Texte | ✓ |
2.) | Kontextsensitive Rechtschreibprüfung in Programmiersprachen | ✓ |
3.) | Syntax-Highlighting für Latex, HTML PHP, C/C++, Java, bash | ✓ |
4.) | Code-Completion für Latex, HTML PHP, C/C++, Java, bash | ✓ |
5.) | Integration in ein Laptop auch für sonnige Arbeitsplätze | ✓ |
6.) | Markdown-Unterstützung | ✓ |
Ein letztes Geständnis
Ganz weglegen werde ich Eclipse nicht. Denn kein Tool bietet mit den Modulen XText und XTend einen besseren Support für die Entwicklung domänenspezifischer Sprachen.
Und in welchem größere Zusammenhang …
… steht dieser Text? Nun, mein Leben ist eingebettet in freie Software, Natur und Musik. Manchmal finde ich da abseitigere Wege und Tools, die es trotzdem wert sind, geteilt zu werden. Und sei es nur mit meinem vergesslichen zukünftigen ‘ich’. Dem ich gerne immer wieder einmal ein Strato über die Shell ans Herz lege. Oder passend erweiterte Editoren. Oder uralte Vorarbeiten. Manchmal möchte ich dieses ‘ich’ aber auch nur an Haltungen, Standpunkte und Einstellungen erinnern. Damit ich nicht hinter mich zurückfalle. Denn gesagt ist gesagt. Darum geht es auch in hier.
Im Übrigen: Männer sind mitgemeint.