Präsentationsunterlagen: „Mit Neovim einen Quantensprung bei der Produktivität machen“
(docs.google.com)Aufzeichnung: https://www.youtube.com/watch?v=XYQnyJVGk-4&t=1s
Anhang: https://kodingwarrior.github.io/wiki/appendix/excelcon-2nd/
Am 2023-06-03 habe ich auf der 2. ExcelCon einen Vortrag zum Thema „Mit Neovim einen Quantensprung bei der Produktivität machen“ gehalten und teile ihn nun verspätet auch hier.
Zusammenfassung des Vortrags
Wie hat sich meine Produktivität allein durch die Nutzung von Neovim gesteigert?
- Durch die Zusammenführung von VSCode, Notion, RoamResearch, GitKraken usw. in Neovim, die ich zuvor abwechselnd verwendet habe, wurde unnötige kognitive Belastung reduziert.
- Obwohl ich zwischen macOS und archilinux wechsle, kann ich überall eine konsistente Entwicklungsumgebung beibehalten (
dotfiles). - Ich muss mir wegen der Geräteleistung keine Sorgen mehr machen.
- Before: Beim Arbeiten mit mehreren gleichzeitig geöffneten Anwendungen wie AndroidStudio, VSCode und RoamResearch trat häufig Thrashing auf. Selbst das Tippen von Quellcode dauerte lange / After: Man hört nicht einmal mehr das Geräusch eines startenden Flugzeugs. Auch die Speicherauslastung ist sehr niedrig.
3 Schritte zur Steigerung der Produktivität
- Produktivitätsverbesserung sollte mit der Metakognition beginnen, zu analysieren, bei welchen Handlungen ich unnötig Zeit verbrauche.
- Zunächst mache ich mich mit den Werkzeugen vertraut, die ich benutze.
- Ich schaue mir an, welche Aufgaben ich wiederholt ausführe, und suche nach Möglichkeiten, den Zeitaufwand für diese wiederkehrenden Aufgaben zu reduzieren. (z. B. Templates, Plugins, Makros, Snippets, …)
- Ich wähle aus Schritt 2 das aus, was zu mir passt, und verinnerliche es.
Die Inhalte, die ich aus Zeitgründen nicht erklären konnte, habe ich als Anhang im Blog zusammengestellt.
- Starter-Kits für Neovim-Einsteiger, darunter AstroNvim und LazyNvim
- tree-sitter-Plugins speziell für neovim
nvim-cmp, das eine Autovervollständigungsfunktion bereitstellt
Ich betreibe außerdem eine Discord-Community (vim.kr) für Menschen, die Vim gut nutzen möchten – ich freue mich über euer Interesse :)
11 Kommentare
https://github.com/github/copilot.vim
Ich nutze VS Code Copilot so gut und gerne, dass ich danach gesucht habe und festgestellt habe, dass es auch ein Neovim-Copilot-Plugin gibt. Ich hatte schon überlegt, es auszuprobieren, aber jetzt sollte ich Neovim wohl wirklich einmal testen.
In der ersten Firma, zu der ich gewechselt bin, wurde entwickelt, indem man sich per Remote-Zugriff auf einen Linux-Server mit vim + tmux verbunden hat.
Ich fand es beeindruckend, dass in dieser Umgebung Remote-Pair-Programming möglich war. (Codeänderungen wurden sofort übernommen, und auch das Terminal wurde geteilt.)
Über die dotfiles auf dem Remote-Server (
.vimrc,.bashrc) bin ich dann richtig in vim eingestiegen.Ich erinnere mich, dass es damals ein Sample gab, sodass der Einstieg ganz entspannt war, deshalb kann ich die Geschichte über dotfiles im Haupttext gut nachvollziehen haha
Ich bin auch von NVim zu vscode gewechselt, aber wenn ich diesen Beitrag sehe, möchte ich am liebsten wieder zurückwechseln. :)
Es freut mich sehr, dass es um einen Texteditor geht. Wenn man akzeptiert, dass am Ende doch alles Arbeit mit Text ist, fühlt es sich nicht belastend an, sich um die eigene Textumgebung zu kümmern. Ich habe seit letztem Jahr angefangen, Emacs zu benutzen, und inzwischen kann ich wirklich alles mit der Tastatur erledigen. Wie Sie unter Punkt 0 gesagt haben, habe ich dadurch viel unnötige Zeit eingespart. Ich wünsche vim.kr viel Erfolg!!
Ich möchte nachfragen, falls ich es im Video übersehen habe. Als Sie sagten, dass Sie Notion durch neovim ersetzt haben: Meinten Sie damit, dass Sie sich in neovim ein Wiki-System aufgebaut haben und dieses nutzen, oder dass es eine Bibliothek gibt, mit der man Notion aus neovim heraus bedienen kann? Hintergrund meiner Frage ist, dass ich gern wissen würde, ob sich auch das in der Firma verwendete Notion über neovim bedienen lässt.
Natürlich habe ich Notion nicht direkt bedient oder so.
Wenn Notion eine API unterstützt, wäre es theoretisch möglich, es aus neovim heraus zu bedienen, aber bisher habe ich noch keinen solchen Versuch gesehen.
Ob das in der Firma verwendete Notion aus neovim heraus bedient werden kann, scheint eine Frage der Richtlinien zu sein, daher ist es schwer, dazu eine definitive Aussage zu treffen.
Notion bietet zwar eine API an, aber in der Praxis kamen mir verschiedene Einschränkungen in den Sinn, sodass die Umsetzung ins Stocken geraten ist. Ich dachte, vielleicht gäbe es dafür eine gute Lösung. Danke für die Antwort :D
Es kommt eher dem Aufbau eines Wiki-Systems nahe. Das Plugin
telekasten.nvimerfüllt meine Anforderungen zu mehr als 100 % und bringt so gut wie alle Funktionen mit, die man sich wünschen kann.Auch die Vorlagenfunktion ist ziemlich ordentlich. Die Funktionen zur Verwaltung interner Dokumente sind ebenfalls solide.
Eine der Funktionen, die ich persönlich besonders mochte, nämlich die Graph-Visualisierung, habe ich mit einer Bibliothek namens
force-graphselbst umgesetzt.Ich denke, das könnte als Referenz nützlich sein, daher lasse ich auch Links zum entsprechenden Source Code hier.
https://github.com/kodingwarrior/kodingwarrior.github.io/… -- Erzeugung der für die Graph-Visualisierung benötigten Knoten-(Dokumente)/Kanten-(interne Links)-Daten
https://github.com/kodingwarrior/kodingwarrior.github.io/… -- Visualisierung auf Basis von
force-graphIch nutze auch Neovim und habe damit eine ganz neue Welt kennengelernt. Deshalb habe ich auch versucht, Entwickler in meinem Umfeld dafür zu begeistern, aber niemand ist umgestiegen. Durch die Nutzung von Neovim habe ich viele der Dinge viel genauer kennengelernt, die man braucht, um eine Entwicklungsumgebung aufzubauen. Ich wusste gar nicht, dass es auch eine koreanische Vim-Community gibt. Ich werde sie mal besuchen — wie schön, das zu entdecken!
Das hängt wohl von Firma zu Firma und Team zu Team ab, aber überraschend viele interessieren sich gar nicht so sehr für die Einrichtung ihrer Entwicklungsumgebung..
Um Vim wirklich gut zu nutzen, braucht man am Ende wohl auch zsh und tmux dazu.
Im Unterschied zu Emacs ist es immerhin gut, dass man keinen Bart haben muss.