3
Kennt Ihr den Spruch? »Emacs ist ein ganzes Betriebssystem, aber der mitgelieferte Text-Editor ist nicht so toll.« Der lange Glaubenskrieg zwischen den Lagern »Emacs« und »Vi« hätte längst beendet sein sollen und hat heute auch sehr an Bedeutung verloren. Im Grunde geht es aber um Usability (Deutsche Begriffe dafür haben sich nicht durchgesetzt.) und was der richtige Funktionsumfang für ein Programm ist. Dabei sind auch nicht alle Menschen gleich und was dem Einen wichtig ist will der Andere gar nicht wissen.
Den neuen MacVim kann man auf GitHub herunterladen. MacVim und gVim haben gemeinsam, dass man im Insert-Modus (in dem der Editor auch starten kann), alle wichtigen Kommandos - wie unter dem jeweiligen Betriebssystem gewohnt - über Menü und Tastatur erreichen kann. Insbesondere die Tastenkombinationen für Ausschneiden, Kopieren, Einfügen, Speichern und Beenden sind unter Vi und Emacs eine Einstiegshürde für neue Nutzer. GNU-Emacs versucht das mit dem CUA-Mode zu beheben, aber spätestens bei der Textsuche gibt es keine vernünftige Lösung. Aquamacs geht da in die gleiche Richtung wie MacVim. Beide haben durch die Mac-Plattform den Vorteil, dass Tastaturkommandos mit der Command-Taste mit den Vorgaben des Editors nicht kollidieren und somit koexistieren können.
Aber warum überhaupt diese alten Editoren benutzen, wenn man doch die Bedienung von moderneren Programmen benutzen will? Es ist vor allem das ausgereifte Konzept, die Portabilität und die allgemeine Robustheit, die für die klassischen Editoren sprechen.
VIM ist nicht mehr der einfache Vi, mit dem Generationen von Entwicklern aufgewachsen sind, sondern ist Emacs in den Funktionen praktisch ebenbürtig (mehrere Puffer, besseres Undo, Syntax-Highlighting, …). Man kann sogar über die GUI eine HTML-Version des Syntax-Highlightings abspeichern. Und obwohl man bei MacVim und gVim beispielsweise die Schrift über das Menü ändern kann, muss für das dauerhafte Speichern der Einstellungen die Datei .vimrc mehr von Hand (allerdings durchaus erreichbar über den Menüpunkt »Starteinstellungen«) geändert werden. Während der hier einfacher zu bedienende WinVi auch mit Proportionalschrift umgehen kann, machen MacVim und gVim hier schlapp.
Moment! Warum machen Text-Editoren so etwas eigentlich selbst? Sollten die Funktionen des Betriebssystems nicht schon dafür sorgen, dass alle Schreibprogramme Proportionalschrift, Ligaturen und Emoji (MacVim kann Emoji - gVim nicht) unterstützen? Das Problem ist, dass im allgemeinen die Eingabefelder Betriebssystems viele Funktionen behindern, die ein Programmierer wünscht, und deshalb praktisch kein Editor und keine IDE diese Klassen direkt verwendet. So verhält sich MacVim bei ↖︎,↘︎, ⇞ und ⇟ als wäre man in einem normalen Windows-Programm - naja fast: bei ⇞und ⇟ wandert die Schreibmarke mit. Bei der Kombination von Cursortasten mit Wahl- (⌥) und Befehlstaste (⌘) verhält er sich aber Mac-Like während gVim unter Windows nur die <Strg>-Taste kennt. (Letztere bewegt als Modifier den Cursor unter Windows Wortweise.)
Als IDE will ich Vim dann doch nicht unbedingt benutzen. Um mal eben ein kurzes Programm zu schreiben, ist ein MacVim aber sehr gut geeignet und wer auch mal über eine Telnet-Verbindung einen Text ändern muss, der freut sich, dass die gelernten Befehlskombinationen funktionieren.