Obwohl dies ein Technikpodcast ist, kommen wir um politische Themen oft nicht ganz herum. In dieser Folge jedoch stellen wir uns nun direkt ins Feuer. Und all das nur, weil Xyrill unbedingt seinen Lieblingseditor unters Volk bringen will.
Jahrgang 1961, bis 1985 Studium der Elektrotechnik in Delft mit Abschlussarbeit zu Multiprozessor-Unix-Architektur
seit 1988 Entwicklung eines Klons des Texteditors vi mit dem Namen vim (erst "vi imitation", später "vi improved"; "vim" kann aber auch "Elan" bedeuten)
bis kurz vor seinem Tod (d.h. 35 Jahre) Leitung des vim-Projektes in seiner Freizeit (neben der Arbeit u.a. bei Google)
außerdem Engagement für die NGO ICCF Holland, die Waisenkinder in Uganda unterstützt
in diesem Zusammenhang: Was ist eigentlich vim? Und warum verbringt Xyrill sein halbes Leben darin? (Spoiler: man kann alle intellektuelle Arbeit als Texteditieren darstellen; siehe auch STP006)
frühe 1970er-Jahre: ed -- der erste Unix-Texteditor; damals hatten Unix-Computer noch keinen Bildschirm, sondern nur Tastatur und Drucker
1976: ex -- eine von vielen Weiterentwicklungen von ed mit zusätzlichen Funktionen
darin enthalten: ein neuartiger "visual mode", der 1979 der Standard wurde -- vi ist geboren
1989 dann vim als Weiterentwicklung von Brams Portierung von vi auf Atari-Computer
sprich: im Großen und Ganzen eine 50 Jahre lang ungebrochene Evolutionslinie von Texteditoren, analog und parallel zu Unix
Kernidee von vi-artigen Texteditoren: modales Editieren
in herkömmlichen Texteditoren: jeder Tastendruck hat immer die gleiche Bedeutung (z.B. "u" fügt ein kleines U ein; z.B. "Strg+Z" macht die letzte Operation rückgängig)
Nachteil: komplexe Operationen sind begrenzt darin, wieviele Tastenkombinationen man sich merken kann
in vi-artigen Editoren: Bedeutung eines Tastendrucks hängt vom aktuellen Modus ab (z.B. "u" im Eingabemodus fügt ein kleines U ein, jedoch "u" im Befehlsmodus macht die letzte Operation rückgängig)
erster Vorteil: mehr Befehle sind durch einfache Tastendrücke erreichbar, die sich einfacher tippen lassen als Akkorde wie "Strg+Umschalt+R"
zweite Besonderheit: Aktionsgrammatik
in herkömmlichen Texteditoren: viele Aktionen, die alle ziemlich ähnlich sind (z.B. ein Zeichen nach links löschen, ein Wort nach links löschen, ein Zeichen nach links auswählen, ein Wort nach links auswählen, etc.)
Befehlsmodus in vi: Befehle werden wie mit einer Grammatik zusammengesetzt
Substantive = Bewegungen (z.B. "w" = ein Wort nach rechts, "b" = ein Wort nach links, "j" = eine Zeile nach unten)
Zahlen = Vervielfältigungen (z.b. "3w" = drei Worte nach rechts, "5j" = fünf Zeilen nach unten)
ganzer Befehl: nur eine Bewegung (bewegt den Cursor, z.B. "3w") oder eine Aktion und eine Bewegung (z.B. "d5j")
damit zweiter Vorteil: eine große Menge an komplexen Aktionen ist mit sehr kompakten Befehlen auszudrücken (z.B. "Ich möchte den Inhalt des Klammerpaars löschen, in dem mein Cursor steht" = "di(", "ich möchte diesen Absatz und die nächsten drei Absätze automatisch formattieren" = "ga4p")
weitere coole Funktionen in vim
Makrofunktion: Folgen von Tastendrücken können aufgezeichnet und dann automatisiert abgespielt werden (gibt's auch in anderen Editoren, aber paart sich mit vi's Befehlssprache besser als mit denen der meisten anderen Texteditoren)
Ja, auf jeden Fall. Was man da an Zeit aufwendet, zahlt sich dann über Jahrzehnte aus.
Xyrill empfiehlt: Erstmal nur mit den Basics anfangen (Dateien öffnen und schließen, zwischen Modi wechseln). Dann schrittweise Befehle lernen, wann immer man das Gefühl hat, dass man was von Hand macht, was auch einfacher gehen sollte.
vim hat ein eingebautes Tutorial: vimtutor auf der Kommandozeile ausführen