Hlavní navigace

Co nového ve VIM 6.0

Michal Krause

Všichni příznivci VIM, možná nejpopulárnějšího z klonů editoru VI, se již jistě nemohou dočkat novinek, která přinese nová řada 6.x. Na konečnou verzi si zatím ještě budeme muset počkat, ale z doposud vydaných alfa verzí je již zřejmé, jaká největší vylepšení nás čekají.

V tomto článku se společně podíváme na ty nové funkce, které mě osobně připadají nejpodstatnější nebo nejzajímavější. Je samozřejmé, že někoho možná daleko více potěší některá z funkcí, kterou v tomto neúplném výpisu opomenu, ale takový je už život :)

Folding
Český jednoslovný ekvivalent slova folding se nehledá snadno, ale snad by bylo možné používat termín „sbalení“. Tato funkce umožňuje skrýt určitou část editovaného souboru pod jedinou řádku. Typickým příkladem použití může být sbalení funkce ve zdrojovém kódu programu (například když už je tato funkce odladěna a chcete se věnovat jiným částem kódu).
S každý „foldem“ je možné provádět různé operace, jako je samozřejmě jeho opětovné otevření (rozbalení) nebo třeba mazání. VIM nabízí i funkce pro hromadnou práci se skupinami foldů, takže není problém například rozbalit všechny foldy v souboru. Chování foldingu lze ovlivnit různým nastavením. Zajímavá je zejména možnost zvolit si metodu, která se použije při vytváření foldu. Výchozí nastavení je manuální metoda, umožňující sbalení libovolné části kódu vymezené pohybovou klávesou nebo selekcí v režimu VISUAL, ale lze použít i jiné metody, které používají pro vymezení začátku a konce foldu například speciální značky, definice ze souboru pro zvýraznění syntaxe, výraz a nebo míru odsazení (indent).
Zatím jsem dlouhodobě folding při práci nepoužíval, ale zdá se, že přináší jenom samá pozitiva (a sociální jistoty :)

VIM 6.0 - Folding

Vertikální okna
Rozdělení editační plochy do více oken podporuje VIM už dávno, ale doposud bylo možné okna dělit pouze horizontálně. Od verze 6 lze používat i vertikálně dělená okna, a to i v kombinaci s horizontálním dělením. Výsledek si můžete prohlédnout na obrázku. Mě osobně připadá možnost otevření dvou (nebo více) vertikálních oken velmi šikovná zejména pro porovnávání více souborů.

VIM 6.0 - Vertikální okna

Vyhledávání
Vzorky pro vyhledávání a nahrazování mohou nyní obsahovat sekvenci \n, která symbolizuje znak konce řádky. Ano, je to tak – VIM konečně bude umět vyhledávat víceřádkové řetězce! S tím souvisí také některá další rozšíření, jako jsou například sekvence \_. (libovolný znak včetně konce řádky) a \_[a-z] (libovolný znak z rozsahu „a“ až „z“ nebo znak konce řádku).
Přibyla také možnost negace (sekvence @! připojená za atom značí řetězec nevyhovující atomu) a počet opakování výrazu („*“) již není nadále limitován délkou 32767 znaků.

Flexible indenting
Tzv. pružné odsazování je vlastně nový způsob, jak definovat vlastnosti automatického odsazování (autoindent). Správné odsazení je vypočítáváno pomocí VIM skriptu, který může vytvořit kdokoliv bez nutnosti zasahovat do zdrojových kódů programu samotného. Podobně, jako definice zvýraznění syntaxe, tak může vznikat podpora automatického odsazování pro všemožné jazyky zcela nezávisle na autorech VIM.

Podpora UTF-8
VIM od verze 6 podporuje plně práci s unicode, konkrétně UTF-8. Dokonce jsou podporovány až 31-bitové znaky, i když zobrazit je možné pouze 16-bitové znaky.

