• vorgestern
LEARN: https://learn.typecraft.dev/
Join the community: https://discord.gg/TfPqD3MWVq
X: https://x.com/typecraft_dev

I’ve been using vim for quite some time now, around 15 years to be exact. And for me, the best thing about vim is that you’re always learning something new. And sometimes, every so often, you just kinda see something that just blows your mind.

And in this episode, I’m going to show you 10 quirky things in vim that you can use to blow peoples minds. In fact, earlier today I showed my wife a few of these tricks and she was definitely impressed. even if she had… no idea what I was showing her. It still worked dammit!

Kategorie

🗞
News
Transkript
00:00Ich benutze Vim schon seit langer Zeit, etwa 15 Jahre, um genau zu sein.
00:04Wow, ich werde alt.
00:06Und für mich, das Beste an Vim ist, dass man immer etwas Neues lernt.
00:09Und manchmal, immer so oft, siehst du einfach etwas, was deinen Geist zerstört.
00:14Und in diesem Episode zeige ich dir 10 schmutzige Dinge in Vim,
00:17die du benutzen kannst, um Menschen Geist zu zerstören.
00:19Erst heute zeigte ich meine Frau und Kinder, und sie waren ziemlich überrascht.
00:23Auch wenn sie keine Ahnung hatten, was ich ihnen zeigte.
00:26Also nehmt eure HJKL-Klöcher, wir lernen heute etwas verrücktes Vim.
00:30Vim-Trick
00:40Okay, also der erste verrückte Vim-Trick, den wir machen werden, ist,
00:43Rot13-Beklemmung zu verwenden.
00:45Rot13 ist eine Beklemmungsmethode, die jede Karte mit der Karte,
00:4813 Karten nach der Karte in der Alphabet, verwendet.
00:51Es ist ein altgeschultes Ziffern, und es wird nicht oft benutzt, wirklich.
00:55Also, wie man das macht, was du tun willst, ist, ein Film zu öffnen,
00:57in dem du ein paar Texte hast, die du beklemmen willst.
00:59Ich werde jetzt einfach ein Gem-Film öffnen, aus irgendeinem Grund.
01:02Und dann, was du tun willst, ist, in Visual Mode zu gehen,
01:05zu dem Ding, das du beklemmen willst.
01:07Du klickst auf G und ?
01:09Und jetzt ist es beklemmt.
01:11Du siehst hier, dass mein Text völlig verändert ist,
01:13und dass es tatsächlich jede Karte benutzt, die 13 Karten nach der aktuellen Karte in der Alphabet ist.
01:19Machen wir das nochmal, nur um es auszusehen.
01:21Also jetzt meine Gem-PG-Search-Linie hier,
01:24ich werde G? schreiben, nachdem ich es aufgezeigt habe,
01:27und du siehst jetzt, dass es TRZ ist,
01:29und dann in Quotation CT underscore Frenepu.
01:32Dieses Gem ist CT Frenepu jetzt.
01:34Nun, das ist ein lustiges, kleines Trick,
01:36aber du wirst es wahrscheinlich nie benutzen.
01:38Außer natürlich, dass du Witze für deine Kollegen verlassen wirst.
01:41Du siehst, ROT13 ist nicht exakt eine state-of-the-art-Kryptographie,
01:45aber es ist ein lustiges, kleines Trick, das in Vim eingebaut ist.
01:48Okay, als nächstes haben wir ein etwas seltsames.
01:50Wir können random Daten von DevUrandom einschalten.
01:54Nun, du kannst Daten aus jedem Film direkt in deinen Buffer einschalten.
01:58Und DevUrandom ist ein random byte-generator auf Unix-ähnlichen Systemen.
02:03Also, wenn wir in Vim sind, können wir in unserem Command-Modus schreiben
02:07READ BANG HEAD-C 100 von DevUrandom.
02:15Und was das macht, ist, dass es eigentlich Dinge aus dem random byte-generator in Unix einschaltet,
02:20direkt in deine Vim-Instanz.
02:23Nun, wenn du nur versuchen willst, random binäre Daten zu testen,
02:27ist es meistens nur ein lustiges, kleines Trick, das du normalerweise nicht benutzen würdest.
02:31Aber es ist wert zu wissen, dass du mit dem READ-Command
02:34Dinge in jeden Buffer in Vim aus jedem anderen Film einschalten kannst.
02:38Nun, das dritte komische Ding, das du in Vim machen kannst,
02:40ist, dass du die Webseite mit einem verbauten NetRW überschalten kannst.
02:44Naja, so ein bisschen.
02:45Du siehst, Vim hat einen verbauten NetRW,
02:47der etwas mehr als nur lokale Direktorien überschalten kann.
02:50Er kann bestimmte Remote-Ressourcen, wie FTP oder SCP, öffnen.
02:54Und du kannst sogar ein paar HTTP-Webseiten öffnen.
02:58Wie funktioniert das?
02:59Nun, du kannst E in Command-Mode einschalten, um ein anderes Film zu öffnen
03:03oder einen Direktor in NetRW in Vim zu überschalten.
03:06Aber wenn du eine HTTP-Ressource öffnest,
03:08wird es das tatsächlich auf Libcurl downloaden,
03:12was in Vim verbaut ist, solange es auf deinem System mit Libcurl kompiliert ist.
03:17Und es wird die HTML-Ressource eines Webseiten direkt in eine Webseite in Vim öffnen.
03:24Also, wir schreiben E in Command-Mode
03:26und wir können eine HTTP-Ressource hierin schalten.
03:30Ich habe einen schönen kleinen Webseiten, den ich gefunden habe,
03:32der ein HTML-Math-Quiz ist.
03:34Und wenn du das machst und Enter drückst,
03:36wird es die HTML-Ressource downloaden
03:38und wenn du Enter drückst, öffnet es eine neue Webseite,
03:41die eigentliche Ressource dieses Webseites.
03:44Also kannst du die Webseite in Vim überschalten.
03:46Nicht wirklich, aber wenn du HTML direkt in Vim sehen möchtest,
03:49kannst du es mit NetRW öffnen, genau wie das hier.
03:52Ein cooler Trick.
03:53Nummer vier.
03:54Ich finde diese komische Sache sehr hilfreich
03:56und ich habe es noch nie gehört,
03:58was du jeden Tag in Vim lernst.
04:01Du kannst eine Webseite in eine Webseite verwenden
04:04mit dem Kommando toHTML.
04:06ToHTML nimmt deinen aktuellen Buffer,
04:08komplett mit Syntax-Highlighting,
04:10und verwendet es in ein HTML-File,
04:12das die Farben und das Formatieren repliziert.
04:15Lass uns das jetzt mal sehen.
04:16Wir können ein File öffnen.
04:17Das ist ein randomes Docker-File, das ich in einem Projekt habe.
04:20Und wir können in den Kommando toHTML drücken und Enter drücken.
04:24Und was das macht, ist, dass es ein neues File erstellt.
04:26Und wir können das hier oben sehen, was wir hier haben.
04:29Das ist dockerfile.html.
04:31Und wir können sehen, dass ich ein neues File erstellt habe
04:33und es ist komplett in HTML.
04:35Also wenn wir jetzt zu unseren Files gehen,
04:37und jetzt kannst du dieses HTML-File öffnen,
04:39und schau dir das an.
04:41Es hat das Syntax-Highlighting.
04:43Es hat die Kommentare,
04:44es ist alles perfekt hier draufgelegt.
04:47Das ist eigentlich einfach unglaublich für mich.
04:49Nun, es gibt viele moderne und einfachere Wege,
04:52um das zu machen,
04:53wie mit GitHub-Gists oder Markdown-Dinge.
04:55Aber toHTML fühlt sich wirklich gut an,
04:57wenn du schnell einfach was in deinem Editor
05:00in eine Webseite werfen willst.
05:02Es ist eigentlich einfach großartig.
05:03Nun, für Nummer 5,
05:04ich weiß nicht, ob du weißt, dass dies erhältlich ist,
05:06aber du kannst einen File mit nativen Vim-Kommandos hexeditieren.
05:09Nun, ich war das nicht bewusst,
05:10aber Vim kann als Hex-Editor funktionieren,
05:12mit der richtigen Inkantation,
05:14indem du binäre Daten
05:16auf den Biten-Niveau inspizieren und modifizieren kannst.
05:18Wie machen wir das?
05:19Nun, zuerst wollen wir eigentlich ein File in binärem Modus öffnen,
05:22also schreiben wir Vim-B mit einem Filenamen.
05:25Wir machen einfach dockerfile.html.
05:27Und jetzt, dass wir in dem File sind,
05:28können wir diesen File in einen Hex-Dump verwenden,
05:31indem wir %bangxxd schreiben.
05:34Jetzt ist dies ein Hex-File,
05:36und wir können individuelle Biten in diesem File editieren,
05:39und dann, um zurückzuverwenden, können wir %bangxxd-r machen,
05:44um dies zurückzuverwenden in den normalen File.
05:46Und dies ist ein bisschen verrückt.
05:48Nun, wenn du binäre Files debuggierst
05:51oder mit Memory-Dumps umfasst,
05:52wirst du wahrscheinlich keine rauen Hex-Edits in Vim machen,
05:55aber es ist ein bisschen cool, zu wissen, dass dies da ist.
05:58Nun, für Nummer 6, dies ist ein altes Relikt,
06:00das du in Vim benutzen kannst.
06:01Du kannst Capital-Q schreiben, um in den alten EX-Modus zu gehen.
06:05Nun, Uppercase-Q setzt dich in den alten EX-Modus ein,
06:08was eine Linie-auf-Linie-Kommand-Interface ist,
06:11die nach dem ursprünglichen VI ist,
06:14welches 70er-Style ist.
06:15Nun, dies ist eine lustige, die mich von Zeit zu Zeit aufhört,
06:18weil manchmal, jedes Mal, während ich in einem Buffer bin,
06:21schreibe ich Capital-Q überhaupt,
06:23und dann finde ich mich hier.
06:24Aber du kannst eigentlich etwas Produktives machen,
06:26während du im EX-Modus bist.
06:27Okay, also wie machst du das?
06:28Nun, im normalen Modus drückst du Capital-Q,
06:31welches Shift-Q ist,
06:32und du schreibst jetzt in den EX-Modus.
06:34Du siehst die Status-Linie hier unten verändern.
06:36Nun, du kannst Kommanden wie P für Print-Linien schreiben.
06:39Du kannst D für Delete-Linien schreiben.
06:41Nun, es gibt einiges, was du hier machen kannst.
06:43Du kannst Ränge schreiben, wie 1-10.
06:45Delete schreibt 1-10 Linien.
06:47Du kannst Reg schreiben,
06:49um all deine Registrieren aufzulisten.
06:51Du kannst LS schreiben,
06:52um all deine Buffers aufzulisten.
06:53Es gibt viele coole Dinge, die du machen kannst,
06:55aber um sie auszuschalten, musst du Visual schreiben.
06:57Nun, wir werden EX-Modus ausschalten.
06:58Nun, du würdest dies niemals benutzen,
06:59weil EX-Modus langsam, archaisch ist
07:02und grundsätzlich verwendet wird durch den normalen Modus,
07:04aber es ist eine Neuigkeit für diejenigen,
07:06die Party machen wollen, wie es 1976 war.
07:08Nun, ein weiteres Quirky-Ding, das du in Vim machen kannst,
07:10das du nicht bewusst sein könntest,
07:11ich weiß, ich war es bis jetzt nicht,
07:13ist, dass du Texte durch Schell-Kommanden filtern kannst
07:15mit Bang, während du eine Ränge benutzt.
07:18Okay, nun, was macht das?
07:19Nun, du siehst, du kannst eine Range von Linien durch
07:22einen externen Kommand, direkt von Vim,
07:24und den transformierten Text in den Buffer zurückgeben.
07:27Also, wie machst du das?
07:28Nun, in Visual-Modus,
07:30ich werde Shift-V typen, um Visual-Modus einzuschalten,
07:32ich kann ein paar Linien runtergehen
07:34und diese Linien mit einem Schell-Kommand transformieren.
07:37Also, wenn ich Bang type,
07:39das ist der Exklamation-Punkt-Kommand,
07:41und ich Rev type,
07:42das wird all diese Linien mit dem Schell-Kommand
07:45verwechselt.
07:46Dann tippe ich Enter,
07:47und es wird in meinen Buffer zurückgelegt,
07:50den veränderten Text,
07:52von der Ausgabe dieses Schell-Kommandes.
07:55Das ist eine wirklich mächtige Sache,
07:56und vielleicht gibt es da einige interessante
07:58Benutzungsfälle dafür,
07:59aber ich denke, es ist ein bisschen esoterisch.
08:01Es kann aber auch Spaß machen,
08:02wenn du irgendwelche Schell-Transformationen
08:04in der Mitte des Editings machen willst,
08:06aber du musst herausfinden,
08:07wie das in deinem Werkflug selbst passt.
08:09Eine weitere wirklich schreckliche Sache,
08:10die du in Vim machen kannst,
08:11und ich weiß nicht, ob du das weißt,
08:12ist, dass du Mathematik in Insert-Modus machen kannst,
08:14mit Ctrl-R-Equals.
08:16Also, was macht das?
08:17Du siehst, Vim kann Expressionen
08:19in Insert-Modus auf dem Fliegen evaluieren.
08:21Du kannst schnell Mathematik machen,
08:22ohne deinen Buffer zu verlassen.
08:24Nun, wie tust du das?
08:25Sagen wir, du bist in einem File,
08:26und du gehst in Insert-Modus,
08:27und du willst eigentlich Mathematik machen.
08:29Du kannst Ctrl-R-Equals drücken,
08:31und du siehst,
08:32die Statuslinie wird sich verändern.
08:34Wenn du jetzt 2 plus 2 drückst,
08:36und dann Enter drückst,
08:37macht das Mathematik für dich.
08:39Nun habe ich die Nummer 4
08:40in meinen Buffer eingeführt.
08:42Nun, das ist handig
08:43für eine gewisse Basis-Arithmetik,
08:45aber ein Kalkulator,
08:46oder ein beteiligtes Werkzeug
08:47ist meistens einfacher,
08:48aber das ist ein netter, kleiner Trick,
08:50wenn du in einer Situation bist.
08:52Die nächste schreckliche Sache,
08:53die du in Vim machen kannst,
08:54ist, Vim als Entwickler-Diarie zu benutzen,
08:55mit dem R-Date und dem R-Who-Am-I-Command.
08:58Was macht das?
08:59Nun, du siehst,
09:00du kannst die Ausgabe
09:01eines Shell-Kommandes einsetzen,
09:02wie wir es vorhin gesagt haben,
09:03mit dem Rev-Date,
09:04den wir gemacht haben,
09:05direkt in deinen Buffer
09:06mit dem R-Date und dem R-Who-Am-I-Command.
09:08Und es gibt ein paar
09:09aufgebaute Unix-Toolen,
09:10die du benutzen kannst,
09:11um dies interessant zu machen.
09:12Du siehst, wenn ich in Normal-Modus bin,
09:13kann ich
09:14colon
09:15R
09:16und dann Date
09:17und dann Who-Am-I
09:18benutzen,
09:19um den Who-Am-I-Shell-Kommand
09:20und den Text
09:21in meinen Buffer zu einsetzen.
09:22Mal sehen, was passiert.
09:23Ich drücke Enter
09:24und da geht es.
09:29Und das wird das Date
09:30in meinen Buffer einstellen,
09:31was eine tolle Art ist,
09:32um irgendein Journal-Einsatz
09:33zu starten,
09:34den du möchtest.
09:35Ziemlich spaßig.
09:36Letzt, aber nicht am liebsten,
09:37die letzte Quirkel,
09:38die Vim kann,
09:39die ich dir erzählen will,
09:40ist Help42.
09:42Was zum Teufel bedeutet das?
09:43Nun, du siehst,
09:44Vims Docks
09:45haben ein paar versteckte Easter-Eggs.
09:46Also wenn du
09:47Help42 schreibst,
09:48wirst du eigentlich
09:49ein Easter-Egg einsetzen,
09:50das ich finde,
09:51wirklich, wirklich spaßig ist.
09:52Schreib Help42,
09:53drück Enter
09:54und es sagt,
09:55was der Sinn ist,
09:56wenn du
09:57Hilfe42 schreibst.
09:58Was bedeutet das Leben?
09:59Das Universum
10:00und alles.
10:0142.
10:02Und es gibt hier
10:03ein bisschen eine Erklärung.
10:04Douglas Adams,
10:05die einzige Person,
10:06die wusste,
10:07was diese Frage wirklich war,
10:08ist jetzt tot,
10:09leider.
10:10Also jetzt,
10:11du würdest dir wundern,
10:12was der Sinn des Todes ist.
10:13Nun, das ist ein Schnitt
10:14aus einem wirklich lustigen Buch
10:15namens
10:16The Hitchhiker's Guide
10:17to the Galaxy,
10:18geschrieben von Douglas Adams.
10:19Es ist ein fantastisches Buch
10:20und es ist nur
10:21für einen Lächeln,
10:22aber es bezeichnet,
10:23dass Vim-Devs auch
10:24einen Sinn des Humors haben,
10:25obwohl du es vielleicht nicht denkst.
10:26Ich wollte dir ein paar
10:27lustige Dinge zeigen,
10:28die du in Vim machen kannst,
10:29mit Vim-Funktionen.
10:30Manche davon sind eigentlich
10:31sehr nützlich
10:32und manche davon sind,
10:33naja,
10:34völlig ungünstig,
10:35aber ich denke,
10:36sie sind alle lustig
10:37und das ist Teil
10:38von dem,
10:39was Vim ist.
10:40Es geht darum,
10:41Spaß zu haben
10:42mit deinem Editor.
10:43Es gibt so viel,
10:44was du mit ihm machen kannst
10:45und du kannst immer etwas Neues
10:46am Tag lernen.
10:47Abschneide jetzt sicher
10:48für mehr Vim,
10:49Linux,
10:50Neo-Vim
10:51und allmähliche coole Dinge
10:52auf diesem Kanal
10:53und hey,
10:54danke Nerds.
10:56Copyright WDR 2021

Empfohlen