[Musik]
Hallo und herzlich willkommen zur neunten Folge des Focus on Linux Podcasts.
Ja und heute haben wir ein Thema. Ich glaube, man könnte das auch ganz gut umschreiben mit,
für die einen ist es dann ein Exit Game und für die anderen ist es der wohl beste Editor der Welt.
Ihr alle habt den Titel schon gelesen, es geht um Wim. Und das ist ein sehr, sehr spannendes Thema,
wie ich finde, aber oftmals leider auch zuweilen ein sehr polarisierendes Thema.
Und wir sehen uns heute auch so ein bisschen in der Verpflichtung, einen Bildungsauftrag zu erfüllen
und wollen das Thema mal ein bisschen beleuchten und wollen mal für euch wiederholen,
was die einzelnen Nachteile des Editors sein könnten. Das Ganze mache ich natürlich nicht alleine.
Da habe ich mir wieder ein paar Gäste ins Haus geholt und zum einen hätten wir da mal den Volkmar Kellermann,
den ihr vielleicht schon aus den Focus on DevOps Podcasts kennt. Moin Volkmar.
Moin Christian.
Und dann haben wir einmal den Peter Maurer.
Ja, hallo.
Und ich freue mich auch, den Jan Bundesmann von der Atex begrüßen zu dürfen.
Was ist das?
Ja, schön, dass ihr da seid. Und mich würde jetzt mal interessieren,
wie lange benutzt ihr Wim eigentlich schon? Wie kamt ihr dazu und was macht ihr damit?
Also was qualifiziert euch quasi heute über Wim zu reden?
Und da fangen wir vielleicht mal direkt bei dir an, Volkmar.
Erzähl uns mal, wie bist du zu Wim gekommen?
Oh, das ist eine ganz lange Geschichte. Genau.
Also ich benutze tatsächlich, also ich bin so 2000 rum zum Linux Betriebssystem gekommen,
aber da habe ich noch nicht Wim benutzt. Das muss ich so zugeben.
Das ging halt ganz klar so los, dass wenn man so ein Betriebssystem hatte,
was dann halt nur Wim hatte, da hat man sich dann schnell den Pico und später den Nano installiert.
Das kam bei mir halt relativ spät, ich sage mal so zehn Jahre später,
wo ich mich dann auf den LPK, also quasi vom Linux Professional Institute
die Zertifizierung vorbereitet habe. Und da musste man irgendwie Wim-Kennnisse haben
oder VIE-Kennnisse haben. Und dann habe ich mich damit beschäftigt.
Und dann dachte ich, oh, so schwer ist das ja gar nicht.
Und dann habe ich das halt ganz gut gefunden.
Später aus der Not heraus habe ich das Ding dann auch noch zu einer IDI umgebaut,
weil ich dann halt auf Tablet mit so einem Thermux dann mir so eine kleine Umgebung gebaut habe,
weil ich kein Geld für ein Notebook ausgeben wollte und schön im Zug damit unterwegs war.
Und ja, so habe ich ihn kennen und lieben gelernt, den VIE-Wim.
Sehr schön. Wie war das bei dir damals, Peter?
Ja, bei mir fast ähnlich.
Auch 1998 die ersten Berührungspunkte mit Debian 1, da auch eher noch nicht mit Editor wie Wim,
sondern eher Joe gab es damals ja auch noch.
Und bin dann erst so 2000, 2001 mit Suze53 damals erst noch dann zum Wim gekommen.
Und wahrscheinlich ging es mir genauso wie manchen Leuten heute.
Hilfe, wie komme ich denn da raus?
Hatt ich erst am Anfang auch so meine Probleme damit.
Hat sich dann weiterentwickelt bis so vor, ja ich sage mal acht Jahren,
wo ich dann auch angefangen habe langsam das Ding als IDI umzubauen.
Also auch mit Tmux, wo der dann rauskam, mit diversen Plugins und Syntax-Highlighting und ja, benutze ihn heute.
Sehr schön. Und ich muss ja zugeben, als ich diese Folge geplant habe, da musste ich sofort an Jan denken,
weil Jan hatte vor ein paar Monaten auf so einem Linux-Stammtisch einen total spannenden Vortrag zu dem Thema
V.I. bzw. Wim gehalten. Und da war mir klar, wenn ich mal eine Folge zum Thema Wim mache,
dann muss ich unbedingt Jan einladen, weil der hat da so viele coole Tricks gezeigt, die ich bisher noch nicht kannte.
Und ich glaube, das geht auch den Zuhörenden so. Aber erzähl uns doch erstmal Jan, was machst du alle so mit dem Wim
und wie bist du quasi in das Rapid-Hole-Wim abgetaucht? Wie war das bei dir?
Ich weiß nicht mehr genau, wie ich da reingefallen bin. Ich benutze den Wim, ich weiß gar nicht, ob es da coole Alternativen gibt.
Ich bin nie rausgekommen. Ich glaube, der Anfang war so ein Zufall, irgendein Tool, was halt als Default-Editor den Wim aufgerufen hat.
Ich habe mir gedacht, okay, interessant, funktioniert irgendwie und wollte es dann aber auch genauer wissen,
was man machen kann und bin dann auch irgendwann an den Punkt gekommen, dass man Plugins installiert und ein paar spezielle Funktionen ausnutzt.
Und habe dann gedacht, naja, kann schon was. Und ich glaube, der Höhepunkt meiner Wim-Entwicklung war,
dass ich irgendwann mal ein Review geschrieben habe, also Wim 8 rausgekommen ist und ich mich davor und danach so ein bisschen mit Wim Golf auseinandergesetzt habe.
Da bin ich richtig tief reingekommen. Das ist ein Spiel, wo man versuchen muss, komplexe Aufgaben mit möglichst wenig Keystrokes zu erledigen im VI.
Und seitdem bemitleide ich immer alle Menschen, die viele, viele Tastendrücke im VI machen müssen.
Sehr schön. Ja, ich kann mich daran erinnern, ich glaube, dem Vortrag ging es auch so ein bisschen um Wim Golf.
Ich hatte mir danach die Seite angeschaut und da gibt es ja auch so ein globales Ranking.
Also man kann dann da seine Effizienz auch mit anderen teilen und sich eben daran erfreuen, dass man mehr Punkte als die Konkurrenz hat.
Das ist ein sehr, sehr spannendes Spiel, womit wir wieder beim Thema Exit Game wären.
Also ich glaube, da kann man schon sehr viel Zeit mit verbringen. Sehr schöne Sache.
Ja, bei mir ist es, glaube ich, so ein bisschen ähnlich wie bei euch.
Also ich habe auch irgendwann recht früh angefangen, mich mit Linux zu beschäftigen, wobei früh jetzt relativ ist.
Also es war 2005 rum und damals war der VI natürlich überall vorinstalliert.
Ich konnte mich mit dem noch nicht so ganz anfreunden, war dann also auch eher so Team Nano, muss ich zugeben.
Aber irgendwann habe ich mich damit beschäftigt, was auch, glaube ich, so ein bisschen an meiner Ausbildung lag,
weil ich hatte da so einen Abteilungsdurchlauf und da bin ich bei einem Kollegen gelandet, der sagte, dass er damals noch Operator hieß und nicht Administrator
und dass man ja den VI beherrschen müsse, sonst hätte, sonst würde man es nicht weit bringen, wenn man ernsthaft Karriere machen will.
Und er legte mir oder stellte mir so eine VI-Tasse hin und zeigte mir den WIM Tutor und sagte, morgen frage ich dich ab.
Das war dann so die Einstiegshürde oder der Einstiegspunkt für mich und seitdem möchte ich das Teil auch echt nicht mehr missen.
Also ich benutze es nicht als IDE, muss ich ganz ehrlich zugeben.
Ich habe das lange wirklich auch für Entwicklung benutzt, bis ich mal so die erste größere Python Library geschrieben habe
und das mal einem Kollegen zum Code Review gegeben habe und der meinte dann so, sag mal, benutzt du eigentlich eine IDE?
Und ich so nö, wieso? Ja, merkt man.
Dann habe ich mir halt eine IDE angeschaut, die auch Linting und so weiter macht. Das sind natürlich auch alles Dinge, die der VI kann.
Aber da können wir bestimmt später noch mehr drüber reden.
Aber ich nehme es so für alles Mögliche, was so in den Daily Use reingeht. Das heißt mal irgendwo ein Config File editieren oder da mal eben ein paar Anpassungen in der Datei vornehmen.
Da nehme ich natürlich immer den WIM für. Ich würde aber behaupten, ich kenne da vielleicht 5% der Features.
Also ich hoffe auch, dass ich hier noch einige lustige Tricks heute von euch lernen werde.
Und vielleicht ist es ja auch so, dass wir hier Zuhörende haben, die sich noch nie mit dem Thema WIM beschäftigt haben.
Also im Gegensatz zu früher ist es ja so, dass der VI nicht mehr der Standard Editor ist.
Also gerade in Fedora gab es ja, ich glaube 36 oder 35, wurde der Default Editor ja auch auf Nano geändert, um eben auch Linux einer breiteren Masse ein bisschen zugänglich zu machen.
Und deswegen würde ich mal vorschlagen, wir können ja einfach mal damit beginnen, warum jetzt WIM ein Editor ist, den man sich anschauen sollte.
Also was macht WIM gut, was andere Editor vielleicht weniger gut machen.
Und da sei auf jeden Fall am Anfang schon mal gesagt, das Killer Feature ist eigentlich, dass wir verschiedene Betriebsmodi haben.
Also andere Editors haben ja meistens nur einen kombinierten Modus, wo man irgendwie schreibt und auch gleichzeitig Kommandos ausführt.
Und da gibt es eben eine strikte Trennung in WIM.
Aber vielleicht fängst du mal an, Volkmar, was sind denn so Modi, die da so mit reinzählen?
Ja, eigentlich, das ist der erste Modi, den es da gibt.
Das ist ja ein Normalmodus, den man da hat, wenn man das Ding aufmacht. Das ist halt der Modus, der andere Leute dazu bringt, ihren Rechner neu zu starten, weil er nicht mehr rauskommt.
Für mich natürlich der Killer Modus.
Also das finde ich halt im Grunde halt das Schöne, weil man sich durch Keystrokes, durch Tastenkombinationen dann halt einfach durch das Ding arbeiten kann.
Man kann ganze Wörter, Zeilen und solche Sachen dann halt auch kopieren, löschen, verschieben, wie auch immer.
Und das ist halt auch alles in diesem Normalmodus drin.
Mag ich, finde ich super, habe ich mich halt daran gewöhnt und kann eigentlich auch gar nicht mehr ohne.
Das ist halt auch ein guter Punkt, wo du gesagt hast, die haben jetzt einen Nano dann halt bei vielen Betriebssystemen ausgetauscht.
Wenn man dann mal so ein VIAI Sudo benutzt und dann in irgendeinem Nano gelangt, dann schreibt man erstmal ganz viel Doppelpunkte und Qs und Ws und was weiß ich da in das Dokument da rein.
Oder in das Skript, was man da gerade offen hat. Das ist halt schon so ein Punkt, ich kann auch nicht mehr ohne.
Genau. Rein kommt, also beziehungsweise wenn man dann halt den Normalmodus verlässt, dann kommt meistens ja dann in den Anfügemodus, wo man dann die Texteingaben machen kann und schreibt.
Zurück kommt man dann halt einfach per Escape oder Steuerung C mittlerweile glaube ich geht auch dann halt wieder zurück in diesen Normalmodus, wo man dann halt auch wieder sich durch dieses Dokument oder dieses Skript bewegen kann.
Genau. In diesen Modus sind keine Texteingaben möglich, das hat man dann meistens schon mitgekriegt.
Meistens kann man sich dann mit I oder A dann recht schnell behelfen, je nachdem an welcher Stelle man gelangen möchte.
Oder U oder wie auch immer. Es gibt dann halt verschiedene Tasten, die dafür zuständig sind. Die muss man lernen.
Das ist halt auch eine Erkenntnis, die ich halt irgendwie so beim BI gehabt habe. Aber so ist das mit vielen Sachen. Man kann halt nicht alles einfach so benutzen.
Man muss sich dann halt schon Gedanken machen, wie es funktioniert. Genau. Das ist das.
Und dann wie gesagt schon der Einfügemodus, das wäre dann halt da, wo man schreibt. Das ist der ganz normale Modus, den man dann halt bei klassischen Editing auch so kennt.
Ja. Ja. Ja, genau. Es geht ja noch weiter. Es gibt ja auch den Kommandozahlenmodus. Der ist dann schon ein bisschen mächtiger.
Im Endeffekt kann man den Außen-Normal-Modus benutzen, in dem man halt einen Doppelpunkt eingibt und kann dann halt verschiedene Aktionen durchführen, wie Buffer einlesen oder eine Datei öffnen, aktuelle Dateien aufrufen.
Es gibt Funktionen für Suchen und Ersetzen mit Rec-Ex und auch SED-Befehlen, die man ausführen kann. Man kann auch externe Programme aufrufen oder auch Code kompilieren und aufrufen.
Das ist halt ein sehr mächtiger Modus, mit dem man auch Schaden anrichten könnte. Hier sollte man dann auch recht gut aufpassen, wenn man externe Programme aus dem Wim ausführt.
Das wäre nämlich auch meine erste Frage gewesen. Also ich kenne dieses Feature. Ich habe das auch schon genutzt, so der Klassiker.
Man schreibt irgendwie gerade eine Dokumentation oder Code oder was auch immer und will wissen, in welchem Ort der lag denn jetzt diese Datei nochmal.
Da kann man ja wunderbar in dem Kommandozahlenmodus sich mal schnell einen LS oder so anzeigen lassen oder kann auch den Output direkt in die Datei mit reinnehmen lassen.
Ich kann mich daran erinnern, dass ich in meiner ersten Firma, wo ich als Unix und Linux-Admin war, die tolle Aufgabe hatte, den Leuten die Rootzugänge wegzunehmen.
Also da gab es Leute, die hatten halt das Root-Kennwort und ich musste dann denen beibringen, naja, mach doch mal lieber Sudo.
Und da habe ich dann auch sehr schmerzhaft feststellen müssen, dass man halt ganz schnell sich so eine Shell aufmachen kann über den VI und dass es gar nicht so einfach ist, dem VI das zu verbieten, mal eben eine Shell aufzumachen.
Also da gab es dann Parameter, aber nutzt ihr das regelmäßig, dass ihr auch wirklich externe Kommandos ausführt, während ihr im Editor seid?
Ich interrupte immer nur und dann hüpfe ich wieder zurück. Das ist so meine Vorgehensweise.
Also ich auch eher selten tatsächlich, was ich ab und an benutze, Systeme editiere oder auch Laufwerke hinzufügen in der FS-Tab, dass ich mir tatsächlich über die Programme, die UIDs oder so was, damit hole.
Ich benutze das eigentlich ziemlich regelmäßig. Ich habe auch quasi gemapt auf die F2, die führt immer die aktuelle Datei aus, in der ich gerade bin.
Also wenn ich Shell-Skripte bastle, kann ich es mit der 2 einfach ausführen. F5 ist mein Make.
Also relativ simple, wohl definierte Sachen, aber ohne das fände ich es anstrengend. Manchmal müsste ich immer über die Konsole wechseln.
Ja, weiteres Feature auf Kommandozahlen-Modus ist dann auch noch das Wechseln von Buffern, also von den Fenstern.
Da haben wir hier die Befehle, um in den nächsten zu springen, zum Beispiel Doppelpunkt BN.
Damit springt man dann in den nächsten. Man kann sich auch mit Doppelpunkt Buffers halt alles anzeigen lassen, was man gerade so auf hat.
Da musst du glaube ich noch einmal ausruhen, weil das ist zum Beispiel etwas, das ich so nicht wirklich kenne.
Also vielleicht oute ich mich jetzt als unwissender, aber dass es mehrere Fenster gibt, das war mir klar.
Aber was ist jetzt in dem Kontext genauen Buffer, muss ich mir vorstellen, wie so ein Tab, den man auch vielleicht von TMUX oder GNU Screen kennt?
Oder wie muss man sich das vorstellen?
Ich hoffe, ich erzähle jetzt nichts Falsches. Im Endeffekt ist, wenn du eine neue Datei öffnest, öffnet der ja ein neues Fenster, der halt ein Buffer ist.
Buffer genannt wird, soweit ich das noch zusammen bekomme. Und dein anderes Fenster wird in den Hintergrund gerückt.
Und wenn du das wieder hervorholen willst, musst du ja da hin wechseln. Und dafür gibt es diese ganzen Buffer Befehle.
Also Jan, korrigier mich, wenn ich falsch liege.
Nee, besser weiß ich es auch nicht. Ich hätte das jetzt am liebsten mit Tabs im Browser verglichen.
Das, wovon man immer viel zu viele offen hat.
Das ist eigentlich ganz schön, weil die auch durchnummeriert sind. Also die erste Datei ist Buffer Nr. 1.
Das heißt, mit Doppelpunkt B1 komme ich immer zur ersten Datei. Und so kann ich durchwechseln.
Und je nach Plugin wird mir auch unten in der Sockelleiste, in der Airline zum Beispiel, angezeigt, was in den einzelnen Buffer für Dateien drin sind.
Und man muss glaube ich noch schauen. Normalerweise erwartet der Wim, dass man den aktuellen Buffer speichert, bevor man wechselt. Also Doppelpunkt W für Right macht.
Man kann aber auch irgendein Setting setzen, dass man die quasi einfach wechseln kann.
Dann warnt einem am Ende beim Beenden vom VI, dass dann noch offene, ungespeicherte Buffer irgendwo umliegen.
Das heißt, sieht man das in der aktuellen Version dann auch rein visuell? Also du hast ja gerade den Vergleich mit den Taps gezogen.
Oder ist das etwas, das ich nachrüsten muss?
Das muss ich nachrüsten. Dafür brauche ich ein Plugin.
Also ich nehme dafür diese Airline. Das ist so eine Art Statusleiste, die mir relativ viele Sachen unten anzeigt.
Ich glaube, die ist auch mit am weitesten verbreitet.
Oder eben, wie der Peter vorne gesagt hat, über Doppelpunkt Buffers.
Ja, dann gehen wir noch weiter.
Der visuelle Modus, der ist dazu da, um Bewegungsanweisungen zu machen, also Text zu markieren.
Blockweise oder einzelne Zeilen kann ich da markieren.
Wenn ich aus dem normalen Modus z.B. klein V nehme, habe ich den normalen visuellen Modus und kann dann halt die Zeilen markieren.
Kann sie löschen, was auch immer, Text einfügen.
Groß V haben wir halt dann den zweistelligen visuellen Block.
Der eignet sich relativ gut, um z.B. ganze Blocks ein- oder auszukommentieren.
Weil man dann mit Shift+I in den Textmodus, also in den Einfügemodus kommt und da dann halt Zeichen für den ganzen Block einfügen kann.
Ja, den visuellen Modus gibt es auch noch.
Der ist dazu da, dass ich mit Bewegungsanweisungen Text markieren kann.
Den benutze ich auch aus dem normalen Modus raus, indem ich z.B. klein V drücken kann und dann Text markieren kann.
Hier kann ich dann halt auch Sachen einfügen, löschen, was ich gerade möchte.
Dann gibt es noch einen zweiten visuellen Modus mit 2 Zeilenweise mit Steuerung V.
Da kann ich die ganze Zeile gleich markieren.
Oder ich habe den Steuerung V Modus mit Spaltenweise, der dient dazu, dass man z.B. Textblocks komplett kommentieren oder auskommentieren kann,
je nachdem wie man es braucht.
Mit Shift+I kommt man dann in den Einfügemodus und kann dann das Auskommentierungszeichen mitgeben.
Und sobald man Escape drückt, wird dann dieser ganze Block auskommentiert.
Ja, dann gibt es noch so Sachen wie ich kann ausschneiden, einfügen, ein Wort einfügen oder ausschneiden oder kopieren.
Also z.B. mit DW kann ich dann das ganze Wort löschen.
Mit YW habe ich die Möglichkeit, ein Wort zu kopieren.
DD würde z.B. eine ganze Zeile löschen, YY eine ganze Zeile kopieren.
Man hat halt auch die Möglichkeiten, ab einem gewissen Zeichen, wo man steht, den Rest zu kopieren.
Das sind dann die Befehle D$.
Da mache ich meinen Cursor. Bis zum Ende kann ich die Sachen dann löschen.
Und bei Y$ habe ich dann die Möglichkeit, diesen ganzen Text bis zum Ende zu kopieren.
Ja, dann gibt es noch HTML, XML Text mit T.
Das habe ich jetzt selber aber auch noch nicht so gebraucht, muss ich gestehen.
Die häufigsten Kommandos sind wirklich Text einfügen, Text löschen, Text kopieren.
Man kann auch Texte dann in andere Fenster oder Terminals kopieren, wenn man dann Anführungsstriche, Stern und D.
Dann kann ich Text in die Zwischenablage kopieren, um ihn dann in einen Editor einzufügen.
Ja, genau.
Auf jeden Fall sehr vielseitig.
Mich erinnert das auch ein bisschen daran, dass es bei mir ein bisschen gedauert hat, die ganzen gängigen Kommandos auswendig zu lernen.
Also wenn noch nie mit dem VIAI gearbeitet hat und deswegen hängt dieser Vergleich mit dem Exit-Game wirklich nicht.
Also am Anfang ist man glaube ich hier erschlagen an den verschiedenen Kommandos, die man so hat.
Und viele Kommandos braucht man auch wirklich nicht tagtäglich.
Aber wenn man das mal schätzen gelernt hat, ist zumindest so mein Eindruck, dass man halt eben mit wenigen Tasten drucken dann halt eben doch
sehr viel Dinge schneller machen kann. Das ist schon so ein Aha-Effekt für mich zumindest gewesen.
War das bei euch auch so oder wie seid ihr dazu gekommen, das jetzt nicht nur sich einmal anzugucken, sondern auch ernsthaft jeden Tag immer wieder einzusetzen?
Ich glaube bei mir war so das große Aha-Erlebnis die Prozent-Taste.
Wenn man auf einer Klammer ist, die Prozent-Taste, die lässt mich zum Pendant springen. Das fand ich schon ziemlich grandios.
Du meinst, dass wenn du zum Beispiel irgendwo einen C-Code offen hast oder so und hast eine Funktion und willst an den Ende, dann kannst du damit, ja das ist eine tolle Sache auf jeden Fall.
C-Codes mit vielen Templates verschachtelt, dann ist es auch zum Debugging ganz hilfreich.
Ja, ich finde tatsächlich auch was du gesagt hast. Man kommt mit wenig klar. Also das ist halt auch der Punkt.
Erstmal ist es so erschlagend und man denkt man muss irgendwie alles lernen. Alles. Komplett.
So das komplette was da möglich ist, ob das nun halt jetzt irgendwelche Tasten sind oder keine Ahnung.
Ist aber nicht so. Du musst halt vielleicht wissen, wie du erstmal reinkommst und rauskommst aus dem Normal-Mode.
Du musst gucken, wie du Wörter kopieren kannst vielleicht und dich vielleicht auch von Wort zu Wort hangeln kannst.
Ich finde zum Beispiel halt die Vorwort- und Torwort-Taste, also LF und T, finde ich halt ganz cool, weil dann kommst du halt auch ganz gut durch den Satz durch, wenn du dann halt weißt, was du tust.
Gerade zeilenweise löschen, das ist ja auch großartig. Oder zeilenweise halt rüber kopieren.
Und das reicht ja meistens schon. Viel mehr macht man ja in Dokumenten sowieso nicht. Sonst würde man sie mit einer Maus wahrscheinlich markieren oder so und dann halt irgendwo rüber kopieren.
Und so hat man dann halt diese paar Tastenkürze und das sind dann halt in Summe vielleicht zehn Tasten, die man sich dann einfach mal merken muss.
Also ich finde das geht schon und dann tut sich das Ganze vielleicht ein bisschen mehr noch auf und man findet dann so die eine oder andere.
Das war der Grund, warum ich da hingeblieben bin. Immer dieses Maus hin und her, das hat man ja in den IDIs ganz stark, dass die Buttons nicht unbedingt ergonomisch angeordnet sind.
Das hat mich dann so fasziniert, dass man eigentlich alles mit seinen Händen an der Tastatur macht und eigentlich die Maus in dem Moment nicht braucht und vor allen Dingen dann auch die Maushand schon.
Stimmt, ist auch für jeden Fall auch ein Thema. Ich glaube, wenn man so wirklich den ganzen Tag nichts anderes macht als lange Dokumente schreiben, das ist sicherlich nicht ganz unerheblich.
Dann gibt es noch zwei Features, Makros und Register. Was hat es denn damit so auf sich, Jan?
Das, vor allem mit den Makros, das basiert ein bisschen darauf, dass wir alles mit Tasten und Kommandos machen können. Das heißt, ich kann mir eine beliebig komplexe Manipulation meines Dokuments letztlich einfach runterschreiben als eine Folge von Zeichen.
Und wenn man eine Weile mit dem VA arbeitet, stellt man fest, es gibt bestimmte Sachen, die macht man häufiger.
Und die möchte man nicht jedes Mal voll eintitten. Also nehmen wir an, das ist so ein Präfix, was man jetzt an den Anfang der Zeile stellt oder irgendwie so was.
Präfix an den Anfang der Zeile stellen, wer großes "i", dann tippt man das ein und dann ist es ein Escape.
Und das kann ich auch einfach als Makro speichern. Also Makros gibt es, glaube ich, in vielen Programmen. Ich finde nur den Zugang hier recht einfach.
Man beginnt das Ganze im Normalmodus, indem man auf die Taste Q drückt, dann einen beliebigen Buchstaben, das ist der Name meines Makros.
Dann gebe ich ein, was ich gerade tun will, also "i", Präfix, Escape, bin also dann am Ende wieder im Normalmodus und drücke dann nochmal auf die Q, um die Aufzeichnung dieses Makros zu beenden.
Und kann dann danach dieses Makro, nehmen wir an, das habe ich jetzt "p" für Präfix genannt, würde ich das mit "@p" wieder aufrufen.
Und es gibt eine Menge Aufgaben, die man sich so vereinfachen kann. Das kann auch beliebig komplex sein.
Ich kann zum Beispiel Zeichenkette löschen oder sie zwischen Klammern, zwischen Anführungszeichenweise, welche was stellen. Das sind so typische Aufgaben, die ich mit so Makros mache.
Ich glaube, das war so der erste Punkt, wo ich wirklich erkannt habe, dass mir das viel Arbeit abnimmt, weil ich so bestimmte Schritte hatte.
Ich habe eine Zeit lang eine Arbeit gemacht, da ging es darum, Texte zu bearbeiten, schriftliche, also zu redigieren und quasi ein bestimmtes Format für das Layouten dann zu bringen.
Und das ging sehr gut, über solche Makros abzubilden.
Ist das das, was zufälligerweise, wenn man die Aufnahme startet, wie du es gerade beschrieben hast, wo dann links unten "Recording" steht, ist das diese Funktion?
Ja, genau das. Ich bin dann nämlich auch genauso darüber gestolpert.
Lustig, ist das jetzt bestimmt, also einmal im Quartal passiert mir, dass das bestimmt und dann denke ich mir immer, was ist das? Mach, dass es aufhört.
Im Zweifel einfach noch mal Q drücken, dann ist das weg. Also im Normalmodus.
Und dann hast du danach auch ein schönes Makro, was du aufrufen kannst. Das ist ganz hilfreich.
Wo liegt das Ganze? Das klingt jetzt so, das würde dann irgendwo gespeichert werden. Vermutlich in der lokalen BIM-Konfiguration oder wo muss ich mir das...
Also nicht in der Konfiguration. Ich weiß nicht genau, wo es gespeichert wird. Das gibt quasi so einen Cache. Das bleibt aber witzigerweise auch bestehen.
Also es wird schon zentral von BIM gespeichert. Das heißt, wenn ich das nächste Mal mein BIM irgendwo anders aufmache, kann ich auf die vorher gespeicherten Makros zugreifen.
Das heißt, du hast dann deinen Satz Makros, den du meistens eine ganze Weile beibehältst.
Und vielleicht noch einen Schritt weiter, wo es gespeichert wird. Das führt uns jetzt tatsächlich direkt zu den Registern.
Register sind benannter Zwischenspeicher. Also unter Windows haben wir typischerweise einen Zwischenspeicher, den wir mit Ctrl+C und Ctrl+V erreichen.
Unter Linux haben wir auch diesen Zwischenspeicher und noch einen zweiten Zwischenspeicher, den man quasi...
Die Primary Selection, das was ich mit der Maus gerade markiert habe, was ich mit der mittleren Maustaste woanders einfügen kann.
Und im VI habe ich darüber hinaus noch quasi für jeden Buchstaben ein Register.
Ich habe sogar noch ein bisschen mehr. Ich glaube, Peter, du hattest das auch schon erwähnt. Ich kann quasi mit so einem vorangestalten Anführungszeichen "+" und dann "p"
kann ich den Inhalt der globalen Zwischenablage im VI einfügen. Mit doppelten Anführungszeichen "*p" kann ich die Primary Selection irgendwo einfügen.
Und andersrum kann ich mit doppelten Anführungszeichen "+" "$" könnte ich quasi alle Zeichen von aktuellen Cursor Position bis zum Ende meiner Zeile in den Zwischenspeicher mit dem "+" legen.
Und das ist gerade meine globale Zwischenablage. So kriege ich also Text aus dem VI in meinen normalen...
Ja, kann ich das im Browser kopieren zum Beispiel. Und wenn ich dann ein beliebiges anderes Zeichen davor setze, zum Beispiel Anführungszeichen "a", "yy", kopiert man meine aktuelle Zeile.
Also "y", das steht für "yank". Ich finde es immer ganz hilfreich, wenn man sich diese die mal benennt, wofür das steht.
Also "y" für "yank", "d" für "delete", "c" für "change", "s" für "substitute", "p" für "paste". Das sind glaube ich die wichtigsten.
Und mit zweimal, wenn ich das immer auf die ganze Zeile an, also Anführungszeichen "a", "yy", kopiert man einfach die ganze Zeile in mein Register namens "a".
Das kann ich mir auflisten lassen, ähnlich wie die Buffers mit Doppelpunkt "register".
Das zeigt mir wie AI auf, was ist gerade in welchem Zwischenspeicher gespeichert.
Und wenn ich davor ein Marko erstellt habe, dann tauchen die auch als so ein Register auf.
Und das ist eigentlich ganz witzig. Also wenn ich davor irgendwas gespeichert habe, sehe ich das jetzt?
Was ist tatsächlich die Zeichenfolge gewesen, die ich da benutzt habe?
Ich kann das dann auch ganz normal, also im Vorhinein hat das Beispiel dieses Marko namens "p".
Jetzt könnte ich auch mit Anführungszeichen "p" und dann noch mal "p" für "paste" den Inhalt dieses Markos mir ausgeben lassen.
Ich kann dann auch, wenn ich sehe, ich habe mich vertippt, kann das korrigieren, wieder markieren, vielleicht auch mit dem visuellen Modus, den wir auch schon hatten, also mit "v" quasi den Bereich auswählen.
Anführungszeichen "p" "y" gibt mir genau den Inhalt meiner Markierung in das Register namens "p", was ich dann auch als Makro namens "p" verwenden kann.
Das heißt, ich kann mir eine Datei pflegen, wo ich einfach diese ganzen Makros reinschreibe und dann bei Bedarf den entsprechenden Zwischenspeicher widerlade.
Das war jetzt nicht zu komplex, aber da ist wirklich eine ganze Menge Potenzial drin, wie man damit arbeitet.
Faszinierend. Ich finde es auch schön, wie das jetzt eskaliert ist von "Willkommen zu der Folge", "Warum benutzen wir Wim?" bis hin zu "Es gibt übrigens Register, die im gleichen Pool wie Makros gespeichert werden", in, ich glaube, 30 Minuten.
Also Wim ist auf jeden Fall ein spannender Editor, der eine sehr steile Lernkurve hat, aber auch sehr viele Dinge wirklich sehr gut und effizient umsetzen kann.
Also das fand ich total spannend. Makros waren bei mir bisher immer nur versehentlich drauf gekommen und Register waren wir gar nicht bekannt.
Das werde ich mir auf jeden Fall im Nachgang nochmal anschauen.
Und ja, die Frage, die sich jetzt so ein bisschen stellt, ja vielleicht auch ist, naja, aber warum ist das so ein so ein toller Editor, der halt auf der Kommandozeile Dinge tut?
Naja, wir haben es schon angesprochen, es ist ja effizient und das heißt natürlich auch, dass es auf jeglicher Art von Hardware irgendwie läuft.
Also das läuft dann halt eben auf einem klassischen Rechner, aber kann halt eben auch auf so einem kleinsten Raspberry Pi laufen bis hin zum Superrechner, also der wie iLoft wirklich überall.
Und das hat auch so ein bisschen geschichtliche Hintergründe. Das werden wir uns gleich als nächstes mal anschauen.
Und was ich total faszinierend finde, also die jeweiligen geneigten Zuhörer*innen werden es vielleicht wissen, dass ich ein Freund von Retro Hard und Software bin.
Und ich habe hier links neben dem Gerät, vor dem ich gerade sitze und diese Aufzeichnung mache, steht ein Original 1994 486 DX mit 33 MHz und DOS 622.
Und wisst ihr was? Es gibt immer noch funktionale DOS-Ports dafür.
Das ist total faszinierend. Also du hast hier wirklich 30 Jahre alte Hardware und kannst darauf einen aktuellen Konsolen-Editor ausführen und kannst total effizient mit der MS-DOS deine Dateien bearbeiten.
Also das ist für mich so ein Aha-Erlebnis gewesen, dass es da definitiv einen Use-Case für gibt.
Weil wenn sich jemand da hinsetzt und das portiert und macht und tut, dann scheint es da eine User-Base zu geben. Ich zum Beispiel.
Habt ihr irgendwo den VI mal in einer besonders exotischen Hard- oder Software-Konstellation angetroffen oder bisher klassisch ganz normal auf Servern oder Desktop?
Ich hatte mal ein Ubuntu Phone. Da war ich ganz begeistert, dass ich auch mein Ubuntu zwar sonst nichts machen konnte, aber den VI hatte ich.
Das stimmt tatsächlich. Da könnte ich jetzt noch meinen Nexus, hatte ich damals meinen 2012, und da habe ich ein Ubuntu Touch draufgebaut. Das fand ich auch gut. Das war auch toll.
Ja, im embedded-Bereich findet man das auch. Ich hatte auch mal so ein Nokia N900 und da lief ja auch so eine QT-basierte Oberfläche drauf.
Und da war auch der VI irgendwo im Untermenü versteckt. Da habe ich mich natürlich auch sehr gefreut, dass ich den da vorfinden konnte.
Das bringt uns auch so ein bisschen zur Geschichte. Ihr habt jetzt gehört, wir haben bewusst vom VI und nicht vom WIM gesprochen.
Denn was vielleicht nicht alle wissen, die sich mit dem Editor noch nicht so lange beschäftigen, der WIM ist im Prinzip eine Reinkarnation des VI.
Und der VI, auch das können wir mal festhalten, der ist 1976 eben programmiert worden und zwar von Bill Joy für eine frühere BSD-Version.
Bill Joy ist eben maßgeblich für seine Mitarbeit am BSD-Projekt bekannt, hat aber auch später TCP/IP weiterentwickelt und war auch eins der Gründungsmitglieder von seinen Microsystems.
Und das ist echt faszinierend. Und wo der Name herkommt, also früher stand VI eben halt hier für Visual und das war quasi ein Modus eines anderen Editors, der X hieß.
Also das war auch ein Commando-Sign-Editor, den auch er selbst entwickelt hatte. Und X wiederum war eine Weiterentwicklung eines weiteren Konsum-Editors, der eben Ed hieß.
Also ihr seht, das hat vor allen Dingen historische Hintergründe, dass man auf Unix-Uiden-Betriebssystemen eben vor allen Dingen Commando-Sign-orientierte Editors antrifft.
Also den Ed-Editor, der wurde auch tatsächlich von Ken Thompson entwickelt, einem der Unix-Erfinder. Der war wohl in puncto-usability nicht sehr benutzerfreundlich, deswegen gab es den X und aus dem X kam dann irgendwann der VI.
Und um da nochmal die Brücke zum Vim zu schlagen, Vim ist quasi 1991 erstmalig erschienen und stand damals hieß das Teil noch VI Imitation.
Und das war eine Entwicklung von Bram Moulinard, ich hoffe, ich habe es jetzt richtig ausgesprochen, ist ein niederländischer Entwickler, der mittlerweile bei Google arbeitet.
Der hatte damals Anfang der 90er sich einen Amiga zugelegt und hat irgendwie festgestellt, naja da gibt es ja irgendwie keinen gescheiten Editor.
Er wollte unbedingt den VI haben, also hat er halt den VI auf den Amiga portiert und das war quasi dann VI Imitation.
Und das war so ein bisschen die Geburtsstunde des VIs könnte man sagen und Bram Moulinard ist auch heute immer noch, liebevoll nennt er sich, benevolent dictator for life of Vim.
Also er ist so der wohlgesinnte Diktator des Projekts und hat da halt eben auch viel in der Entwicklung noch mit zu tun.
Das fand ich total spannend, woher das eigentlich kam.
Und 1992 gab es dann im Prinzip die erste Portierung dieses neuen Editors für Unix und MS-DOS.
Das MS-DOS war natürlich immer aus seiner Zeit voraus und deswegen gab es diesen Editor auch relativ früh schon für MS-DOS.
Und da hat er dann auch seinen Namen VI Improved bekommen und so heißt er ja auch heute noch.
Also Vim steht nach wie vor entsprechend für VI Improved.
Kommen wir mal zu weiteren Versionen. Es gab ja danach noch immer mehr Versionen, die rausgekommen sind.
Also die aktuellste Version ist die Version 9.0, aber bis dahin war es ein langer steiniger Weg.
Ich weiß nicht ob ihr da mal ein bisschen drüber gehen wollt. Was ist da so neues? Gab es in den einzelnen Versionen?
Ja, die gute Sache ist fast.
Wo waren wir denn stehen geblieben? Wir waren jetzt 92.
Wir sind im Jahr 1994 mittlerweile angekommen.
Da war ich noch weit entfernt und da habe ich glaube ich meinen ersten Rechner. Das war ein 4168er SX.
Wow! 33 Megahertz und eine 350 Megabyte Festplatte und noch kein Linux drauf. Tatsächlich noch DOS mit Windows 3.11.
Genau, aber die Version 3.0 hatte dann schon die Möglichkeit, dass man mehrere Fenster dort einnutzen konnte.
Man merkt so, hier sind die Schritte sehr klein noch. Also zwei Jahre. So ist ja für die Zeit glaube ich so gute Releasezyklen dann halt im 2-Jahres-Abstand so eine Breaking Changes hier rein zu ballern,
die dann halt das ganze Wim-Paradigma über den Haufen werfen.
Und 1996 war dann die optionale GUI, wobei ich das eigentlich nie so richtig verstanden habe, weil den nutze ich halt aus einem Terminal heraus und nicht anders.
Ja, ich kann auch weitergehen.
Ja, gerne. Erzähle uns mal vom Krieg hier früher.
Ja, tatsächlich sind das 2-Jahres-Zyklen. Wir haben 92, 94, 96, jetzt sind wir bei 98, Syntax-Highlighting.
Das finde ich glaube ich, da nimmt das Ganze ein bisschen Struktur an und die meisten konnten dann schon erahnen, was mit dem VI alles noch möglich sein könnte.
Genau. 2001 haben sie sich schon drei Jahre Zeit gelassen. Die vergrößern sich die Zyklen. Achso, da wollte glaube ich der Jan was zu sagen. Zu der gerade Code-Faltung und Einklappung.
Das ist glaube ich die Zeit, wo ich ungefähr angefangen habe mit dem Wim zu arbeiten, wo das auch ungefähr die Zeit ist, wo ich angefangen habe zu programmieren.
Ich erinnere mich schon noch, dass ich da auch so Sachen wahrgenommen habe, wenn es irgendwie mal ein Update gab, dass sich wirklich im VI auch was verändert hat.
Syntax-Highlighting ist auf jeden Fall wichtig gewesen damals. Hat auch glaube ich alle, die es kennen, nutzen es gerne, weil es vor vielem schützt.
Ich habe später mal Syntax-Highlighting Plugins geschrieben. Das ist eigentlich recht schön, wie das funktioniert, weil man da einfach verschiedene Highlighting Klassen hat.
Man kann anhand von Regular Expressions definieren, was wie ausschauen soll. Das ist sehr eingängig.
Kann man beliebig Komplex natürlich treiben, weil man alles irgendwie auch noch scripten kann im VI, aber erstmal relativ gradlinig.
Dieses Code oder Zone-Folding heißt es eigentlich. Ich weiß nicht, ob das jemand von euch ab und zu mal benutzt oder ob ihr es kennt.
Das ist glaube ich ein eher unbekannteres Feature im VI. Ich kann quasi Zeilen zusammenfassen zu Zonen.
Und dann kann ich sie ein- oder ausfalten, auch auf verschiedenen Ebenen.
Nehmen wir mal eine Markdown-Datei. Da habe ich jetzt Überschriften verschiedener Ebenen und da kann ich, wenn das entsprechend konfiguriert ist, das geht dann übrigens über Plugins.
Zum Beispiel sagen alles ab Ebene 3 wird eingefaltet. Dann sehe ich quasi die erste Zeile mit dem Inhalt dieser Zeile.
Daneben so ein kleines Vermerkt. Das sind jetzt 27 Zeilen zum Beispiel. Und diese Zeile ist dann grau markiert oder irgendwie andersfarbig hinterlegt.
Das ist schon erstmal um Code klein zu halten. Das gibt es in anderen grafischen Editoren auch, dass ich diese kleinen Buttons am links in einer Spalte habe, um Code-Blöcke zusammenzuklappen.
Und das geht relativ schön auch. Das gibt es eben automatisch anhand von der Syntax meines Textes. Ich kann auch anhand von Einrückungen falten.
Das ist dann praktisch, wenn ich mit YAML-Dateien zum Beispiel arbeite. Oder ich kann auch sagen, dass ich manuell Faltungen definiere.
Muss ich dem WI einmal sagen. So etwas wie $setFolding und $setFoldMethod gleich manual.
Dann kann ich im visuellen Modus einen Text markieren und dann sage ich $setFold. Dann speichert er im Hintergrund hier einen Fold.
Das kann ich dann mit $setA aufklappen und nochmal $setA kann ich den quasi wieder zufalten.
Also eigentlich eine ganz praktische Funktion, wenn man ab und zu mal ein bisschen High-Level-Blick auf sein Dokument haben möchte.
Ja, 2006, 5 Jahre später kam die Version 7. Rechtschreibprüfung und TAP-Funktionalitäten.
Also Rechtschreibprüfung verwende ich auch, gerade beim Markdown, wenn ich viel Text schreibe.
Da hat man die Möglichkeit, das entweder fest zu definieren in seiner Config oder man kann das dann auch mit Doppelpunkt set und dann spell und spellLeng gleich zum Beispiel de setzen,
sodass man dann deutsche Rechtschreibprüfung hat und der einem auch anzeigt, hallo du hast da Buchstaben vergessen oder falsch geschrieben.
Ja und wenn man dann aus dem normalen Einfügemodus mit Escape rausgeht und auf diesem falschen Wort steht,
kann man dann mit z und gleich eine Korrektur aufrufen und bekommt Vorschläge, wie man das halt dann richtig schreiben kann.
Ja und dann auch die TAP-Funktionalität, die hatten wir eben schon mal mit dem Buffers, dass ich zwischen TAPs hin und her springen kann.
Das war das mit Doppelpunkt bn oder halt die Nummer angeben, wenn die durchnummeriert sind mit b1.
Das kann man sich halt vorher auch schön anschauen unter Doppelpunkt buffers.
Da sieht man dann die Nummern, wie die heißen und was geöffnet ist.
Das ist eine ganz nette Funktionalität, wenn man in einem Standard WIM unterwegs ist.
Weißt du, wie das mit der Rechtschreibprüfung intern aussieht? Ist das eine eigene Engine oder wird da,
also ich glaube Linux ist ja A spell und Hans spell sind ja relativ bekannte Tools.
Werden die benutzt oder bringt da WIM was eigenes mit?
Ich glaube, das ist ein einfacher Diktinaree-Abgleich. Also man kann zumindest, wenn man selber Wörter hinzufügt,
sich das im Klartext anschauen, aber du hast recht, welches Tool da verwendet wird. Um das zu machen, bin ich auch unsicher.
Das ist ja das Schöne. Es gibt ja immer die Auswahl, das Fluch und Segen gleichermaßen, der Floss-Szene.
Es gibt viele Wege, um zum Ziel zu kommen, das ist der Vorteil und der Nachteil ist, es gibt viele Wege, um zum Ziel zu kommen.
Was auch ein bisschen länger gedauert hat, also wir haben ja gerade schon rausgehört zwischen Version 6 und 7,
waren es schon 5 Jahre, Version 8 hat 10 Jahre auf sich warten lassen. Die kamen nämlich 2016 raus.
Die bot dann Async I/O, Jobs und Timers, die hatte GTK3-Support und, das hat mich ein bisschen stutzig gemacht,
DirectX-Support, da dachte ich so irgendwie an 3D-Animation oder irgendwie sowas, aber es ist wohl tatsächlich so,
dass für das Font-Rendering unter Windows, da wird dann halt eben eine DirectX API angesprochen.
Also wieder nichts mit einem 3D-animierten VR-Editor, da müssen wir wohl noch aufs Metaverse warten.
Das letzte Highlight, kann man so sagen, ist jetzt hier gerade neu erschienen, Version 9.0, ist eine neue Hauptversion.
Da hat sich auf jeden Fall wieder einiges getan und neu ist vor allen Dingen eine eigene Skriptsprache
oder eine neue Skriptsprache, die Vim9 heißt oder Vim9 Script. Und das ist die Sprache, die zum Einsatz kommt,
wenn man sich selbst Dinge Plugin-mäßig konfiguriert. Also wenn ihr euch selbst eine Erweiterung programmieren wollt
für eure Lieblingsprogrammiersprache oder für eine Funktionalität, die ihr vermisst, dann ist das jetzt quasi die neue Skriptsprache.
Die ist schneller, weil quasi nicht mehr jeder Zeile neu interpretiert werden muss und in den Release Notes,
die wir auch verlinkt haben, wurde von Faktor 10 bis 100-fach schneller gesprochen. Und das finde ich echt interessant.
Also ich habe nie groß Plugins selbst entwickelt oder größere Plugins eingesetzt. Da kann vielleicht Jan mehr zu sagen,
wo da der Unterschied ist. Also worin hat man es vorher geschrieben? War das eine andere oder auch eine eigene Sprache?
Das hieß VimScript vorher ein bisschen eine klobige Sprache gewesen tatsächlich, weil die teilweise auch nicht einfach von oben nach unten zu lesen war.
Okay. Das ergibt dann Sinn, dass man da so ein bisschen Geschwindigkeitsoptimierung machen konnte, wenn man nicht mehr jederzeit neu interpretieren muss.
Und was du auch gerade angesprochen hast in den Release Notes stand auch, dass die Sprache eben weniger Vim-spezifisch ist,
also auch wieder so ein bisschen mehr High-Level-Sprache ist und deswegen aber auch nicht mehr 100% abwärtskompatibel ist.
Das heißt, es gibt immer noch so ein Legacy-Script-Support, dass man halt sein klassisches Vim-Script, wie du es gerade dran hast, nutzen kann.
Aber ich kann jetzt dieses Vim-Script nicht einfach eins zu eins in Vim-9-Script halt irgendwie nutzen.
Also da muss man dann wohl ein bisschen Dinge umbauen, soll aber angeblich überschaubar sein.
Und das Release ist dem Entwicklers Sven Guckes gewippnet, der eben im Februar diesen Jahres verstorben ist.
Das war auch ein recht bekannter Entwickler der Floss-Szene und der hat vor allen Dingen auch viel an Vim mitgearbeitet.
Das ist so, was die Version 9.0 so mitbringt. Ich glaube, die meisten Distributionen liefern es noch gar nicht aus.
Also klar, wenn man jetzt natürlich mit Bleeding Edge unterwegs ist und Nixos oder Arch einsetzt, dann gibt es das sicherlich schon.
Aber die gängigen Distributionen, die herführen das Paket noch nicht.
Deswegen müssen wir uns dann noch ein bisschen gedulden, bis wir die neuen Features nutzen können.
Und wo wir es gerade beim Thema neue Features haben, es gibt ja noch einen weiteren Editor, der von Vim eben abgeforkt wurde.
Und das ist Neo Vim und damit hat sich Peter so ein bisschen beschäftigt. Worum geht es bei dem Editor?
Grundlegend geht es beim Neo Vim oder man hat sich verschrieben, ein bisschen moderner und auch schneller zu werden, wie der Vim.
Grundlegend ist der Neo Vim aber abwärts kompatibel. Also man kann auch seine alten Vim-RCs benutzen in Neo Vim.
Was Neo Vim so ein bisschen, ich finde, fast besser macht, wie Vim, sind halt die Language Server, also Syntax Highlighting und Completion.
Die haben eine interne LSP drin, die auch in meinen Augen sehr einfach zu konfigurieren ist.
Das Ganze basiert auf Lua, also man hat die Möglichkeit, die ganzen Konfigurationen auch in Lua zu ändern.
Und das macht es halt auch ein bisschen einfacher, weil ich finde Lua ist ein bisschen einfacher zu lesen als Vim-Script, gebe ich zu.
Und die Implementierung von zum Beispiel einem Syntax Highlighting und Completion für Ansible ist da relativ schnell erledigt.
Ich habe also ein Code Snippet, was ich mir von der Seite kopieren kann praktisch, kann es meinen Bedürfnissen anpassen,
lad mir dazu noch den Ansible Language Server drauf und schon kann ich das Ding auch nutzen und der macht mir dann die Completion Vorschläge.
Ansonsten gefühlt ist das schneller als der Vim an manchen Stellen.
Also gerade so bei Syntax Prüfungen, wenn ich so an Syntastik denke, das dauert immer relativ lange und in Neo Vim geht es relativ zackig.
Also es zeigt mir eigentlich On-the-Fly an.
Dann gibt es auch noch ein paar recht nette Plugins, wie zum Beispiel File Browser.
Da gibt es den Telescope File Browser, der ist wirklich sehr gut.
Und auch so die Telescope Plugins, die das FZF praktisch ersetzen und ich da die Möglichkeit habe relativ schnell so Fuzzy File Find mäßig,
meine Dateien zu suchen oder auch ein File Grab zu machen, also in meinen ganzen Dateien suchen kann,
ohne dass ich groß viel dazu installieren muss, außer das Plugin und halt wieder Discodesnibbit, was halt die Funktionalität dann aufruft.
Ansonsten funktionieren eigentlich auch alle Plugins, die in Vim funktionieren.
Also ich hatte jetzt noch keins, was ich benutze, was nicht funktionierte.
Und ansonsten, wie schon gesagt, ist es eigentlich abwärts kompatibel, sodass auch erst mal alte Konfigurationen funktionieren.
Wie muss ich mir das vorstellen? Also beim Vim Projekt, da gibt es ja wirklich viele Entwickler*innen, die sich mit dem Thema beschäftigen.
Wie sieht es bei Neo Vim aus? Ist es ein gleich großes Team oder?
Wie muss ich mir das vorstellen? Ja, wir haben einen Hauptentwickler, den findet man ja auch unter oder auf YouTube.
DJ Devries, der ist sogar ein vollbezahlter Entwickler durch Spenden und kann sich dem Projekt wirklich voll widmen.
Es gibt da tolle Videos, wie man auch als Anfänger from the scratch sich da reinarbeiten kann, auch eine Completion aufsetzen kann.
Und dann gibt es natürlich die Community und Supporter, die halt an dem Projekt mitarbeiten.
Ich kann die Videos nur empfehlen, sind sehr witzig und machen auch Spaß.
Ok, das ist interessant. Das hatte ich so noch gar nicht auf der Agenda, muss ich zugeben. Ist das bei dir ein Daily Driver?
Also benutzt du das regelmäßig oder war das eher so mal reinschnuppern und du bist dann doch eher bei Vim gelandet?
Ich muss ehrlich gestehen, ich habe es ausprobiert und bin hängen geblieben.
Also es macht unheimlich Spaß, mit NeoWimp zu arbeiten und gerade diesen Plugins fühlt sich sehr gut an.
Ob man jetzt einen Files sucht oder der Bufferwechsel ist auch sehr gut gemacht.
Da bin ich dann hängen geblieben und nutze es eigentlich jetzt als Daily Driver auch zum Schreiben von den Automatisierungsskripten.
Ok, spannend. Dann müsste ich mir das vielleicht auch mal anschauen. Ich bin da mal drüber gestolpert zufällig.
Ich glaube es war ein NixOS oder irgendein Art Schließungsderivat, das ich mal ausprobiert habe und wollte etwas editieren.
Vim war nicht installiert und dann habe ich ein paar mal TappTapp gemacht und dann habe ich gesehen, naja es gibt einen NWim.
Da dachte ich, was ist denn ein NWim? Und dann habe ich festgestellt, naja ok, das ist wohl irgendwie ein Fork und der heißt NeoWim.
Also ist nicht überall bekannt, aber anscheinend ja technisch sehr interessant.
Und sieht das dann anders an als der Vim?
Nein, nicht wirklich, weil ich sage mal auch die Shortcuts, die du hast, die sind ja äquivalent, die sind ja nicht geändert.
Du hast vom Configurationsaufbau andere Möglichkeiten, da ja Lua verwenden kannst. Du musst nicht mehr VimScript verwenden.
Du kannst es verwenden. Und ansonsten finde ich einfach die Tools relativ gut.
Wie gesagt, im Teleskop, um Dateien schnell zu suchen und zu öffnen.
Dann auch das Switchen von Buffer geht relativ zackig mit Teleskop.
Das ist auch noch eine Funktionalität, die da mitbringt und natürlich das File Grab. Das ist Wahnsinn.
Das macht unheimlich Spaß, wie schnell du deine Daten dann findest oder auch eine Zeile Code, die du suchst.
Ich muss jetzt nochmal noch was einbringen, weil das habe ich jetzt in meiner Quick-Recherche nochmal kurz rausgefunden.
Tatsächlich 55.000 Stars hängen da an dem Neo-Vim Projekt bei GitHub und Vim, kackt da mit 30.000 so ein bisschen, ist nicht so doll.
Und Forks, das finde ich eigentlich immer relativ wichtiger bei solchen Projekten, sind wir bei 3.9k Forks gegenüber den 4.5k Forks bei Vim.
Das sind zwei gleichwertige Projekte, die da getrieben werden.
Das ist auch immer wichtig zu wissen, dass das jetzt nicht so irgendwas ist.
Da kann man sich ruhig mal rantrauen, da arbeiten noch ein paar Leute weiter dran.
Gibt es ja auch schon eine Weile. Ich glaube 2014 ist das gefolgt worden.
Das sind ja auch schon ein paar Jahre Zeit, die da investiert wurden.
Faszinierend. Also das kommt auf meine ominöse To-Do-Liste, wo ich mir immer mehr Dinge draufschreibe, die ich mir vornehme anzuschauen, aber es dann irgendwie doch nicht schaffe mir anzugucken.
Aber da würde ich sagen, das ist realistischer, dass ich mir das anschaue, weil das scheint dir wirklich einen Mehrwert zu bieten. Schöne Sache.
Ja und jetzt haben wir viel über Vim gesprochen und ihr wisst, was im Zusammenhang mit Vim auch immer erwähnt wird.
Wir müssen jetzt einmal kurz drüber reden. Vim versus EMAX. Wie steht ihr dazu? Und warum gibt es diesen Glaubenskrieg eurer Meinung nach?
Ich kann dazu gar nichts sagen. Mit EMAX habe ich mich nie beschäftigt, da bin ich permanent dran vorbeigerannt.
Ich habe damals noch in meinem Vorarbeitgeber, da war so der eine oder andere Entwickler, der dann halt auf der Basis Dinge getan hat.
Das kann ich mir gar nicht so richtig vorstellen. Aber warum ist da Glaubenskrieg? Also ich finde halt, wie gesagt, ich bin vorbeigerannt.
In 20 Jahren Linux bin ich am EMAX vorbeigerannt. Also das weiß ich nicht. Ich bin jetzt vorsichtig, was ich sage, aber genau.
Ich persönlich habe mal ausprobiert, weil mich Klausur interessiert hat. So praktisch dieses Live-Musik-Coding.
Und bin dann schnell von abgekommen, weil ich den EMAX eigentlich zu kompliziert fand. Ich kann heute auch gar nicht mehr sagen, warum kompliziert.
Aber ja, ich habe es dann gelassen und habe ihn nie wieder angefasst.
Ich glaube mir geht es da eher nicht wie dem Folk mal. Es gab nie irgendwie so einen richtigen Punkt, wo ich es mal benutzt hätte.
Und den VI hatte ich kennengelernt, war zufrieden. Einfach keine Notwendigkeit.
Ist relativ unspektakulär, glaube ich, wie wir alle mit dem EMAX umgehen oder nicht umgehen.
Ich muss auch zugeben, ich kenne wenig Leute, die EMAX benutzen oder sie sagen es nur nicht. Kann ja auch sein, dass man aus Angst vor einem Gesprächskrieg,
der sich entfachen könnte, dann vielleicht lieber gar nichts zu dem Thema sagt. Aber ich selbst bin da auch immer mit Vollgas dran vorbeigerannt, muss ich ganz ehrlich zugeben.
Ich kann mich dunkel daran erinnern, einer meiner ersten Linux-Installationen, die ich mal durchgeführt habe damals,
das war, ich glaube, ein Debian Sarge oder sowas dürfte es gewesen sein. Da war, warum auch immer, ich habe das nicht ausgewählt, der EMAX vorinstalliert.
Und den VI kannte ich schon so ein bisschen zu dem Zeitpunkt. Also ich hatte das mir schon vorher mal in Live-CDs, habe ich ein bisschen mit dem Dings gearbeitet.
Und das fühlte sich irgendwie komplex für mich an. Und dann hatte ich den relativ schnell wieder durch den VI ausgetauscht.
Ich glaube aber, dass vor allen Dingen Programmierer in sich mit dem EMAX vielleicht beschäftigen.
Also wenn ich mich recht entsinne, war doch EMAX auch der Editor, der vor allen Dingen Konfigurationen in Lisp ermöglicht.
Und das glaube ich, wenn man in dem Kontext unterwegs ist, da stößt man da irgendwie häufiger mal drauf, habe ich zumindest mal gehört.
Aber ich selbst bin da emotionslos. Also ich finde, der VI oder der WIM sind vorher wirklich sehr gute Editoren, die ich gerne benutze nach Möglichkeit.
Aber ich bin jetzt auch niemand, der irgendwie Bashing betreibt, weil jemand einen Nano benutzt oder irgendwie einen Pico.
Also man ist jetzt als User nicht mehr oder weniger wert, weil man in der Lage ist, alle Funktionen des VI zu bedienen.
So gibt er zum Glück ja für jeden den richtigen Editor. Ich selbst bin ja auch ein großer Fan des Editors Tilde.
Ich weiß nicht, sagt er euch was? Klingels da?
Ich blicke in kopfschüttelnde Gesichter. Tilde ist quasi eine Open Source Reprogrammierung von Edit.com, was man ja von MS-DOS herkennen dürfte.
Das nehme ich auch ganz gerne, das erinnert mich so ein bisschen an die 90er. Sieht dann farblich auch genauso aus.
Da freue ich mich dann, wenn ich den mal sehe irgendwo.
Schöne Editeersession bei TOURNLIMITED.
Ich sehe also der Glaubenskrieg bleibt bei uns aus. Es gibt keinen Flame War, finde ich auch ganz gut. Aber kommen wir doch mal zu den Vorteilen und den Features von Vim.
Wir haben jetzt ganz, ganz viel gehört, was der Vim eben toll löst und was er vielleicht mehr kann als andere Editoren.
Mich würde jetzt einfach mal interessieren, seid ihr eher so Team Vanilla Vim oder passt ihr mehr an?
Weil das große Problem, dass man ja immer so hat, man kann sehr viel Zeit in die Anpassung eines Editors benutzen oder verwenden.
Ja und dann installiert man sich den Rechner neu und beginnt halt im Prinzip wieder von neuem, wenn man keinen Backup gemacht hat.
Also mich würde mal interessieren, was ist denn so euer Killer Use Case, wo ihr sagt, das ist ein Feature, das bietet mir nur Vim und ohne diese und jene Anpassung könnte ich jetzt nicht mehr so leben in meinem Alltag.
Vielleicht mal angefangen bei dir, folgt mal, was ist so bei dir das, wo du sagst, ohne das kann ich nicht mehr leben und diese Anpassung, die brauche ich immer.
Tatsächlich kommt es wirklich drauf an, also wenn ich auf einem Betriebssystem als Engineer unterwegs bin, dann nehme ich das Ding so, wie es ist und so mag ich es halt eigentlich auch.
Also für mich ist das Feature der Normal Mode eigentlich schon für mich eigentlich das Killer Feature, weil ich mich halt recht schnell durch Skripte hirschen kann und da halt schnell Dinge tun kann.
Wenn ich das Ding aufbohre und, kommen wir wahrscheinlich später, also für mich dann als IDE nutze oder als erweiterte Editor oder vielleicht als Schreibprogramm,
dann brauche ich halt natürlich andere Tools, Plugins, die dann halt je nachdem halt irgendwie da, da will ich auch noch nicht so viel voraus und also für mich ist es der Normal Mode, das ist schon das Killer Feature für mich, das reicht schon aus.
Das integriere ich gerne auch in andere Anwendungen, das finde ich cool, das macht Spaß, kann auch nicht mehr anders.
Wie sieht es für dich aus, Peter?
Ist ähnlich, ist auch der Normal Modus einfach, weil ich da die Möglichkeit habe, nicht gleich alles kaputt zu machen.
Vor allen Dingen, was mich so begeistert ist, wie ich mit Text jonglieren kann.
Also gerade das komplette Auskommentieren von Code ist in manchen Editoren echt bescheiden oder man muss fünf Tasten gleichzeitig gucken, wie zum Beispiel ein VS Code.
Ich meine, klar, man kann das alles anpassen, nur in Vim habe ich das out of the box und es funktioniert.
Und zwar ohne Probleme, das ist einfach so ein Feature, da kann ich nicht drauf verzichten.
Und genauso wie beim Folkma, gewisse Plugins erleichtern da noch das Leben auf einfache Weise.
Und das ist einfach so dann das Nonplus Ultra, was mir andere Editoren dann nicht bieten oder nur mit irgendwelchen zusätzlichen Installationen von Plugins.
Also sprich, aus irgendwelchen ominösen Quellen kann ich mir dann irgendwie noch Plugins herunterladen.
Wie ist das bei dir, Jan?
Ich glaube auch der Normal Mode ist das, was mir das Ganze hilft, schneller zu benutzen.
DDP und ich habe zwei Zeilen ausgetauscht, zum Beispiel, das ist recht praktisch.
Also dieses Shift nach unten, Steuerung X, Steuerung V oder so, das wäre quasi das Pendant in einem anderen Editor.
Also gibt es eine ganze Menge Sachen, die, wenn man sich gemerkt hat, helfen.
Ich glaube, es gibt zwei Sachen, über die ich immer wieder stolpe.
Das eine ist, ich versuche viel Vanilla-VI zu benutzen, weil ich auch auf anderen Systemen unterwegs bin, wo keine Konfiguration vorliegt.
Dann ist da häufig diese abgespeckte Installation installiert, also nicht dieses richtige Wim, sondern dieses Paket, was weniger Funktionen hat.
Und was ich gerne mache, ist mit Steuerung V quasi Zeilen anfänge oder wenn es irgendwie jammel ist, irgendwie eingerückte Zeilen anfänge zu markieren
und damit Groß I da was davor zu setzen, eine Raut oder so was, zum kommentieren.
Das ist dann weg, das funktioniert mit diesem abgespeckten Wim nicht.
Das scheint etwas zu sein, was ich gerne benutze, weil ich oft drüber stolpe.
Und ich habe noch eine zweite Sache, die ich bei mir jetzt tatsächlich individualisiert habe.
Ich habe keine Caps Lock-Taste mehr, sondern da liegt ein zweites Escape drauf.
Dann muss ich meine Hand noch weniger bewegen, ich bin echt faul.
Und das ist immer wieder beim Kunden, dass ich dann da sitze und auf einmal schreibe ich alles groß, weil ich wieder versucht habe, auf die Escape-Taste zu drücken.
Aber das ist durchaus eine Empfehlung, weil man die Möglichkeit hat, Caps Lock braucht keiner.
Und eine zweite Escape-Taste ist viel wertvoller.
Das ist auch echt so eine Taste, die verstehe ich nicht.
Ich habe hier echt viele Tastaturen, aber bei keiner Tastatur habe ich jemals die Caps Lock-Taste benutzt.
Vielleicht als Heranwachsender zu Windows 3.1 Zeiten oder als man so motorisch noch nicht so in der Lage war, schnell zu tippen
und immer nur mit der Shift-Taste kurz andrücken, während man die andere Taste drückt, damit das Haar groß ist.
Aber das verstehe ich auch nicht, warum diese Taste heutzutage immer noch so eine Relevanz darstellt.
Stimmt ihr dazu? Es ist eine verschenkte Taste, die kann man für andere Sachen auf jeden Fall benutzen.
Absolut.
Und mir geht es ähnlich eigentlich. Im Prinzip versuche ich auch Vanillawirm zu benutzen.
Wie ihr auch schon gesagt habt, man ist ja dann doch auch mal bei Kundinnen unterwegs.
Und das bringt halt nichts, wenn ich die geilste Wim-RC aller Zeiten habe.
Wenn der Kunde mir halt einen nackten Wim hinstellt, der vielleicht auch die ganzen Zusatzfunktionen nicht so drauf hat, die du gerade beschrieben hast.
Dann hilft mir das alles nichts und ich muss erstmal wieder gucken, wie ich mit dem normalen Wim irgendwie arbeite.
Das mache ich auch bei anderen Tools, hat also jetzt auch nichts irgendwie mit dem Wim alleine zu tun.
Ich bin zum Beispiel auch kein großer Anwender von alternativen Shells wie die ZSH.
Das ist eine tolle Shell, die ja tolle Features nicht falsch verstehen.
Aber ich habe halt gemerkt, wenn ich selbst zu viel Customizing mache und dann mal irgendwo wieder auf einem nackten Vanilla-System bin,
dann fange ich bei Null an und das ist dann immer so ein bisschen peinlich.
Weil die Leute denken dann, jetzt kommt hier der große Experte und dann ist er zu doof in der History den drittletzten Befehl zu finden oder so.
Das ist dann immer so ein bisschen unangenehm.
Und meine Lieblingsfunktion ist tatsächlich der Kommandomodus, weil man einfach so viel coole Zusatzfunktionen nutzen kann.
Ich glaube, ich habe nichts häufiger getippt als escape.prozent.s/alt/neu/gg,
um halt eben einfach sämtliche Vorkommnisse von Wort alt durch neu im gesamten Dokument zu ersetzen.
Oder auch so Sachen wie escape und dann einfach zz in Großbuchstaben, um quasi speichern und beenden.
Also das, was escape.wq aus W-Zeichen Enter macht, das sind halt so Kleinigkeiten.
Also so wirklich so "Nein, es sind fünf Tastenanschläge, sind zu viel, es müssen zwei sein."
Das ist halt so Optimierung bis zum Umfallen und das schätze ich einfach total am Wibben.
Du hast auf einem guten Weg zum Wibben geholfen. Zz ist ein ganz wichtiges Element.
Auf jeden Fall, weil du da einfach so viel Tastendrucke noch irgendwie sparen kannst.
Das ist schon echt eine feine Sache.
Und ich weiß noch ganz, ganz genau, ich hatte ja vorhin so ein bisschen erzählt, wie ich überhaupt zum Wibben gekommen bin oder zum VI.
Ich musste nämlich auch mal eine Zeit lang als Unix-Admin in meinem ersten Betrieb arbeiten.
Und da waren dann halt so HP-UX-Kisten mit einem Betriebssystem von 790.
Da ist nichts mit Wibben. Da ist nichts mit Pfeiltasten. Das ist so "Hi-yout, KL or go home".
Und wenn man mal wirklich so mit dem nackten VI gearbeitet hat, dann weiß man total zu schätzen, wie verwöhnt man sein kann, wenn man halt Pfeiltasten benutzen kann.
Das ist nämlich leider keine Selbstverständlichkeit heutzutage.
Wibben hat natürlich auch andere Anwendungen so ein bisschen beeinflusst.
Wir haben hier so aufgeschrieben "Wibben in anderen Anwendungen" und da lacht mich irgendwie sofort Obsidian an und da weiß ich, dass der Volk mal das gerne einsetzt.
Erzähl uns doch ein bisschen, worum es da so geht.
Obsidian. Da könnte man ja auch eine Podcast-Folge an sich drüber machen, weil das ist dann halt auch so.
So mein Note-Taking-Tool im Grunde halt so eine eierlegendes Wollmilch-Organisationstool, was man da so hat auf Basis von Macdownfiles.
Das ist recht einfach gestrickt mit vielen, vielen mächtigen Funktionen.
Und gerade beim Thema Note-Taking finde ich das ganz cool, wenn ich das so in guter Wib-Manier, Normal-Mode machen kann.
Und da gibt es dann halt dieses schöne Wimplugin, was ich mir da integrieren kann.
Und dann kann ich da, als ob ich mich im VI oder im Wibben dann halt fortbewege, kann ich mich da drin halt richtig fortbewegen.
Hab auch Command-Mode zur Verfügung, sodass ich so ein bisschen Kommando-Zeilen-Substitution da halt durchjagen kann und Ähnliches suchen.
Genauso das Thema. Finde ich gut. Das ist halt der Punkt. Das ist so Normal-Mode. Finde ich cool.
Und wenn das dann andere Tools auch hergeben, super. Wie das nächste zum Beispiel.
Ja, wollte ich gerade sagen. Also Plugins gibt es ja schon relativ lange, die sich mit dem Thema beschäftigen.
Ich weiß noch, in meinem ersten Job da bin ich mal auf eine Webseite gestoßen, die haben so Plugins für Microsoft Office gebaut.
Also das heißt, du hast dann in deinem Outlook 2003 oder was damals aktuell war, ein paar bisschen später, aber es heißt 2007 herum, glaube ich, war das.
Da hast du halt echt in deinem Microsoft Word oder in deinem Outlook hast du dann halt unten diese Zeile gehabt, die man ja vom Wim auch kennt.
Und dann konnte man da dann halt eben seine Mails da drin dann verfassen. Fand ich total toll.
Hat damals relativ viel Geld gekostet. Ich glaube irgendwie 100 US-Dollar. Wollte mir mein Chef leider nicht genehmigen.
Deswegen musste ich E-Mails leider normal schreiben. Aber mittlerweile scheint das Produkt abgekündigt zu sein und man kann es kostenlos runterladen.
Deswegen haben wir das auch mal in die Show Notes gepackt. Das geht auch mit neueren Office Versionen.
Und die planen sogar, den Quellcode dafür offen zu legen, wenn ich die Seite richtig verstanden habe.
Also ich warte jetzt schon auf den ersten Fock und dann gibt es das vielleicht auch für aktuelle Microsoft Office Produkte.
Und ein anderes Microsoft Produkt, das das nativ schon per Plugin irgendwie relativ einfach kostenfrei einbinden kann, ist Whistle Studio Code.
Ist ja auch ein sehr beliebter und bekannter Editor. Jetzt wo ja auch GitHub Atom das zeitliche gesegnet hat.
Da gibt es einen Wim Addon für, sodass man dann den VSCode oder VSCodium entsprechend wie ein VI bedienen kann.
Und das ist glaube ich auch echt so eine feine Sache, wenn man so ein bisschen zwischen den Welten steht und so sagt, na ja, ich mag ja Wim,
aber ich muss auch irgendwie VSCode benutzen aus diesen und jeden Gründen.
Dann hat man da die perfekte Kombination aus beiden Welten, würde ich so sagen.
Benutzt ihr eigentlich andere Editoren als IDE oder gibt es für euch die Regel "Go Wim" oder "Go Home"?
Dann macht ihr da auch mal eine Ausnahme.
Ich nutze VSCode. Also ich habe das irgendwann mal dann den Sprung gemacht.
Also das ist halt die Gründe waren nicht so wirklich begründbar, aber das ist halt der VSCode, der funktioniert halt wunderbar.
Den kann man halt auch so benutzen und da muss man sich danach nicht abkämpfen, dann halt an jedem Arbeitsplatz erst mal
sich zwei Stunden zu nehmen und seine Wim-Config dann halt irgendwie zurechtzufrickeln und 1500 Plugins zu installieren,
sodass das Ding sich so aufbläst, dass es dann am Ende drei Gigabyte groß ist.
Bei VSCode hast du es schon da. Auch da dann halt zeitweise mit Wim-Plugins, wobei sich da halt wieder die Vorzüge von VSCode so ein bisschen,
das schneidet sich dann, da hat man dann zu sehr Schnittmengen, das funktioniert auch nicht so gut.
Ja, ich muss zu meiner Schande gestehen, ich bin kein Fulltime Wim-Nutzer mehr. Tut mir leid.
Ja, bei mir ist es, ja ich sag mal ähnlich, auf meiner Maschine only Neo Wim im Moment, aber wenn es halt projektmäßig nicht anders geht,
arbeite ich dann auch mal mit dem VSCode. Ganz normal, wenn es die Projektumgebung haben möchte oder der Kunde sagt, wir arbeiten damit,
dann arbeite ich auch mit VSCode. Ich bin nicht ganz sicher, ich glaube fast durchgängig Wim ist bei mir.
Ich benutze relativ viel auch das Obsidian tatsächlich. So, jetzt außerhalb der Arbeit dann eher. Installieren wir aber dann meistens auch irgendwo ein Wim-Plugin tatsächlich.
Aber nein, wenn es sein muss, der Nano ist schon öfters mal dabei.
Bleibt halt nicht aus, man ist ja auch auf Fremdrechtern unterwegs und dann gibt es halt eben auch mal Systeme, wo man dann einen anderen Editor antrifft.
Aber bei Kopieren hat man dann schon seine Grenzen, dann weiß man dann gar nicht, wie kann ich denn jetzt hier Wörter kopieren, wie funktioniert denn das hier alles?
Das steht zwar unten irgendwo wahrscheinlich in der Leiste oder? Aber keine Ahnung, das ist schreiben, ja, aber da ist man dann wieder eingeschränkt.
Da muss man sich wieder mit beschäftigen.
Für mich ist der Nano so einer, wo ich jedes Mal schauen muss, wie komme ich da eigentlich raus. Ich finde diese Tastenkürze so ungewohnt.
Das ist halt echt lustig, weil die Leute, die aus dem Wim nicht rauskommen, lieber den Nano benutzen, weil der einfacher ist und bei der ist es halt umgekehrt.
Du kannst den Wim gut benutzen, aber beim Nano scheitert es dann beim Beenden.
Jetzt haben wir so ein bisschen von Wim in einer anderen Anwendung gehabt, aber es gibt ja auch sehr viele Plugins für Wim.
Da haben wir jetzt auch schon hier und da ein bisschen darüber gesprochen.
Habt ihr da so Lieblingsplugins, die ihr regelmäßig benutzt, wo ihr sagt, die braucht ihr auf jeden Fall, ohne die könnt ihr nicht mehr leben?
Ja, ja, also tatsächlich, Nerd Tree finde ich ganz wichtig.
Da hast du dann halt so eine schöne Seitenleiste, wenn du das dann halt noch mit Nerd Funds und allem drum und dran spickst, dann hast du dann halt so Dev-Icons, die du dann davor hast.
Wenn du dann dein Python-Skript hast, dann hast du auch so eine schöne Python-Schlange vorne dran und so.
Und das finde ich halt ziemlich cool.
Also das ist ja der erste Weg zu einer vollwertigen IDI.
Genau, das finde ich richtig gut.
Und der Git-Rapper, der Fugitive oder wie er heißt, das ist ja der zweite Weg zu einer IDI, weil wenn, dann möchtest du halt auch Git machen.
Und das möchtest du natürlich auch, ohne dass du da jetzt irgendwie rumfremelst mit Command Mode oder so, sondern dass du da halt Dinge tun kannst, die dann halt irgendwie so aus dem Tool rausfallen.
Das finde ich ganz, ganz cool.
Mehr natürlich, aber da habe ich auch so eine Empfehlung. Darf ich die schon aussprechen?
Und zwar der Mute-Winter auf GitHub.
Der hat so eine richtig schöne zusammengestellte mega IDI-Sache.
Da sind auch viele Plugins dabei, die man sich da angucken kann und wo man sich das eine oder andere dann halt rauszieht.
Oder man übernimmt einfach quasi seine WIM-Konfiguration und nimmt einfach alles.
Ja, bei mir ist es ähnlich.
Ich benutze für meine Files Fer.
Da gibt es dann auch dieses nette Plugin für die Nerd-Fonds, wo man dann die tollen Eigens hat.
Die benutze ich genauso.
Auch ein schönes Plugin, was ich im Moment viel verwende, Markdown Preview.
Also kann ich dann, wenn ich Markdown schreibe, gleich das Ergebnis sehen im Browser.
Das ist auch ein recht nettes Plugin.
Und die Git-Anbindung auch wichtig.
Fugitiv verwende ich daher auch.
Und eins der Plugins, die ich recht häufig verwende, ist auch RipGrip.
Also um schnell mal einen Text zu suchen.
Ich habe ja vorhin gesagt, ich benutze gerne den Vanilla-WI.
Aber tatsächlich ist mein WI hier relativ stark konfiguriert, den ich lokal benutze.
Ich bin gar nicht im Detail sicher, was da alles drinsteckt.
Ich konfiguriere alle meine Rechner immer über Puppet.
Und da gibt es in der Puppet Forge ein Modul, was so ein paar Standardsachen macht.
Und auch so ein Bundle an Plugins installiert.
Deswegen, die meisten, die ihr genannt habt, tauchen auch irgendwo auf.
Also Nerd-Fugitivs sind bei mir auch installiert.
Ich habe zwei Funktionen, die ich echt gerne mag, die jetzt nicht überlebenswichtig sind,
die ich häufig benutze. Das eine ist ein Plugin, das ist Tabularize.
Das ist ein Plugin, das man installiert.
Und dann kann man da Textblöcke sich ausrichten lassen, erzeichnen.
Also typischerweise an Tabellen, Spalten trennen.
Das kann man aber relativ frei mit Regular Expressions definieren, wie das Ganze laufen soll.
Man kann auch quasi sagen, ob dieses Trennzeichen separat stehen soll.
Also wenn ich zum Beispiel sage, ich habe eine Jammel-Datei und ich möchte, dass die Schlüssel links stehen
und alle Werte untereinander stehen, könnte ich sagen, der Doppelpunkt ist mein Trennzeichen.
Der soll aber jetzt nicht in der Mitte wie ein Trenner stehen, sondern quasi am vorherigen Wort anschließen.
Kleines, nettes Ding, was ich gerne mal benutze.
Ich glaube, was anderes, was mir viel Spaß macht, das ist kein richtiges Plugin, das ist eigentlich nur eine Konfigurationsgeschichte.
Bestimmte Dateien jagt mir, wenn ich sie mit dem WI aufmache, die Routine auf.
Jagt mir die Routine durch einen Pandoc.
Und dann kann ich deswegen Docs, PDFs auch mit meinem WI aufmachen.
Also, hat er gesagt, primär benutze ich den WI und Album auch für solche Sachen.
Und das ist dann ganz nett, wenn man zum Beispiel mal Sachen aus PDFs irgendwie rauskopieren möchte oder so.
Cool, klingt auf jeden Fall spannend.
Wie macht ihr das eigentlich, wenn ihr Dinge anpasst?
Konfiguriert ihr das dann auch auf anderen Systemen?
Habt ihr da irgendwie einen Automatismus für diese Dot-Files?
Du hast jetzt von einem Puppet-Modul gesprochen.
Habt ihr da auch andere Möglichkeiten, wie ihr das macht?
Oder habt ihr irgendwo eine Konfig, die ihr seit zehn Jahren habt, die ihr euch dann einfach lokal immer wieder runterkopiert?
Genau. Also bei mir liegt quasi Konfig im Git, also bei mir im GitLab.
Und dann kann ich mir das da wegziehen und dann, wenn ich dann mal einen anderen Rechner habe, dann draufschmeißen.
Wobei das jetzt übertrieben ist.
Das ist ja dann nur ein neuer Rechner oder so.
Ist ja jetzt nicht so, dass ich jetzt jeden Rechner dann so große Ziele vorbereite.
Vielleicht ändert sich das nach heute.
Also bei mir ist es ähnlich.
Die Konfigurationen sind gesichert und können jederzeit von meinem Speicher wieder rübergezogen werden.
Und die Plugins werden dann einmal mit einem Plugin-Style installiert.
Und dann habe ich praktisch meine Konfiguration wieder.
Ja gut.
Ja, wir müssen auf jeden Fall auch in die Show Notes den Link von Jan packen.
Der hatte ja, wie gesagt, letztes Jahr hatte der mal einen sehr spannenden Vortrag zu dem Thema gehabt.
Also da habe ich glaube ich, ich habe glaube ich noch nie so viel Wim Input bekommen in so kurzer Zeit.
Da waren echt so viele Kleinigkeiten von Tastenkombinationen bis hin zu Plugins glaube ich auch.
Worum geht es noch mal kurz grob zusammengefasst für die Zuhörenden in deinem Vortrag, den wir verlinken werden?
Ganz klar und einfach. Warum ist Wim der beste Editor der Welt?
Sehr sehr bescheiden. Das habe ich schon immer immer geschätzt.
Ja, also es ist einfach ein schneller Überblick über die Modi.
Es ist eher so nicht nicht ganz für die grundlegenden Einsteiger gedacht, sondern für die, die den Wim schon kennen.
Und vielleicht gerne ein bisschen mehr wissen wollen, wo liegen jetzt die Stärken.
Also ich erkläre die verschiedenen Modi und ein paar der Kommandos, die mir sehr lieb sind.
Und weniger Plugins tatsächlich.
Auf jeden Fall lernt man sehr viel dabei. Also kann ich nur noch mal hier sagen.
Da war wirklich sehr viel Input und ich freue mich selbst auch noch mal die Slides zu sehen.
Okay, jetzt haben wir sehr viel über Plugins, über Tastenkombination, über Vorzüge gesprochen.
Aber die Frage, die sich jetzt vielleicht den Zuhörenden stellt, ist, naja wie lernt man denn Wim überhaupt?
Ja, also wir haben auch gehört, es gibt so eine schöne VI-Tasse, die kann man sich ja auch im genagten Linux/Unix-Fanshop kaufen.
Die werden auch immer noch hergestellt.
Gibt es auch immer gerne mal so als Marketinggag, wenn man auf Konferenzen ist.
Peter hält seine gerade in die Kamera. Das ist sehr schön. Ja, die habe ich auch.
Aber was macht man, wenn man vielleicht keinen Tee und keinen Kaffee trinkt und keine VI-Tasse hat?
Naja, dann gibt es eben den Wim Tutor. Also wenn man den Wim installiert, ist da auch der Wim Tutor mit dabei.
Man kann es auch im VI mit escape-help-leertaster-tutor ausführen.
Das ist im Prinzip ja so ein interaktives Textdokument. Also da sind verschiedene Aufgaben drin.
Und da ist dann genau beschrieben, was man tun soll.
Am Anfang lernt man so ein bisschen zu navigieren mit HJKL und allen möglichen anderen Sondertasten.
Im weiteren Verlauf ist es dann so, dass man dann komplexere Dinge tut, wie Sätze löschen oder Buchstaben,
Zwischenwörter rauslöschen und so weiter.
Und das ist wirklich sehr, sehr interessant.
Also ich mache das auch regelmäßig, dass ich das einfach so nochmal durchstattle,
weil man immer nochmal irgendwo einen Feature wieder vergessen hat.
Die Dinge, die man nicht tagtäglich benutzt, die verlernt man eben.
Aber es gibt ja noch andere Möglichkeiten.
Also ich schließe hier in der Liste so etwas wie Vim Adventures und Open Vim Sandbox.
Worum geht es denn da genau?
Also Vim Adventures ist tatsächlich so ein Vim Adventure-Game, also browserbasiertes Game,
wo du dich mit Tastenkombination durch die Welt jagen kannst und dann irgendwelche Quests damit erfüllen kannst.
Das ist sehr spaßig. Ich weiß nicht, ob es noch kostenpflichtig ist oder ob sie es mittlerweile halt runtergenommen haben.
Ich hatte das zur Vorbereitung für meinen Elbphil damals, dass ich mich mit Vim beschäftige.
Und ich habe es tatsächlich durchgespielt. Ich habe es wirklich durchgespielt.
Damals hat man dafür noch bezahlt. Ich fand das ziemlich cool, weil das halt nochmal eine andere Art war.
Weil es ist immer ein bisschen schwierig, so alles abzufackeln.
Also alle Tastkombinationen aus dem Normal-Mode oder irgendwelche Comments, die du dann abschicken kannst, finde ich halt immer schwierig.
Du packst dir jetzt... und der Vim Tutor hat auch so seine Grenzen, finde ich.
Da kannst du halt auch so an der Oberfläche kratzen und letzten Endes weißt du dann halt ein bisschen mehr.
Aber da halt mal ein bisschen in die Tiefe zu gehen und trotzdem Spaß dabei zu haben, das fand ich ganz gut.
Darum die Empfehlung.
Genau. Open Vim Sandbox, da bin ich eigentlich nur drauf gestoßen. Das ist dann halt auch noch bei Browser basiert.
Nur ein bisschen geführtes, gelerntes Vim-Rum-Vim-Vim-Nimm.
Genau. Wobei Vim Adventure wahrscheinlich... Ich habe Vim Golf noch nie gespielt, aber glaube ich in die Richtung geht.
Also das ist tatsächlich... oder?
Ja, ist schon ein bisschen was anderes. Ich hatte also Vim Golf... Vim Adventures kenne ich auch.
Ich habe mal irgendwie nach so verschiedenen Spielen gesucht, mit denen man Kommandozahlen-Sachen lernen kann.
Und habe Vim Golf... das erste Level glaube ich kann man kostenlos spielen. Das ist so mein letzter Stand.
Und da muss man zahlen. Das ist ja so hier Zelda-Style ungefähr.
Genau.
Also hat mir schon auch Spaß gemacht. Ich bin nur quasi an dieser Paywall hängen geblieben.
Vim Golf ist viel minimalistischer.
Da gehst du auf die Seite. Dann siehst du da die Aufgaben. Das ist so was wie...
Ändere alle Zeichen hier jetzt in Kleinbuchstaben um. Oder ändere quasi Kleinbuchstaben zu Großbuchstaben.
Und andersrum in diesem Dokument mit möglichst wenig Keystrokes.
Das Spiel selber ist so ein abgespeckter Vim. Der ist wirklich frei von allen Plugins.
Man registriert sich da mit einem Token und...
...authentifiziert sich quasi. Sein lokaler Client löst diese Aufgabe.
Und dann im Ende kann man sagen, du hast jetzt so und so viele Keystrokes gebraucht. Möchtest du dieses Ergebnis hochladen?
Und dann wird quasi dein aktueller Score hochgeladen. Du siehst dich dann auch in dieser besten Liste auftauchen.
Zu jeder Aufgabe gibt es eine eigene besten Liste.
Und du kannst dann sehen, was haben die Leute gemacht, die besser waren als du.
Die Zehen über dir kannst du sehen.
Und dann kannst du natürlich auch das nochmal machen mit den Verbesserungsvorschlägen.
Und dich immer weiter nach oben arbeiten.
Und auch relativ viel Sachen lernen, die ich noch nie gesehen habe.
Da entdecke ich auch sehr viel Neues und auch Sachen, die ich nicht verstehe ad hoc.
Das sind dann wirklich sehr kryptische Zeichenfolgen.
Wo auch viel von diesen Makrofunktionen verwendet wird.
Und es gibt so Kommandos, wie man quasi in die diagonale Mitte des Bildschirms kommt.
Das ist etwas, was ich sonst nie verwende. Aber bei Wim Golf lernt man auch diese Sachen dann.
Faszinierend. Also ich habe mir das auch mal angeguckt, weil du hattest ja auch in deinem Vortrag oder danach war davon die Rede.
Das ist schon echt verrückt. Also ich war mir gar nicht bewusst, dass es sowas gibt.
Ich glaube, da merkt man relativ schnell, dass man doch sehr an der Oberfläche gekratzt hat.
Was Wim anbelangt. Oder die anderen einfach nur sehr tief gegraben haben.
Das kann natürlich auch sein. Liegt in meinem Auge, das betracht das.
Aber ich glaube, wenn man wirklich nochmal ein bisschen effizienter werden will, dann kann man da nochmal viel lernen.
Ich selbst habe zwei Medien-Tipps. Und zwar gibt es ja das US-amerikanische Changelock Magazin.
Die veröffentlichen ganz viele Podcasts rund um das Thema DevOps, Linux und Container glaube ich auch.
Und die haben zwei Folgen veröffentlicht. Und zwar einmal eine Folge zum Thema "Why we love Wim".
Da wird auch nochmal so ein bisschen drauf eingegangen, was die persönlich an Wim schätzen.
Da wird auch nochmal ganz viel über Konfigurationsdateien und Plugins geredet.
Und wie die Leute eine Fully-Fledged-Idee draus gemacht haben. Das fand ich auch sehr interessant.
Und sie haben auch noch eine Folge "Why Neo Wim". Wo sie eben auch einen Neo Wim-Maintener und Entwickler eingeladen haben.
Und da so ein bisschen auf die Historie eingehen. Und was jetzt Neo Wim vs. Wim noch so ein bisschen mit sich bringt.
Das fand ich auch auf jeden Fall sehr spannend. Ist verlinkt. Wenn ihr da reinhören wollt, könnt ihr das gerne tun.
Ja, ich glaube, wir haben es ganz gut zusammengekehrt. Habt ihr noch was, das ihr loswerden wollt?
Ich habe noch eine kurze Warnung. Wimgolf macht einen wirklich effizient.
Bloß man steckt echt viel Zeit rein. Das muss man dann natürlich abziehen.
So ein bisschen wie der XK-CD-Comic, wo es um Automatisierung geht. Wo man irgendwie so denkt, naja, man programmiert ein bisschen.
Dann hat man alles automatisiert und hat genügend Zeit für andere Dinge.
Ich glaube, ähnlich ist es auch bei Wimgolf so. Ja, wenn ich jetzt ein bisschen Wimgolf spiele, dann bin ich effizienter.
Und dann buddert man sehr viel Zeit rein, um effizienter zu werden.
Aber vermutlich hat man mehr Zeit reingebuddert, als man Zeit gespart hätte.
Aber das muss natürlich jeder für sich selbst entscheiden.
Genau das.
Okay, gut. Dann würde ich sagen, vielen lieben Dank. Es hat mir sehr viel Spaß mit euch heute gemacht.
Ich habe auf jeden Fall das eine oder andere mitgenommen. Deswegen vielen Dank für die Teilnahme.
Und an die Zuhörenden, wenn ihr es bis hierhin geschafft habt, dann freut uns das natürlich sehr.
Wenn ihr Ideen, Wünsche oder Tooltips habt, dann könnt ihr uns die sehr gerne mitteilen.
Beispielsweise per E-Mail an podcast@sva.de oder gerne auch über unseren Twitter-Händel @sva_focuson, wo wir auch diese Folge bewerben werden.
Und sehr gerne nehmen wir auch Bewertungen über den Podcatcher eurer Wahl entgegen.
Dann kann ich nur sagen, vielen Dank. Es hat mir sehr viel Spaß gemacht und bis zu einer der nächsten Folgen. Macht's gut. Tschüss.
Ciao.
[Musik]