Nerdkrams
Vims Viel­falt ist sein Unter­gang

(Vor­be­mer­kung: Es folgt lang­wei­li­ger Com­pu­ter­kram.)

Im Jahr 2009 jubel­te ich:

Vim ist der beste Viel­zwecke­di­tor die­ses Pla­ne­ten.

Manch­mal lie­ge ich falsch.

Von neu­en Text­edi­to­ren wie Atom und Visu­al Stu­dio Code, die vor allem durch ihre quä­len­de Lang­sam­keit im Gedächt­nis 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ä­no­men und haben ver­mut­lich einen kaum mess­ba­ren Anteil an einem etwa­igen Rück­gang der Beliebt­heit Vims. Der größ­te Feind von Vim aber ist Vim selbst.

Man­ches Ver­hal­ten von Vim ist sicher­lich Geschmacks­sa­che, auch, wenn mir nicht klar ist, wes­sen Geschmack eine noto­risch defek­te Code­ein­rückung ent­spricht. Schlim­mer ist, dass, wo Vim drauf­steht, sel­ten auch ein dem Benut­zer bekann­ter Edi­tor drin­steckt.

Das fängt schon bei der Unsit­te an, dass die mei­sten unixo­iden Betriebs­sy­ste­me und Linux­dis­tri­bu­tio­nen – außer jenen, deren Schöp­fer den POSIX-Stan­dard aus hane­bü­che­nen Grün­den 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 Edi­tor 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 Syste­men kaum noch zu sehen sein dürf­te), einen Neo­Vim, 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 Stan­dards soll­te es, mei­ne ich, sein, dass man sich zumin­dest mit einer sau­be­ren (also lee­ren) Kon­fi­gu­ra­ti­ons­da­tei auf ein bestimm­tes Ver­hal­ten ver­las­sen kann. Genau das ist bei Vim aber nicht der Fall, denn ver­las­sen kann man sich auf das Vor­han­den­sein prak­tisch kei­nes Fea­tures. Unter­stützt mein Vim jetzt eigent­lich Python? Wenn ja, wel­ches?

Zuge­ge­ben: Die ein­kom­pi­lier­te Unter­stüt­zung zusätz­li­cher Pro­gram­mier­spra­chen wie Perl oder Racket ist eigent­lich nur für den reich­hal­ti­gen Plug­in­fun­dus von Vim von Bedeu­tung – je mehr ver­füg­ba­re Spra­chen, desto mehr ver­füg­ba­re Plug­ins. Das Plugin­sy­stem von Vim ist aber längst ein Pro­blem inner­halb des Pro­blems gewor­den. Nach­dem es einst Usus war, dass Plug­ins hän­disch her­un­ter­ge­la­den und in die ver­schie­de­nen pas­sen­den Vim-Ord­ner (Doku­men­ta­ti­on, Syn­tax­din­ge und so wei­ter) kopiert wur­den, kam mit „Vim­balls“ eine Art Archiv­for­mat auf, das es ermög­lich­te, auch kom­ple­xe­re Plug­ins als .vba-Datei her­un­ter­zu­la­den, die das Ver­tei­len der übri­gen Datei­en 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 Hand­ar­beit gehör­te abge­schafft.

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 Paket­ma­na­ger dar­um, der Stan­dard sein zu dür­fen, und natür­lich wer­den frü­her oder spä­ter die Ver­lie­rer die­ses Buh­lens durch den Sie­ger ersetzt wer­den müs­sen, weil sich nie­mand mehr um ihre wei­te­re Funk­ti­ons­fä­hig­keit bemü­hen wird. Wer also wird das Ren­nen machen – vim-plug? Vund­le? Neo­Bund­le oder des­sen Nach­fol­ger Dein.vim? Ihnen allen ist gemein, dass sie es bevor­zu­gen wür­den, lägen die zu instal­lie­ren­den Plug­ins alle­samt auf Git­Hub 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-Plug­ins über Git­Hub ent­wickelt und ver­teilt wer­den, die­se Zen­tra­li­sie­rung aber aktiv zu för­dern hal­te ich für einen unklu­gen Schritt, da einer domi­nan­ten Hosting­in­stanz, wenn sie erst ein­mal einen kri­ti­schen Teil der eige­nen Infra­struk­tur absor­biert hat, dadurch die Macht zuge­spro­chen wird, unpo­pu­lä­re oder sogar benut­zer­feind­li­che Ent­schei­dun­gen (wie bei Git­Hub bereits gesche­hen) mit nur gerin­gem Wider­stand durch­zu­set­zen. Schlim­mer noch: Der Fokus auf Git als das Ver­si­ons­kon­troll­sy­stem, das sowie­so jeder nutzt, drängt Plug­ins, deren Ent­wick­ler teil­wei­se bewusst nicht auf Git set­zen (etwa, weil sie aus tech­ni­schen Grün­den ande­re Syste­me bevor­zu­gen), ins Abseits und so all­mäh­lich in die Ver­ges­sen­heit.

Irgend­wann ein­mal lau­te­te ein von der All­ge­mein­heit akzep­tier­ter Vor­teil von Vim, dass er über­all funk­tio­niert. Lei­der hat die All­ge­mein­heit dabei ver­ges­sen, dass Fle­xi­bi­li­tät nicht der Sam­mel­be­griff für vie­le ein­an­der aus­schlie­ßen­de Optio­nen ist.

