Kdybyste se linuxáků zeptali na nejikoničtější linuxový program, řada z nich by vám určitě odpověděla Vim. Tento textový editor si hlavně díky své rozšiřitelnosti a přizpůsobitelnosti získal mnoho příznivců a i po 25 letech existence je to podle mnohých nejlepší textový editor, který spatřil světlo světa. Jeho pověst navíc podporuje i fakt, že ovládání programu je poměrně netradiční a ne úplně snadné. Aneb jak říká starý vtip: “Používám Vim, protože nevím, jak ho ukončit.”
Praotec vi
Ve středu 2. listopadu tomu bylo přesně 25 let, co vyšla první veřejná verze Vimu. Historie legendárního programu však sahá ještě mnohem dál. Praotcem Vimu byl textový editor vi, vytvořený už v roce 1976. Tedy už před 40 lety a přibližně v době, kdy se na trhu objevil počítač Apple II. Autorem byl Bill Joy, známá osobnost unixového světa, která později stála za mnoha inovacemi Unixu ve společnosti Sun Microsystems i mimo ni.
Vi byl vytvořen jako grafické rozhraní pro řádkový editor ex a poprvé spolu s ním uveden v roce 1978 v rámci unixového systému BSD. Později se rozhraní vi stalo výchozím a na nějaký ex se celkem zapomnělo. Program byl nadále vyvíjen, ale vývoj postupně upadal a kolem roku 2000 se v podstatě zastavil. To však neznamená, že je vi úplně mrtvý. V mnoha unixových a některých linuxových distribucích je to stále ten výchozí program nabízený pro editaci textových souborů. I když jde samozřejmě spíš o zálohu než něco, co by lidé aktivně používali.
Vi jako takový není žádné dělo jako třeba Vim. V zásadě jde o relativně jednoduchý editor, který zaujal hlavně systémem dvou režimů. Editační režim klasicky vkládá text do souboru a příkazový režim od uživatele přijímá příkazy, co má s textem dělat. Právě to je věc, která je pro začátečníky složitá a nepřehledná, ale pro pokročilejší uživatele mocná, a kterou následovníci od vi zdědili spolu se základními příkazy.
Vim začínal na Atari
Vi měl však jednu vadu na kráse – nebyl svobodný. Složitou licenční situaci tu nebudeme příliš rozebírat, jde zkrátka o to, že vi částečně vycházel ze staršího editoru ed, a tudíž nemohl být distribuován pod svobodnou licencí. Přístup ke kódu standardně měly pouze společnosti, které ho do svých Unixů zahrnovaly. A pokud by se kód přesto dostal ven, jeho legální redistribuce nebyla možná.
Dál už si to můžete domyslet. Uživatelům se vi líbil a tak si řekli: pojďme udělat něco podobného, ale pod svobodnou licencí. Takových projektů vznikla celá řada, více či méně inovativních, s podporou různých platforem a systémů. Většina z nich až na pár výjimek skončila v propadlišti dějin. Tou nejzářivější výjimkou je právě náš oslavenec Vim.
Na Vimu začal pracovat nizozemský programátor Bram Moolenaar v roce 1988, víceméně pro vlastní potřebu. V té době už existovala spousta klonů vi, avšak Moolenaar chtěl něco pořádného pro počítače Amiga. A překvapivě ani Vim nevznikl od nuly, Moolenaar použil kód editoru Stevie pro Atari ST, který ale měl jen velmi omezené možnosti. Pro pořádek uveďme, že zkratka Vim původně znamenala Vi IMitation.
Tehdy ještě distribuce nezávislého softwaru nebyla zdaleka tak snadná a mezi lidi se Vim dostal až o tři roky později. Narozeniny Vimu proto slavíme v den, kdy byl poprvé zpřístupněn širší veřejnosti, a to na disketě Fish Disks číslo 591. Šlo o pravidelně vydávaný výběr bezplatného softwaru pro Amigu, který byl sice k dostání i v několika obchodech, ale hlavně si ho uživatelé kopírovali mezi sebou.
Historie vývoje
Netrvalo dlouho a v roce 1992 byl Vim portován na Unix a tím začala jeho velká cesta na vrchol. Těžko v historii projektu najít nějaký opravdu zlomový okamžik, uživatelé přicházeli tak nějak postupně, až jich bylo opravdu hodně. S vydáním 2.0 také byla změněna zkratka, ze které název vychází. Protože už Vim nebyl jen ledajaký klon, z Vi IMitation se přešlo na Vi IMproved.
Ve verzi 3.0 Vim přidal podporu více oken, ve verzi 4.0 textové grafické rozhraní a ve verzi 5.0 zvýrazňování syntaxe a skriptování. Poměrně zajímavá byla také verze 5.2, která umožnila definovat vlastní příkazy a procházet adresáře přímo ve Vimu. Hlavní etapa vývoje byla završena po deseti letech v roce 2001, kdy Vim přidal podporu rozšíření. Tehdy už Vim uměl vše zásadní, co umí dnes. A jak je zřejmé, už byl na úplně jiné funkční úrovni než původní vi.
Další významné novinky poté přišly až v roce 2006 s verzí 7.0. Šlo hlavně o podporu zobrazení v kartách, automatické dokončování nebo kontrolu pravopisu. Poté se vývojáři zaměřili hlavně na vylepšení pod kapotou, vylepšení šifrování nebo možnost psát rozšíření v dalších jazycích. Až letos v září, jak jste asi zaregistrovali, vyšla verze 8.0. Ta přinesla například asynchronní I/O, podporu vytváření úloh nebo správu rozšíření prostřednictvím balíčků.
Stále relevantní software
Historie Vimu vlastně do značné míry připomíná historii Linuxu. Oba projekty vycházely z něčeho oblíbeného ze světa Unixu, oba vznikly v podstatě bez ambicí a ve skoro stejné době a oba se nakonec staly legendou. Aby toho nebylo málo, tak Bram Moolenaar vede vývoj od začátku až dosud. Stejně jako Linus Torvalds. Linux i Vim jsou důkazem toho, že když je svobodný kód, tak i z mála nakonec může vzniknout mnoho.
Za zmínku stojí také licence. Vim má licenci vlastní, nicméně ta je kompatibilní s GNU GPL. Licence vyjmenovává několik možností pro redistribuci upravené verze programu. Např. nutně nemusíte zveřejňovat zdrojové kódy modifikované verze, avšak na žádost je musíte bezplatně předat správci projektu a ten je může zahrnout do oficiálního vydání. Zajímavé také je, že Moolenaar Vim označuje za charityware. Hned na začátku licence se píše: “Můžete to používat a kopírovat jak chcete, ale zvažte finanční podporu potřebných dětí v Ugandě.”
Jaká bude budoucnost Vimu? Nic nenasvědčuje tomu, že by neměla být růžová. Vim má fungující vývoj, entuziastickou komunitu a hlavně řadu uživatelů. Koneckonců běží na všech možných i nemožných systémech. Např. podle průzkumu Stack Overflow z roku 2015 VIm jako primární textový editor používá 15 % dotazovaných. Z průzkumu pro letošek, kam už byla zahrnuta i IDE, zase vyplynulo, že Vim používá 26 % vývojářů, což mu mezi textovými editory a IDE dohromady vyneslo čtvrtou pozici mezi mnohem mladšími konkurenty.
Proč používáte Vim právě vy? Napište nám do diskuze své důvody, zkušenosti a veselé či méně veselé příhody s Vimem.