Nerdkrams
Vims Vielfalt ist sein Untergang

(Vorbemerkung: Es folgt langweiliger Computerkram.)

Im Jahr 2009 jubelte ich:

Vim ist der beste Vielzweckeditor dieses Planeten.

Manchmal liege ich falsch.

Von neuen Texteditoren wie Atom und Visual Studio Code, die vor allem durch ihre quälende Langsamkeit im Gedächtnis bleiben, möchte ich hier von vornherein gar nicht anfangen, diese bleiben meist ein vorübergehendes Phänomen und haben vermutlich einen kaum messbaren Anteil an einem etwaigen Rückgang der Beliebtheit Vims. Der größte Feind von Vim aber ist Vim selbst.

Manches Verhalten von Vim ist sicherlich Geschmackssache, auch, wenn mir nicht klar ist, wessen Geschmack eine notorisch defekte Codeeinrückung entspricht. Schlimmer ist, dass, wo Vim draufsteht, selten auch ein dem Benutzer bekannter Editor drinsteckt.

Das fängt schon bei der Unsitte an, dass die meisten unixoiden Betriebssysteme und Linuxdistributionen – außer jenen, deren Schöpfer den POSIX-Standard aus hanebüchenen Gründen auch hier absichtlich ignorieren – sich zwar darauf verständigt haben, dass mit dem Befehl vi ein POSIX-konformer Editor aufgerufen werden soll, aber nicht, welcher; als einigermaßen gesichert kann nur angesehen werden, dass vi entweder einen Original-„vi“ (der allerdings selbst auf älteren Systemen kaum noch zu sehen sein dürfte), einen NeoVim, einen elvis, einen nvi oder einen Vim startet, was wiederum noch nicht viel aussagt, denn Vim ist noch längst nicht Vim.

Vim: Was darf's sein?

Der Sinn von Standards sollte es, meine ich, sein, dass man sich zumindest mit einer sauberen (also leeren) Konfigurationsdatei auf ein bestimmtes Verhalten verlassen kann. Genau das ist bei Vim aber nicht der Fall, denn verlassen kann man sich auf das Vorhandensein praktisch keines Features. Unterstützt mein Vim jetzt eigentlich Python? Wenn ja, welches?

Zugegeben: Die einkompilierte Unterstützung zusätzlicher Programmiersprachen wie Perl oder Racket ist eigentlich nur für den reichhaltigen Pluginfundus von Vim von Bedeutung – je mehr verfügbare Sprachen, desto mehr verfügbare Plugins. Das Pluginsystem von Vim ist aber längst ein Problem innerhalb des Problems geworden. Nachdem es einst Usus war, dass Plugins händisch heruntergeladen und in die verschiedenen passenden Vim-Ordner (Dokumentation, Syntaxdinge und so weiter) kopiert wurden, kam mit „Vimballs“ eine Art Archivformat auf, das es ermöglichte, auch komplexere Plugins als .vba-Datei herunterzuladen, die das Verteilen der übrigen Dateien teilautomatisieren konnte. Dabei hätte man es belassen können, hat man aber nicht, denn auch dieses letzte bisschen Handarbeit gehörte abgeschafft.

Mit Stand von heute (ich habe nur kurz die einschlägigen Blogs überflogen) buhlen mindestens vier verschiedene Paketmanager darum, der Standard sein zu dürfen, und natürlich werden früher oder später die Verlierer dieses Buhlens durch den Sieger ersetzt werden müssen, weil sich niemand mehr um ihre weitere Funktionsfähigkeit bemühen wird. Wer also wird das Rennen machen – vim-plug? Vundle? NeoBundle oder dessen Nachfolger Dein.vim? Ihnen allen ist gemein, dass sie es bevorzugen würden, lägen die zu installierenden Plugins allesamt auf GitHub oder wenigstens in einem anderen Git-Depot herum. Nun ist es sicherlich so, dass die meisten populären Vim-Plugins über GitHub entwickelt und verteilt werden, diese Zentralisierung aber aktiv zu fördern halte ich für einen unklugen Schritt, da einer dominanten Hostinginstanz, wenn sie erst einmal einen kritischen Teil der eigenen Infrastruktur absorbiert hat, dadurch die Macht zugesprochen wird, unpopuläre oder sogar benutzerfeindliche Entscheidungen (wie bei GitHub bereits geschehen) mit nur geringem Widerstand durchzusetzen. Schlimmer noch: Der Fokus auf Git als das Versionskontrollsystem, das sowieso jeder nutzt, drängt Plugins, deren Entwickler teilweise bewusst nicht auf Git setzen (etwa, weil sie aus technischen Gründen andere Systeme bevorzugen), ins Abseits und so allmählich in die Vergessenheit.

Irgendwann einmal lautete ein von der Allgemeinheit akzeptierter Vorteil von Vim, dass er überall funktioniert. Leider hat die Allgemeinheit dabei vergessen, dass Flexibilität nicht der Sammelbegriff für viele einander ausschließende Optionen ist.

Jemand sollte mal einen Texteditor programmieren, dessen Lizenz denen, die „neu“ für „besser“ halten, seine Benutzung verbietet.

Senfecke

Bisher gibt es 11 Senfe:

  1. Vielen dank für den Artikel den fand ich wirklich gut.
    Du hast den vim-tiny vielleicht noch vergessen, der einem immer bei Debian aufgedrängt wird und den man erst mal durch den vim installieren ersetzen muss nach einer debian installation. Was ich ganzschön nervig finde, aber ich bin nur ein einfacher Anwender. Ich wünschte mir öfter solche Artikel von dir, also weiterso.

    Und nun etwas anderes ich musste jetzt einiges anstellen damit ich mal kommentieren konnte, vielleicht kannst du damit etwas anfangen:
    Torbrowser: https://tuxproject.de/blog/2017/05/vims-vielfalt-ist-sein-untergang/
    Diese Verbindung ist nicht sicher

    Der Inhaber von tuxproject.de hat die Website nicht richtig konfiguriert. Tor-Browser hat keine Verbindung mit dieser Website aufgebaut, um Ihre Informationen vor Diebstahl zu schützen.

    Firefox: https://tuxproject.de/blog/2017/05/vims-vielfalt-ist-sein-untergang/

    Diese Verbindung ist nicht sicher

    Der Inhaber von tuxproject.de hat die Website nicht richtig konfiguriert. Firefox hat keine Verbindung mit dieser Website aufgebaut, um Ihre Informationen vor Diebstahl zu schützen.

    Chromium: https://tuxproject.de/blog/2017/05/vims-vielfalt-ist-sein-untergang/

    Dies ist keine sichere Verbindung

    Unbefugte Dritte könnten versuchen, Ihre Informationen von tuxproject.de zu stehlen, z. B. Passwörter, Nachrichten oder Kreditkartendaten. NET::ERR_CERT_DATE_INVALID

    Deine Seite wird einfach nicht angezeigt, das letzte mal hatte ich noch nicht dieses Problem.
    Aber ich denke mal das du das schnell nachstellen kannst um zu sehen woran es liegt.

    • vim-tiny ist einfach nur ein Vim, dem die meisten Features nicht einkompiliert wurden. (Schau‘ mal in :version.)

      Was das Zertifikat betrifft: bin dran, danke.

      • tuxproject.de uses an invalid security certificate. The certificate expired on 05.05.2017 02:14. The current time is 05.05.2017 10:53. Error code: SEC_ERROR_EXPIRED_CERTIFICATE

        „Was das Zertifikat betrifft: bin dran, danke.“

        Es gibt viel zu tun: Schauen wir es uns an.
        Typisch Windowser. Noch nicht mal ein ein einfaches Zertifikat im Griff.

        • Ich bin immer noch auf einem Uberspace, der keine automatische Erneuerung der Zertifikate beherrscht. Eine Mail dazu habe ich pünktlich verschickt, aber die sind nicht immer blitzschnell.

          • Naja das Ganze auf Uberspace zu schieben ist aber Quatsch: https://wiki.uberspace.de/webserver:https#automatisieren_von_let_s_encrypt
            Weiterhin kann letsencrypt auch Mails versenden, wenn die Zertifikate bald ablaufen.

            Was vim angeht: Zustimmung. Obwohl ich vim nicht mehr missen möchte gibt es schon so einige Sachen die enorm nerven. Leider ist vieles auch mit Neovim nicht besser geworden, weil deren Fokus scheinbar auf vollständige Kompatibilität mit vim Plugins sowie Sachen wie asynchrone Abarbeitung von Befehlen und ähnlichem liegt. In diesem Sinne ggVG d
            :wq

            • Du übersiehst dabei, dass die Zertifikatsskripte von Uberspace für die uralten CentOS-5-Hosts aus technischen Gründen noch nicht verfügbar sind. Und auf einem solchen bin ich derzeit noch, wartend auf die angekündigte Version 7 mit Umzugsautomatismen.

              Insofern liegt der Ball bei Uberspace schon ganz richtig. ;-)

              Was Vim angeht: auf von mir administrierten Servern gibt es den gar nicht mehr. Seine Ärgernisse sind mir doch zu viel geworden. Den maßgeblichen Vorteil von NeoVim – asynchrone „Aufgaben“ – hat Vim selbst inzwischen auch bekommen, der Rest (Plugins in jeder erdenklichen Sprache, Einbetten in so ziemlich alles) ist in der vorliegenden Form nicht praxistauglich, weil die Anwendungen fehlen.

  2. Bin ich froh, daß ich vi nicht zum programmieren sondern nur zum administrieren brauche und daher mit ca. 2 Handvoll Befehlen auskomme. Wobei es mich auch nervt, daß ich unter Debian immer noch vim nachinstallieren muß, damit die Cursor-Tasten wie erwartet funktionieren…
    Ich mag Wurst.

  3. Dein Theme ist hässlich.

Senf dazugeben:

:) 
:D 
:( 
:o 
8O 
:? 
8) 
:lol: 
:x 
:aufsmaul: 
:P 
:ups: 
:cry: 
:evil: 
:twisted: 
mehr...
 

Erlaubte Tags:
<strong> <em> <pre class="" title="" data-url=""> <code class="" title="" data-url=""> <a href="" title=""> <img src="" title="" alt=""> <blockquote> <q> <b> <i> <del> <span style="" class="" title="" data-url=""> <strike>

Datenschutzhinweis: Ihre IP-Adresse wird nicht gespeichert. Details finden Sie hier.

Du willst deinen Senf dazugeben, dir ist aber der Senf ausgegangen? Dann nutz den SENFOMATEN! Per einfachem Klick kannst du fertigen Senf in das Kommentarfeld schmieren, nur dazugeben musst du ihn noch selbst.