Emacs – Die ersten Hürden (Tutorial 1)

Es ist mal wieder Zeit für neues Futter für die Nerds unter meiner Leserschaft 🙂

Vielleicht geht es nur mir so, aber in Zeiten, in denen eine schleichende Verdummung durch medialen Overkill mit Alterweisheit und langsam nachlassender Jugend einhergeht, da möchte man vieles einfacher gestalten. Und trotzdem auf nichts verzichten. Ich bin jetzt nicht einem bratzenhaften Minimalismus verfallen, suche aber nach Methoden, die – wenn sie einmal eingerichtet sind – den Nerdalltag vereinfachen.

Ganz konkret: wie kann ich auf einem S7+ von Samsung (Andoid Tablet mit 12″ Display) eine Nutzerumgebung einrichten, mit der ich auch Webentwicklung (wie CONSILIUM) bequem von überall aus gestalten und überwachen kann? Nicht nur für zwischendruch, sondern so, dass mir alle Möglichkeiten offenstehen. Nie wieder einen Laptop mitschleppen – Tablet einschalten, über Tethering auf dem Smartphone ins Netz und loslegen.

Eine Entwicklungsumgebung wie PHPStorm gibt es nicht für Android. Schade. Gibt es Online IDEs, die sich nutzen lassen? Ja, aber CLOUD9 von Amazon erlaubt mir keine Installation ohne node.js. Und sowas wie codeanywhere.com ist nett. Aber, da kann ich auch gleich einen einfachen Editor nutzen. Und dann kommt man an den Punkt, an dem ich schon so oft war und den ich wegen einer zu steilen Lernkurve immer aufgegeben habe. Der wohl kompletteste Editor für alle Belange von Softwareentwicklung ist „emacs“, ein Dinosaurier, unglaublich umfangreich, gemacht bereits zu Zeiten, als es noch keine Maus gab – wir brauchen also noch nicht einmal eine grafische Oberfläche. Back to the roots bedeutet hier in diesem Fall ein Gewinn an Produktivität.

Emacs in action
Sieht aus wie ein lokales Programm – ist aber keines

Wenn ich mich für so etwas einscheide und mir doch die Fähigkeiten aneigne, die ich für die Nutzung von emacs brauche – wIe kann ich dann auf meinem Windows Desktop und einem Android Tablet die gleichen Bedingungen schaffen ohne zwei Umgebungen verwalten zu müssen? In dem ich einen kleinen Server miete, für 1,- EUR im Monat, dort ein minimales Debian Linux laufen lasse und emacs installiere. Diesen steuere ich auf dem Desktop und dem Tablet über einen Telnet bzw. ssh Client an und habe überall die gleichen Bedingungen. Selbst wenn mein Rechner in Flammen aufgeht und mir die Bude abbrennt – alles liegt auf meinem eigenen Server.

Ein sehr durchdachtes Farbschema für emacs habe ich hier gefunden. Protesilaos Stavrou, so heisst der Macher dieser Farbschema, hat außerdem noch viele brauchbare Videos und Blogeinträge zum Umgang mit emacs erstellt.

Und jetzt „übe“ ich diese Tastaturkürzel, die tatsächlich sehr durchdacht sind. Für alle, die ebenfalls nach so einem Einstieg suchen, ist diese Liste vielleicht hilfreich.

--- emacs : Tastaturkürzel für Windows-User ---

Vorbemerkungen
Mit C ist bei emacs und allen Dokumenten/Handbüchern/Tutorials immer die STRG bzw. CTRL Taste gemeint. M ist ALT. Wird als Tastenkombination z.B. C-x C-f angegeben, muss nacheinander STRF+x und dan STRG+f + ENTER eingegeben werden. Manchmal folgt dann noch ein weiterer Parameter (wie etwa ein Suchkriterium). Diese Kommandozeilen-Aktionen werden immer in der unteren Kommandozeile angezeigt, unabhängig davon, ob emacs in einem Terminal läuft unter einer grafischen Oberfläche

Datei und Bufferhandling
C-x C-f    + ENTER : Öffnet einen Buffer, in dem alle Dateien des aktuellen Standardverzeichnis angezeigt werden. Navigieren durch die Liste + ENTER öffnet dann diese Datei.
C-x o      Wechselt durch die offenen Buffer
C-x 0      Schliesst den aktuellen Buffer
C-x 1      Schliesst einen anderen Buffer außerhalb des aktuellen
C-x 2      Teilt den aktuellen Buffer in zwei (vertikal)
C-x 3      Teilt den aktuellen Buffer in zwei (horizontal)
 
C-x C-s    Speichert die aktuelle Datei. Wenn noch kein Dateiname vergeben 
           wurde, muss dieser angegeben werden.
C-x C-w    Speichern unter
C-x k      Schliesst die aktuelle Datei.
 
C-x C-c    Schliesst Emacs
M-x shell  Öffnet das aktuelle Verzeichnis
 
Bearbeitung
Dadurch, dass die STRG Taste eine zentrale Rolle spielt, weisen Kombinationen wie STRG+C (C-c) oder STRG+V (C-v) auf andere Funktionen in emacs hin. Dafür wurde der CUA Modus entwickelt, der einfach in den Optionen aktiviert werden kann.  Das ist vor allem für Nutzer von Windows interessant, bei denen die Shortcuts nahezu überall Standard sind und man sich ungern umgewöhnen möchte.
 
Mit CUA Mode
C-c        Kopiert den markierten Text in die Zwischenablage
C-v        Fügt den Text aus der Zwischenablage ein
C-x        Schneidet den markierten Text aus und kopiert ihn in die Zwischenablage
 
Wenn Sie bereits an diese Emacs Kürzel gewöhnt sind, dann gelten für dieser drei Optionen diese Kürzel:

Ohne CUA Mode
 
M-w        Kopiert den markierten Text in die Zwischenablage
C-v        Fügt den Text aus der Zwischenablage ein
C-w        Schneidet den markierten Text aus und kopiert ihn in die Zwischenablage
 
C-x h      Alles markieren
 
 
M-u        Wandelt den markierten Text in Großbuchstaben um
M-l        Wandelt den markierten Text in Kleinbuchstaben um
M-c        Wandelt den ersten Buchstaben in einen Großbuchstaben um
 
C-x C-+    Schrift vergrössern
C-x C--    Schrift verkleinern
M-h        Markiert einen ganzen Absatz
C-M-h      Markiert eine Funktion
C-a        Cursor an den Anfang einer Zeile
C-e        Cursor an das Ende einer Zeile
C-p        Eine Zeile nach oben
C-n        Eine Zeile nach unten
M-b        Cursor ein Wort zurück
M-f        Cursor ein Wort vorwärts
C-l        Cursor in der Mitte des Screens platzieren
M-d        + goto-line x  : Springt zur Zeile x
M-x        + comment-region : Kommentiert die aktuelle Auswahl aus
M-;        Kommentiert die aktuelle Zeile aus
M-d        Löscht das Wort am Cursor

Demnächst folgen noch weitere Infos über die verschiedene Modi in emacs und wie sich Funktionen dort automatisieren lassen.