Hlavní navigace

25 let editoru Vim: projekt bez ambicí, který se stal legendou

Roman Bořánek 4. 11. 2016

Lehký, ale přitom mocný, efektivní a přizpůsobitelný. Takový je legendární textový editor Vim, který právě oslavil 25. narozeniny. Jeho historie však sahá ještě o 15 let nazpět.

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.

Editor vi

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.

Bram Moolenaar (2007)
Autor: Sebastian Bergmann, podle licence: CC BY-SA 2.0

Bram Moolenaar (2007)

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.

Použité zdroje

Našli jste v článku chybu?

4. 11. 2016 10:00

BrainLess (neregistrovaný)

Tipnul bych si ze kazdy kdo poprvy spustil vi{m} tak ho ukoncil kill -9 z druhy session ;-)

4. 11. 2016 8:46

Existují minimálně dvě další možnosti: ctrl-c a ctrl-[. Ale uznávám, že chybějící Esc je šílené.

Měšec.cz: mBank cenzuruje, zrušila mFórum

mBank cenzuruje, zrušila mFórum

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

Lupa.cz: UX přestává pro firmy být magie

UX přestává pro firmy být magie

120na80.cz: Horní cesty dýchací. Zkuste fytofarmaka

Horní cesty dýchací. Zkuste fytofarmaka

120na80.cz: Boreliózu nelze žádným testem prokázat

Boreliózu nelze žádným testem prokázat

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Lupa.cz: Seznam mění vedení. Pavel Zima v čele končí

Seznam mění vedení. Pavel Zima v čele končí

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Vitalia.cz: Drahé i levné. Tyhle potraviny nosili na charitu

Drahé i levné. Tyhle potraviny nosili na charitu

Vitalia.cz: Dáte si jahody s plísní?

Dáte si jahody s plísní?

Vitalia.cz: Tesco: Chudá rodina si koupí levné polské kuře

Tesco: Chudá rodina si koupí levné polské kuře

DigiZone.cz: Rádio Šlágr má licenci pro digi vysílání

Rádio Šlágr má licenci pro digi vysílání

120na80.cz: Jak oddálit Alzheimera?

Jak oddálit Alzheimera?

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Podnikatel.cz: Babiš: E-shopy z EET možná vyjmeme

Babiš: E-shopy z EET možná vyjmeme

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

120na80.cz: Na ucho teplý, nebo studený obklad?

Na ucho teplý, nebo studený obklad?