Wie ändere ich am geschicktesten Code von (Neo)Vim-Plugins?

Hey Leute,

wenn ich mit einer Mechanik eines (Neo)Vim-Plugins unzufrieden bin und direkt dessen Quellcode ändern möchte, wie mache ich das am geschicktesten? Da es bei Aktualisierungen zwangsläufig zu Konflikten kommen muss, werden entweder meine Änderungen überschrieben oder ich erhalte keine – beides ist unzufrieden.
Die zu ändernde Stelle und die Lösung habe ich prinzipiell schon ausgemacht, den geschilderten Konflikt erlebe ich also hautnah. :smiley:

Ein paar Hintergrundinformationen: Ich nutze Neovim und verwalte meine Plugins mit packer.

Falls weitere Informationen notwendig sind, dann sagt Bescheid (bspw. um welches Plugin es geht, welche Funktion ich genau ändern würde, etc.)! Ich kann’s irgendwie schwer abschätzen und wenn ich das Problem ausführlicher schildern würde, spräche ich relativ schnell über die Mechanik, die mich stört aber für meine Frage unerheblich ist.

Ich sehe hier in der Benutzeranleitung, dass man ein eigenes Repo angeben kann für Plugins. Könntest du also nicht ein Paket forken, und in einem eigenen Entwicklungszweig deine Änderungen verwalten?

Edit: Natürlich ist die richtige Lösung Emacs zu benutzen ;^)

Könntest du also nicht ein Paket forken, und in einem eigenen Entwicklungszweig deine Änderungen verwalten?

Quasi so habe ich das gemacht. Ich habe das Plugin geforked, es so geaendert wie ich es moechte, und dann mein eigenes Repo in meiner vimrc angegeben.
Wenn es Aenderungen am eigentlichen Plugin gibt, bekomme ich die natuerlich nicht automatisch. Dafuer schaue ich dann ab und zu mal in meine Repos, und wenn es neue Commits im Original-Repo gibt, kann ich die ja sehr leicht in mein Repo pullen. Zu Konflikten kommt es da bei mir persoenlich nie, da ich nur Kleinigkeiten veraendere - wenn es da bei dir wirklich zu Merge-Konflikten kommt, waere das etwas mehr Arbeit. Aber die meisten Aenderungen sind eh nur Kleinigkeiten, und man kann sie prinzipiell auch ignorieren, wenn du dir die Arbeit sparen willst.

Hört sich alles gut an!

Vielen Dank für die schnellen Antworten! :+1: