Nerdkrams
Vims Vielfalt ist sein Untergang

(Vorbemerkung: Es folgt lang­wei­li­ger Computerkram.)

Im Jahr 2009 jubel­te ich:

Vim ist der beste Vielzweckeditor die­ses Planeten.

Manchmal lie­ge ich falsch.

Von neu­en Texteditoren wie Atom und Visual Studio Code, die vor allem durch ihre quä­len­de Langsamkeit im Gedächtnis blei­ben, möch­te ich hier von vorn­her­ein gar nicht anfan­gen, die­se blei­ben meist ein vor­über­ge­hen­des Phänomen und haben ver­mut­lich einen kaum mess­ba­ren Anteil an einem etwai­gen Rückgang der Beliebtheit Vims. Der größ­te Feind von Vim aber ist Vim selbst.

Manches Verhalten von Vim ist sicher­lich Geschmackssache, auch, wenn mir nicht klar ist, wes­sen Geschmack eine noto­risch defek­te Codeeinrückung ent­spricht. Schlimmer ist, dass, wo Vim drauf­steht, sel­ten auch ein dem Benutzer bekann­ter Editor drinsteckt.

Das fängt schon bei der Unsitte an, dass die mei­sten uni­xo­iden Betriebssysteme und Linuxdistributionen - außer jenen, deren Schöpfer den POSIX-Standard aus hane­bü­che­nen Gründen auch hier absicht­lich igno­rie­ren - sich zwar dar­auf ver­stän­digt haben, dass mit dem Befehl vi ein POSIX-kon­for­mer Editor auf­ge­ru­fen wer­den soll, aber nicht, wel­cher; als eini­ger­ma­ßen gesi­chert kann nur ange­se­hen wer­den, dass vi ent­we­der einen Original-„vi“ (der aller­dings selbst auf älte­ren Systemen kaum noch zu sehen sein dürf­te), einen NeoVim, einen elvis, einen nvi oder einen Vim star­tet, was wie­der­um noch nicht viel aus­sagt, denn Vim ist noch längst nicht Vim.

Vim: Was darf's sein?

Der Sinn von Standards soll­te es, mei­ne ich, sein, dass man sich zumin­dest mit einer sau­be­ren (also lee­ren) Konfigurationsdatei auf ein bestimm­tes Verhalten ver­las­sen kann. Genau das ist bei Vim aber nicht der Fall, denn ver­las­sen kann man sich auf das Vorhandensein prak­tisch kei­nes Features. Unterstützt mein Vim jetzt eigent­lich Python? Wenn ja, welches?

Zugegeben: Die ein­kom­pi­lier­te Unterstützung zusätz­li­cher Programmiersprachen wie Perl oder Racket ist eigent­lich nur für den reich­hal­ti­gen Pluginfundus von Vim von Bedeutung - je mehr ver­füg­ba­re Sprachen, desto mehr ver­füg­ba­re Plugins. Das Pluginsystem von Vim ist aber längst ein Problem inner­halb des Problems gewor­den. Nachdem es einst Usus war, dass Plugins hän­disch her­un­ter­ge­la­den und in die ver­schie­de­nen pas­sen­den Vim-Ordner (Dokumentation, Syntaxdinge und so wei­ter) kopiert wur­den, kam mit „Vimballs“ eine Art Archivformat auf, das es ermög­lich­te, auch kom­ple­xe­re Plugins als .vba-Datei her­un­ter­zu­la­den, die das Verteilen der übri­gen Dateien teil­au­to­ma­ti­sie­ren konn­te. Dabei hät­te man es belas­sen kön­nen, hat man aber nicht, denn auch die­ses letz­te biss­chen Handarbeit gehör­te abgeschafft.

Mit Stand von heu­te (ich habe nur kurz die ein­schlä­gi­gen Blogs über­flo­gen) buh­len min­de­stens vier ver­schie­de­ne Paketmanager dar­um, der Standard sein zu dür­fen, und natür­lich wer­den frü­her oder spä­ter die Verlierer die­ses Buhlens durch den Sieger ersetzt wer­den müs­sen, weil sich nie­mand mehr um ihre wei­te­re Funktionsfähigkeit bemü­hen wird. Wer also wird das Rennen machen - vim-plug? Vundle? NeoBundle oder des­sen Nachfolger Dein.vim? Ihnen allen ist gemein, dass sie es bevor­zu­gen wür­den, lägen die zu instal­lie­ren­den Plugins alle­samt auf GitHub oder wenig­stens in einem ande­ren Git-Depot her­um. Nun ist es sicher­lich so, dass die mei­sten popu­lä­ren Vim-Plugins über GitHub ent­wickelt und ver­teilt wer­den, die­se Zentralisierung aber aktiv zu för­dern hal­te ich für einen unklu­gen Schritt, da einer domi­nan­ten Hostinginstanz, wenn sie erst ein­mal einen kri­ti­schen Teil der eige­nen Infrastruktur absor­biert hat, dadurch die Macht zuge­spro­chen wird, unpo­pu­lä­re oder sogar benut­zer­feind­li­che Entscheidungen (wie bei GitHub bereits gesche­hen) mit nur gerin­gem Widerstand durch­zu­set­zen. Schlimmer noch: Der Fokus auf Git als das Versionskontrollsystem, das sowie­so jeder nutzt, drängt Plugins, deren Entwickler teil­wei­se bewusst nicht auf Git set­zen (etwa, weil sie aus tech­ni­schen Gründen ande­re Systeme bevor­zu­gen), ins Abseits und so all­mäh­lich in die Vergessenheit.

Irgendwann ein­mal lau­te­te ein von der Allgemeinheit akzep­tier­ter Vorteil von Vim, dass er über­all funk­tio­niert. Leider hat die Allgemeinheit dabei ver­ges­sen, dass Flexibilität nicht der Sammelbegriff für vie­le ein­an­der aus­schlie­ßen­de Optionen ist.

Jemand soll­te mal einen Texteditor pro­gram­mie­ren, des­sen Lizenz denen, die „neu“ für „bes­ser“ hal­ten, sei­ne Benutzung verbietet.

Senfecke:

  1. Vielen dank für den Artikel den fand ich wirk­lich gut.
    Du hast den vim-tiny viel­leicht noch ver­ges­sen, der einem immer bei Debian auf­ge­drängt wird und den man erst mal durch den vim instal­lie­ren erset­zen muss nach einer debi­an instal­la­ti­on. Was ich ganz­schön ner­vig fin­de, aber ich bin nur ein ein­fa­cher Anwender. Ich wünsch­te mir öfter sol­che Artikel von dir, also weiterso. 

    Und nun etwas ande­res ich muss­te jetzt eini­ges anstel­len damit ich mal kom­men­tie­ren konn­te, viel­leicht 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 rich­tig kon­fi­gu­riert. Tor-Browser hat kei­ne Verbindung mit die­ser Website auf­ge­baut, 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 rich­tig kon­fi­gu­riert. Firefox hat kei­ne Verbindung mit die­ser Website auf­ge­baut, um Ihre Informationen vor Diebstahl zu schützen.

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

    Dies ist kei­ne siche­re Verbindung

    Unbefugte Dritte könn­ten ver­su­chen, Ihre Informationen von tuxproject.de zu steh­len, z. B. Passwörter, Nachrichten oder Kreditkartendaten. NET::ERR_CERT_DATE_INVALID

    Deine Seite wird ein­fach nicht ange­zeigt, das letz­te mal hat­te ich noch nicht die­ses Problem.
    Aber ich den­ke mal das du das schnell nach­stel­len kannst um zu sehen wor­an es liegt.

    • vim-tiny ist ein­fach nur ein Vim, dem die mei­sten Features nicht ein­kom­pi­liert wur­den. (Schau‘ mal in :ver­si­on.)

      Was das Zertifikat betrifft: bin dran, danke.

      • tuxproject.de uses an inva­lid secu­ri­ty cer­ti­fi­ca­te. The cer­ti­fi­ca­te expi­red on 05.05.2017 02:14. The cur­rent 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 ein­fa­ches Zertifikat im Griff.

        • Ich bin immer noch auf einem Uberspace, der kei­ne auto­ma­ti­sche Erneuerung der Zertifikate beherrscht. Eine Mail dazu habe ich pünkt­lich ver­schickt, aber die sind nicht immer blitzschnell.

          • Naja das Ganze auf Uberspace zu schie­ben ist aber Quatsch: https://wiki.uberspace.de/webserver:https#automatisieren_von_let_s_encrypt
            Weiterhin kann let­sen­crypt auch Mails ver­sen­den, wenn die Zertifikate bald ablaufen.

            Was vim angeht: Zustimmung. Obwohl ich vim nicht mehr mis­sen möch­te gibt es schon so eini­ge Sachen die enorm ner­ven. Leider ist vie­les auch mit Neovim nicht bes­ser gewor­den, weil deren Fokus schein­bar auf voll­stän­di­ge Kompatibilität mit vim Plugins sowie Sachen wie asyn­chro­ne Abarbeitung von Befehlen und ähn­li­chem liegt. In die­sem Sinne ggVG d
            :wq

            • Du über­siehst dabei, dass die Zertifikatsskripte von Uberspace für die uralten CentOS-5-Hosts aus tech­ni­schen Gründen noch nicht ver­füg­bar sind. Und auf einem sol­chen bin ich der­zeit noch, war­tend auf die ange­kün­dig­te Version 7 mit Umzugsautomatismen.

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

              Was Vim angeht: auf von mir admi­ni­strier­ten Servern gibt es den gar nicht mehr. Seine Ärgernisse sind mir doch zu viel gewor­den. Den maß­geb­li­chen Vorteil von NeoVim - asyn­chro­ne „Aufgaben“ - hat Vim selbst inzwi­schen auch bekom­men, der Rest (Plugins in jeder erdenk­li­chen Sprache, Einbetten in so ziem­lich alles) ist in der vor­lie­gen­den Form nicht pra­xis­taug­lich, weil die Anwendungen fehlen.

  2. Bin ich froh, daß ich vi nicht zum pro­gram­mie­ren son­dern nur zum admi­ni­strie­ren brau­che und daher mit ca. 2 Handvoll Befehlen aus­kom­me. Wobei es mich auch nervt, daß ich unter Debian immer noch vim nach­in­stal­lie­ren muß, damit die Cursor-Tasten wie erwar­tet funktionieren…
    Ich mag Wurst.

Comments are closed.

https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_smilenew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_biggrin2.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_sadnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_eek.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_shocked.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_confusednew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_coolnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_lol.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_madnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_aufsmaul.gif 
mehr...
 

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

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