Jemand soll­te mal einen Text­edi­tor pro­gram­mie­ren, des­sen Lizenz denen, die „neu“ für „bes­ser“ hal­ten, sei­ne Benut­zung ver­bie­tet.

Senfecke:

  1. Vie­len dank für den Arti­kel den fand ich wirk­lich gut.
    Du hast den vim-tiny viel­leicht noch ver­ges­sen, der einem immer bei Debi­an 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 Anwen­der. Ich wünsch­te mir öfter sol­che Arti­kel von dir, also wei­ter­so.

    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 anfan­gen:
    Tor­brow­ser: https://tuxproject.de/blog/2017/05/vims-vielfalt-ist-sein-untergang/
    Die­se Ver­bin­dung ist nicht sicher

    Der Inha­ber von tuxproject.de hat die Web­site nicht rich­tig kon­fi­gu­riert. Tor-Brow­ser hat kei­ne Ver­bin­dung mit die­ser Web­site auf­ge­baut, um Ihre Infor­ma­tio­nen vor Dieb­stahl zu schüt­zen.

    Fire­fox: https://tuxproject.de/blog/2017/05/vims-vielfalt-ist-sein-untergang/

    Die­se Ver­bin­dung ist nicht sicher

    Der Inha­ber von tuxproject.de hat die Web­site nicht rich­tig kon­fi­gu­riert. Fire­fox hat kei­ne Ver­bin­dung mit die­ser Web­site auf­ge­baut, um Ihre Infor­ma­tio­nen vor Dieb­stahl zu schüt­zen.

    Chro­mi­um: https://tuxproject.de/blog/2017/05/vims-vielfalt-ist-sein-untergang/

    Dies ist kei­ne siche­re Ver­bin­dung

    Unbe­fug­te Drit­te könn­ten ver­su­chen, Ihre Infor­ma­tio­nen von tuxproject.de zu steh­len, z. B. Pass­wör­ter, Nach­rich­ten oder Kre­dit­kar­ten­da­ten. NET::ERR_CERT_DATE_INVALID

    Dei­ne Sei­te wird ein­fach nicht ange­zeigt, das letz­te mal hat­te ich noch nicht die­ses Pro­blem.
    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 Fea­tures nicht ein­kom­pi­liert wur­den. (Schau‘ mal in :ver­si­on.)

      Was das Zer­ti­fi­kat betrifft: bin dran, dan­ke.

      • 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 Zer­ti­fi­kat betrifft: bin dran, dan­ke.“

        Es gibt viel zu tun: Schau­en wir es uns an.
        Typisch Win­dows­er. Noch nicht mal ein ein ein­fa­ches Zer­ti­fi­kat im Griff.

        • Ich bin immer noch auf einem Uber­space, der kei­ne auto­ma­ti­sche Erneue­rung der Zer­ti­fi­ka­te beherrscht. Eine Mail dazu habe ich pünkt­lich ver­schickt, aber die sind nicht immer blitz­schnell.

          • Naja das Gan­ze auf Uber­space zu schie­ben ist aber Quatsch: https://wiki.uberspace.de/webserver:https#automatisieren_von_let_s_encrypt
            Wei­ter­hin kann let­sen­crypt auch Mails ver­sen­den, wenn die Zer­ti­fi­ka­te bald ablau­fen.

            Was vim angeht: Zustim­mung. Obwohl ich vim nicht mehr mis­sen möch­te gibt es schon so eini­ge Sachen die enorm ner­ven. Lei­der ist vie­les auch mit Neo­vim nicht bes­ser gewor­den, weil deren Fokus schein­bar auf voll­stän­di­ge Kom­pa­ti­bi­li­tät mit vim Plug­ins sowie Sachen wie asyn­chro­ne Abar­bei­tung von Befeh­len und ähn­li­chem liegt. In die­sem Sin­ne ggVG d
            :wq

            • Du über­siehst dabei, dass die Zer­ti­fi­kats­skrip­te von Uber­space für die uralten Cent­OS-5-Hosts aus tech­ni­schen Grün­den 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 Ver­si­on 7 mit Umzugs­au­to­ma­tis­men.

              Inso­fern liegt der Ball bei Uber­space schon ganz rich­tig. ;-)

              Was Vim angeht: auf von mir admi­ni­strier­ten Ser­vern gibt es den gar nicht mehr. Sei­ne Ärger­nis­se sind mir doch zu viel gewor­den. Den maß­geb­li­chen Vor­teil von Neo­Vim – asyn­chro­ne „Auf­ga­ben“ – hat Vim selbst inzwi­schen auch bekom­men, der Rest (Plug­ins in jeder erdenk­li­chen Spra­che, Ein­bet­ten in so ziem­lich alles) ist in der vor­lie­gen­den Form nicht pra­xis­taug­lich, weil die Anwen­dun­gen feh­len.

  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 Hand­voll Befeh­len aus­kom­me. Wobei es mich auch nervt, daß ich unter Debi­an immer noch vim nach­in­stal­lie­ren muß, damit die Cur­sor-Tasten wie erwar­tet funk­tio­nie­ren…
    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  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_seb_zunge.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_blushnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_frown.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_twistedevil1.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_twistedevil2.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/icon_mad.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_rolleyesnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_wink2.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_idea2.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_arrow2.gif 
mehr …
 

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

Datenschutzhinweis: Deine IP-Adresse wird nicht gespeichert. Details findest du hier.