Další nové funkce
Následuje již jenom telegrafický seznam dalších vylepšení:
  • Vícejazyčná podpora
  • Podpora zásuvných modulů (plugins) – v tomto případě nejde o klasické dynamicky nahrávané knihovny, ale funkci pro automatické zavádění souborů se skripty z předem určeného adresáře. Součástí VIM je také modul pro editaci souborů po síti nebo modul s funkcí jednoduchého správce souborů.
  • Debugger pro VIM skripty
  • Virtuální pozice kurzoru – tato funkce umožňuje umístit kurzor tam, kde ve skutečnosti nejsou žádné znaky. To je užitečné zejména při výběru bloku, pokud není na jeho posledním řádku dostatek znaků pro označení požadovaného regionu.
  • Obnovení pohledu – tato funkce slouží k uložení a pozdějšímu obnovení nastavení a mapování klávesových zkratek pro jedno okno. Jde o funkci podobnou povelu mksession, který dělá v podstatě totéž, ale pro všechna okna najednou. mksession také nově podporuje ukládání rozložení vertikálních oken.
  • … a mnoho dalších

VIM 6.0 - Správce souborů

Jak jsem se již zmínil, nejde o úplný seznam změn, vylepšení a nových funkcí a verze 6 rovněž přináší několik drobných nekompatibilit s verzemi staršími. Chcete-li si vědět přesně, co se změnilo a jak, můžete nahlédnout do seznamu novinek pomocí povelu :h version6.

Odkazy

Domovská stránka VIM
Alfa verze VIM

Našli jste v článku chybu?

7. 2. 2001 8:09

Jakub Kahovec (neregistrovaný)

Mel jsem moznost vyzkouset VIM 6.0t alfa. A vsechno co
je uvedene v clanku tam v celku stabilne funguje. Akorat
je tam jeden malyVelky bug, ze v nekterych chvilich
prestava fungovat backspace (da se to sice vydrzet, ale nekdy je to dost neprijemne).
P.S Nemel jsem moznost vyzkouset jine verze (r,s) mozna je tenhle bug jenom ve verzi t.

Ale i tak je VIM ten NEJLEPSI EDITOR NA SVETE !







4. 1. 2001 19:59

Petr Mach (neregistrovaný)

Uz aby tady byl, nemuzu se dockat. Jaky jsou zkusenosti s tou alfa verzi? Jsoutam ty nove funkce implementovany a je to v praxi pouzitelne, nebo je to prilis nestabilni?

Vitalia.cz: Proč vás každý zubař posílá na dentální hygienu

Proč vás každý zubař posílá na dentální hygienu

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Lupa.cz: Kdo pochopí vtip, může jít do ČT vyvíjet weby

Kdo pochopí vtip, může jít do ČT vyvíjet weby

Vitalia.cz: Vychytané vály a válečky na vánoční cukroví

Vychytané vály a válečky na vánoční cukroví

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Vitalia.cz: Taky věříte na pravidlo 5 sekund?

Taky věříte na pravidlo 5 sekund?

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

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

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

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

Horní cesty dýchací. Zkuste fytofarmaka

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

DigiZone.cz: Flix TV: dva set-top boxy za korunu

Flix TV: dva set-top boxy za korunu

Podnikatel.cz: Snížení DPH na 15 % se netýká všech

Snížení DPH na 15 % se netýká všech

Vitalia.cz: Když přijdete o oko, přijdete na rok o řidičák

Když přijdete o oko, přijdete na rok o řidičák

Podnikatel.cz: Chaos u EET pokračuje. Jsou tu další návrhy

Chaos u EET pokračuje. Jsou tu další návrhy

Podnikatel.cz: Chtějte údaje k dani z nemovitostí do mailu

Chtějte údaje k dani z nemovitostí do mailu

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

Podnikatelům dorazí varování od BSA

Vitalia.cz: Jmenuje se Janina a žije bez cukru

Jmenuje se Janina a žije bez cukru

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

mBank cenzuruje, zrušila mFórum

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

Vitalia.cz: Potvrzeno: Pobyt v lese je skvělý na imunitu

Potvrzeno: Pobyt v lese je skvělý na imunitu