Lerne Coding
12 Monate Neovim: Evolution meiner Entwicklungsumgebung

Mein Neovim-Weg nach 12 Monaten

Inhaltsverzeichnis
[[TABLE OF CONTENTS]]
access_timeGeschätzte Lesezeit ca. Minuten

Vor etwa einem Jahr habe ich einen Artikel geschrieben mit dem Titel "Neovim als meine Entwicklungsumgebung", wo ich beschrieben habe, wie die Entwicklung meines persönlichen Development Setups von Microsoft Frontpage über mehrere Iterationen hin zu Neovim entwickelt hat.

In diesem Artikel möchte ich etwas zurückblicken auf die Erfahrung der letzten 12 Monate, meine primäre Programmiersprache im letzten Jahr war Golang und JavaScript, weshalb ich Neovim natürlich auch zum größten Teil für diesen Zweck eingesetzt habe.

Reflexion von einem Jahr mit Neovim

Vor einem Jahr hatte ich spezifische Überlegungen, weshalb ich von Visual Studio Code zum Terminal und Neovim wollte. Nun wollen wir mal einige Punkte von vor einem Jahr reflektieren, wie es sich auf meine tägliche Arbeit auswirkt.

Ein ganz großes Thema vor einem Jahr war für mich, dass ich weniger mit der Maus arbeiten wollte, da es mich immer ablenkt in meinem Programmierflow.

Inzwischen kann ich sagen, dass ich gar kein Interesse mehr an einer Maus habe, weshalb ich auch unabhängig von Neovim und Terminal versuche, Wege ohne Maus zu finden. In Neovim funktioniert das inzwischen wunderbar, wodurch ich einen ausgezeichneten Workflow gefunden habe. Vor allem die Vim-Motions liebe ich extrem, in meinem Kopf sage ich nicht "ciw" sondern denke mir "das Wort will ich ändern", was so viel heißt wie "change inner word".

Die Arbeitsweise selbst hat sich noch mal stark geändert. Zunächst war es wichtig, dass ich an der Seite einen Dateiexplorer habe, um zwischen den Dateien zu navigieren und die Struktur jederzeit zu sehen.

Inzwischen habe ich den Explorer als Modal über den Code, wenn ich mal eine Datei umbenennen oder eine Datei verschieben will. Der Fokus liegt nun viel mehr auf der Stelle Code, an der ich gerade arbeite, nicht auf zehn weiteren Modalen und Sidebars mit Informationen.

Vor zwölf Monaten hatte ich die Wahrnehmung, dass es einfacher sei, wenn alle die gleiche IdE verwenden. Aus meiner heutigen Perspektive finde ich, dass es beim Pair-Programming vor Ort störend sein kann, weil man die Geräte wechseln muss, da nicht jeder mit Vim-Motions zurechtkommt.

Wenn du wechseln willst, zu Neovim, überlege dir vorher gut, ob du direkt zu Neovim wechseln willst, mit allen Vor- und Nachteilen oder du lieber erst einmal ein Vim-Motions Plugin verwenden willst. Ich bin damals direkt zu Neovim gewechselt, aber hatte auch die Zeit, mich in Ruhe um die Einrichtung zu kümmern und parallel auch noch mich mit Vim-Motions vertraut zu machen. Um ehrlich zu sein, habe ich auch eine sehr hohe Frustrationsgrenze.

Wie hat sich meine Konfiguration von Neovim entwickelt?

Letztes Jahr in meinem Artikel hatte ich bereits einen Ausblick in die Zukunft gewagt, wo sich meine Neovim hinentwickeln könnte, damit hätte ich nicht richtiger liegen können. Drei Monate später hatte ich im Winterurlaub damit angefangen, meine Neovim Konfiguration komplett von Scratch zu schreiben. Diesen Schritt hatte ich gewagt, weil ich meine Konfiguration komplett verstehen wollte und das funktioniert am besten, wenn man jede Zeile kennt. Einige Monate später konnte ich das auch feststellen, wenn ein Fehler aufgetreten ist, konnte ich adäquat darauf reagieren und meine Konfiguration anpassen.

Ein weiterer Vorteil dadurch war, dass die Konfiguration nicht mehr so überladen ist wie mit LazyVim, es ist eben meine Konfiguration und nicht mehr eine Allgemeine, die mit jeder Programmiersprache zu Recht kommt.

Funktioniert jetzt das Formatieren, Testing und Debugging?

