Lerne Coding
Neovim als meine Entwicklungsumgebung

Erfahrungsbericht: Von Microsoft Frontpage zu Neovim

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

In diesem Artikel geht es stark um meine Development Experience, kein Thema könnte individueller sein als mit welchem Editor oder IDE gearbeitet wird und wie diese konfiguriert ist. Für mich ist das wie mit dem Thema Lernen, jeder Lernt auf eine andere Art. Was für den einen funktioniert, kann für die nächste Person super Kontraproduktiv sein. Weshalb ich dich bitten möchte diesen Artikel als einen persönlichen Erfahrungsbericht zu verstehen, der Zeit wie mein Weg zur richtigen Entwicklungsumgebung für mich ausgesehen hat. Wobei das natürlich auch nur eine Momentaufnahme ist, was sich momentan für mich gut anfühlt. Was wäre ein Entwickler ohne seine Entwicklungsumgebung?

Mit welchen Entwicklungsumgebungen ich Gearbeitet habe

Als Einstiegspunkt möchte ich einen Blick auf die Vergangenheit werfen, welche Entwicklungsumgebungen oder Code Editor ich verwendet habe und was für mich Punkte waren, wo ich gesagt habe, ich benötige etwas anderes.

Mein erster Editor war Microsoft Frontpage 2000 diesen hatte ich ca. von 2004 bis 2006 verwendet, damals hatte ich noch gar keine Ansprüche außer das dieser Funktioniert um erste Webseiten zu erstellen. Für diesen Zweck war es zum damaligen Zeitpunkt vollkommen ausreichend.

Anschließende hatte ich 2012 in etwa erste Schritte mit PHP als Programmiersprache gemacht dafür wurde dann Notepad++ verwendet, ich habe diesen sehr Rudimentäre Eingesetzt, viel mit Shortcuts und Autovervollständigungen habe ich damals bisher nicht gemacht. Parallel dazu oder auch davor habe ich mit der Skriptsprache AutoIt gearbeitet, das war das erste Mal, dass ich mir auch über meine Development Experience Gedanken gemacht habe, zu Erste hatte ich den AutoIt Script Editor verwendet, dieser war sehr einfach gestrickt. Allerdings gab es auch eine kleine Entwicklungsumgebung mit dem Namen ISN Autoit Studio diese Software habe ich echt gerne für meine damaligen Projekte verwendet unter Windows, das war zwischen 2012 und 2013.

Wie du siehst, gab es dazwischen immer wieder Phasen, wo ich das Programmieren bzw. Skripten etwas pausiert habe. Komplett ohne Unterbrechung arbeite ich seit 2017 mit verschiedenen Umgebungen, das war der Zeitpunkt, wo es endgültig zu meiner Leidenschaft wurde und auch meine Ausbildung begonnen hatte.

Einstieg in den ersten Beruf

Mit dem Beginn meiner Ausbildung habe ich angefangen mit Sublime Text 3 zu Arbeiten aber auch nur für eine kurze Zeit von einem Jahr, den ich habe, schnell gemerkt das sich Sublime Text sich für mich nicht gut anfühlt, es war für mich als hätte ich ein Programm in Verwendung, das eigentlich seinen Zenit schon überschritten hat und nicht mehr State of the Art ist. Aus heutiger Perspektive muss ich sagen, Sublime Text hätte mich noch deutlich länger begleiten können. Mir fehlten schlichtweg die Kenntnisse, um es passend für mich zu konfigurieren.

In 2018 habe ich dann für mich eine neue Entwicklungsumgebung gesucht, die einfach in der Konfiguration ist und ein ansprechendes Design hat. Die Lösung für mich zu diesem Zeitpunkt war Visual Studio Code, mit einer minimalistischen-Oberfläche, einem Erweiterungssystem auf der Basis von JavaScript, einem Store, worüber ich alle Erweiterungen beziehen kann. Also alle Funktionen, die mir zu dem Zeitpunkt wichtig waren, wurden erfüllt. Und ich brauchte mir auch nicht wirklich Gedanken über die Konfiguration machen, da die Basis Funktionalität für mich funktioniert hat. Funktionen wie mehrere Cursors, Dev Containers, ssh-Verbindungen zu Server, Integriertes Terminal haben mich über Jahre bei "VSCode" gehalten. Gerade das Thema der ssh-Verbindungen zu Servern ist einfach optimal umgesetzt und da bei meinem alten Arbeitgeber viel drauf aufgebaut hat, war ich auch darauf angewiesen.

Anfang des Jahres 2024 habe ich für mich wieder mal festgestellt, dass ich eigentlich zu viel über die Maus arbeite und mich das Aus bremst, was wäre denn, wenn ich einfach zu den Stellen mit der Tastatur navigieren könnte, wo ich etwas bearbeiten will, für mich ein revolutionärer Gedanke gerade zu. Da ich mich früher immer schwergetan habe, damit mir irgendwelche Shortcuts zu merken und sobald ich ein Button auf dem Bildschirm für die gleiche Funktion sehe, werde ich ihn drücken! Also habe ich mich wieder auf die Suche gemacht bzw. mir direkt Vim bzw. Neovim angeschaut, da ich bereits wusste, dass genau dafür Vim bekannt ist ohne Tastatur auszukommen.

Anhand eines YouTube-Videos habe ich meine Konfiguration eingerichtet und versucht gelegentlich mit Neovim anstatt von Visual Studio Code zu arbeiten, aber es funktionierte nicht in meinem Umfeld ich war zu sehr auf die Remote Server Funktionalität angewiesen und hatte auch keine Energie mir dafür eine passende Lösung auszudenken. Also ging es erst einmal zurück zu Visual Studio Code.

Wie geht es weiter in einem neuen Arbeitsumfeld?

Mitte des Jahres 2024 sollte es für mich allerdings zu einem neuen Arbeitgeber weitergehen, denn meine persönliche und berufliche Entwicklung haben nicht mehr zu meinem ehemaligen Arbeitgeber gepasst, unsere Wertevorstellungen haben einfach nicht mehr zusammengepasst.

In meinem neuen Umfeld sind viele Kolleg:innen mit den IDEs von JetBrains unterwegs, für mich war das für einen kurzen Moment auch die richtige Entwicklungsumgebung da, wenn ich Hilfe bräuchte, wäre es für die Kolleg:innen einfacher mich zu unterstützten, so meine Überlegung. Weshalb ich für den Anfang ich mich dazu zwingen wollte, es zumindest einmal mit den Produkten von JetBrains zu versuchen. Aber da Programmieren für mich auch eine große Leidenschaft ist und ich nicht privat bereit bin mich mit entsprechenden JetBrains Lizenzen auszustatten, konnte es nur eine kurze Affäre sein ohne eine langfristige Synergie.

IntelliJ IDEA konnte mir auch an keinem Zeitpunkt, das Gefühle geben, mir etwas "besseres" zu geben als es Visual Studio Code schon konnte, eher im Gegenteil der Minimalismus von Visual Studio Code fehlte mir einfach.

Dadurch wuchs bei mir immer weiter der Gedanke Neovim, könnte für mich doch jetzt die Lösung sein, Remote Entwicklung brauche ich in der Form nicht mehr. Und alles andere bekomme ich doch bestimmt konfiguriert, wenn ich für den Anfang eine Distribution wie LazyVim als Startpunkt wähle. Dadurch kann ich ein Setup entwickeln, das ich in jedem Kontext verwenden kann.

Jetzt habe ich Zeit für Neovim

Für mich war also gerade genau jetzt mit dem Jobwechsel der richtige Zeitpunkt, sich noch einmal mit Neovim zu beschäftigen und einen Weg zu finden, es komplett in meinen Arbeitsablauf zu integrieren.

Um mir den Start einfacher zu gestalten, hatte ich mich für eine Distribution entschieden LazyVim. Diese Distribution liefert viele Funktionen mit, mit der man als Basis starten kann. Aber trotzdem habe ich in den Letzten drei Wochen ca. 20-30 Stunden in meine Konfiguration investiert, was für den Anfang als viel Zeit erscheinen mag, ist für mich eine Investition in meine Development Experience.

Neben dieser Zeit waren es bestimmt auch noch mal 20 Stunden, die ich damit verbracht, habe, die, Vim Motions zu lernen und mir Videos darüber anzuschauen, wie die Shortcuts eigentlich richtig funktionieren. Das wichtige ist die Logik der Motions zu verstehen und nicht zu versuchen die Shortcuts stumpf auswendig zu lernen, ab diesem Zeitpunkt hat es für mich klick gemacht.

Auf dem Bild ist mein aktuelles Neovim Setup zu sehen, mit mehren offenen File Buffern.
Auf dem Bild ist mein aktuelles Neovim Setup zu sehen, mit mehren offenen File Buffern.

Mein komplettes Setup findest du auch öffentlich auf Github als Inspiration für dein mögliches Setup.

Github Logofschuermeyer/nvim-setup
1 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.

Es war gut, dass ich direkt auf Neovim und Vim Motions gewechselt bin, theoretisch gibt es auch für viele Entwicklungsumgebungen Plugins, um Vim Motions zu aktivieren, für mich hätte das allerdings nicht funktioniert. Da meistens die klassischen Steuerungen von der Entwicklungsumgebung auch noch funktionieren und ich nicht gezwungen bin, das neue System wirklich zu lernen, was für mich einfach notwendig ist sich manchmal bewusst einzuschränken, um etwas Neues zu lernen.

Wie heißt es so schön? Es ist nicht alles Gold was glänzt. Und so ist es auch bei Neovim. Auf den ersten Blick ist es wirklich das Ideale Setup für mich. Allerdings wenn es dann um speziellere Konfigurationen geht, ich denke da an Formatierung, Testing und Debugging hat es mich auch einiges an Nerven gekostet alles ans Laufen zu bekommen. Das Thema Debugging ist zum Zeitpunkt, wo ich diesen Artikel schreibe auch bislang nicht endgültig gelöst, wobei ich guter Hoffnung bin da auch noch einen Workflow für mich zu finden, der passt.

Was bringt die Zukunft?

Für den Moment habe ich wirklich das Gefühl, mit Neovim eine Möglichkeit gefunden zu haben, meine Entwicklungsumgebung so aufzubauen, wie es meinem Bedürfnisse entspricht. Wie bei Scrum auch werde ich mit jeder Iteration meiner Konfiguration mehr mit meinem Editor zusammenwachsen und untrennbar sein, ist meine These. Ich könnte mir allerdings auch vorstellen, in ein paar Monaten noch mal eine Konfiguration ohne LazyVim als Basis zu machen, weil ich dann noch einmal viel expliziter sagen kann, was ich von LazyVim wirklich benötige, für den Einstieg aber die richtige Lösung.

Wenn du dich für den Weg entscheiden solltest, solltest du dir bewusst sein, dass es auch die Frustration geben wird, wo du alles in die Ecke werfen möchtest. Es ist wichtig, diese Momente zu akzeptieren, dann ist es vielleicht Zeit mal ein Schritt zurück zu machen.

Kommentare zum Artikel

Es sind noch keine Kommentare vorhanden? Sei der/die Erste und verfasse einen Kommentar zum Artikel "Neovim als meine Entwicklungsumgebung"!

Kommentar schreiben

Vom Autor Empfohlen
close