Das generelle Formatieren, Testen und Debuggen war nach einer etwas längeren Gewöhnungsphase dann gut mit LazyVim möglich, auch ohne komplett eigene Konfiguration möglich. Allerdings gab es gelegentlich Konflikte zwischen verschiedenen Formatierungs- und Testing-Tooling, dies hätte sich wahrscheinlich auch in LazyVim beheben lassen. Persönlich muss ich allerdings sagen, dass ich es angenehmer fand, dies über eine eigene Konfiguration zu machen, wo ich dann einen deutlich besseren Überblick über die Zusammenhänge habe.

Nachteil der eigenen Konfiguration: Jede Programmiersprache muss vor der Verwendung neu sauber für die eigenen Bedürfnisse eingerichtet werden, das bringt mich zu einem großen Vorteil, den ich in der Verwendung sehe: Ich beschäftige mich viel mehr mit den Ökosystemen von Programmiersprachen.

Zuletzt ist mir das wieder bei Java aufgefallen. Lange Zeit habe ich gar nichts mit Java gemacht und wollte jetzt wieder einsteigen, aber auch Neovim verwenden. Dabei bin ich sofort auf Schwierigkeiten gestoßen, weil ich das Java-Ökosystem zu wenig kenne. Vorher hatte ich immer IntelliJ für Java verwendet, dort hat man einen Button "Projekt Erstellen" vereinfacht gesagt. In Neovim gibt es so einen Button, nicht das CLI-Kommando muss einem bekannt sein. So war ich dann wieder einige Stunden damit beschäftigt, das gesamte erst einmal richtig zu verstehen.

Tipps für deine eigene Neovim Konfiguration

Zum Abschluss möchte ich dir noch vier Tipps für deinen erfolgreichen Einstieg in die Konfiguration von Neovim:

  • Eine gute Orientierung haben mir die Videos von Josean Martinez gegeben, im Besonderen das Video "How I Setup Neovim To Make It AMAZING in 2024: The Ultimate Guide", dort zeigt Josean Martienz detailliert wie er eine Konfiguration für Neovim aufbaut.
  • Wenn du einmal mit der Konfiguration eines Plugins nicht weiter kommst, verwende die GitHub-Suche, dort drüber kannst du auch nach Code Stellen suchen, so kannst du ggf. von anderen eine passende Stelle finden, die dich der Lösung näher bringen.
  • Mach es nur, wenn du Zeit hast, du wirst deine erste Konfiguration nicht in zwei Stunden fertig haben, wenn du Debugger, Testing und Formating einrichten willst und ggf. sogar noch für mehrere Programmiersprachen.
  • Versuch dich inspirieren zu lassen gerade am Anfang, wenn du bisher nicht die ganze Plugin Welt von Neovim kennst. Ich habe gerade am Anfang sehr gerne den r/neovim gelesen und auf Github mir andere Konfigurationen angeschaut, um noch mehr eine Idee davon zu bekommen, wie meine Konfiguration aussehen könnte.
Github Logofschuermeyer/nvim-setup
2 0 0

This is my personal Neovim Setup. I use it for my daily work and I'm happy to share it with you. Feel free to use it as a base for your own setup.

Schlussfolgerung

Wem würde ich nach einem Jahr regelmäßiger Arbeit mit Neovim nun Neovim empfehlen? Jeden? Nein, persönlich denke ich, dass Neovim nicht für jeden etwas ist. Wenn du wenig Zeit hast, dich um deine Konfiguration zu kümmern oder gerade erst in die Programmierung einsteigst, würde ich dir davon abraten. Da du Zeit brauchst für die Einrichtung und ein Grundverständnis der Programmierung hilft, dir dabei, Neovim richtig einzurichten, abgesehen davon, dass man am Anfang schon genügend Themen zu lernen hat.

Sei dir auch bewusst, dass du nicht nur Initial für deine Konfiguration Zeit brauchst, sondern du wirst regelmäßig Anpassungen machen wollen, es ist ein großes Rabbit Hole und auch wenn du denkst, das brauche ich gar nicht zumindest bei Updates von Plugins oder Neovim selbst, kann immer Arbeit anfallen und dem muss man sich einfach bewusst sein.

Kommentare zum Artikel

Es sind noch keine Kommentare vorhanden? Sei der/die Erste und verfasse einen Kommentar zum Artikel "12 Monate Neovim: Evolution meiner Entwicklungsumgebung"!

Kommentar schreiben

Vom Autor Empfohlen
close