Hlavní navigace

Vifm: správce souboru á la Vim

Adam Štrauch

Na světě je spousty uživatelů, kteří si oblíbili Vi a jeho styl ovládání. Vi jim totiž dovoluje editovat jejich soubory, aniž by museli dát ruce z klávesnice, a díky tomu je jejich práce mnohem efektivnější. Není proto divu, že se objevil souborový manager s podobným ovládáním jako má vi, a na něj se dnes podíváme.

Úvod

Vi Vi a jeho vylepšená verze Vim mají bezesporu obrovské množství fanoušků a disponují také velkým arzenálem nástrojů pro úpravu textů a zdrojových kódů. Dalo by se říci, že kdo si na jejich styl ovládání zvykl, hodně špatně se mu pak přecházelo na jiné podobné nástroje. Historie Vi sahá k prvním osobním počítačům, kdy na klávesnici nebyly ani kurzorové klávesy a uživatelé počítačů byli spíše hackeři než skuteční uživatelé. Za tu spoustu let vývoje, které se Vi a později také Vimu věnovalo, se toto ovládání dotáhlo takřka k dokonalosti. Souborový manager, o kterém je tento článek, vychází právě z takového stylu ovládání, jeho používání je tedy pro „vimisty“ hračkou a velmi rychle si na něj zvyknou.

vifm - hlavní okno programu

Historie

Vifm se objevil na sourceforge v roce 2003 a za tu dobu získal svoji pozici ve všech velkých linuxových distribucích. Začátek vývoje celého programu je velmi zajímavý. Jeho autor, Ken Steen, hledal zdrojové kódy pro emelFM (souborový manager postavený nad Gtk+), a když je našel, rozhodl se použít jednu ze tříd v jeho tehdejším projektu. V té době se hodně zajímal o open source a prohlížel si zdrojové kódy různých programů. EmelFM se mu velice zalíbil, a jelikož to byl uživatel Vimu, rozhodl se vytvořit patch, který přidává ovládání podobné právě Vimu. Patche pomalu přibývaly, až se rozhodl, že udělá fork a vytvoří Vide.

Vide byl založený na GTK+, Ken s ním byl spokojený a používal ho. Když se ovšem uživatelé dozvěděli o jeho správci souborů a pronikli do jeho ovládání, začali mu psát proč je to postavené nad GTK+, když by dávalo mnohem větší smysl, kdyby to byl konsolový program. Ken souhlasil, rozhodl se od základů celý program přepsat do Ncurses a přejmenoval ho na Vifm.

Použití

Stejně jako u Vi/Vim, i zde si člověk musí dlouho zvykat, protože se Vifm chová úplně jinak než klasické souborové managery. Zatímco s Mc nebo Krusaderem umí většina uživatelů pracovat od prvního pohledu, u Vifm by dlouho váhali.

Vifm má podobné režimy jako Vi/Vim, které ale nejsou oficiálně pojmenované, proto jim budu říkat normální, příkazový, vizuální, abych udržel termíny podobné Vi/Vimu. Normální režim slouží pro výběr souborů a operace s nimi. Příkazový režim je určený ke vkládání příkazů do vestavěné příkazové řádky a vizuální pro jednoduchý výběr souborů, se kterými chceme operovat. Začneme tedy tím, že si spustíme Vifm (než však tak učiníme, zapamatujeme si, že ho vypneme pomocí :q).

Anketa

Jakého používáte správce souborů

Pohyb (normální režim)

Pohybové klávesy byl první Kenův patch do emelFM. Pomocí kláves j (dolů), k (nahoru), l (vstoupit do adresáře) a h (odejít z adresáře) je možné se pohybovat v adresářové struktuře na disku. Fungují samozřejmě i normální kurzorové klávesy. Na první řádek se dostaneme zmáčknutím gg, na poslední G a na například 15. řádek můžeme použít 15G. Zdůrazním, že číslovka před klávesou znamená, kolikrát se má jaká akce udělat. Dobrý příklad je mazání souborů, které se provádí napsáním dd, a pokud před dd přidáme číslo (např. 8dd), vymaže se nám počet souborů daný naším číslem od aktuálního řádku dolů. Listování po stránkách se provádí buď pomocí klasického PageUP/PageDown nebo můžeme využít zkratky Ctrl+F a Ctrl+B. Napsání 20% nás přesune na řádek, který je na pozici přibližně jedné pětiny vylistovaných souborů a adresářů. Pomocí mezery nebo klávesy TAB přepínáme panely se soubory. Ctrl+G ukáže informace o aktuálně vybraném souboru.

vifm - informace o souboru

Další funkce nezbytné pro práci se soubory v normálním režimu shrnu krátce. Zvýraznění souborů se dělá pomocí klávesy t, kopírování souborů pomocí yy(funguje podobně jako dd), klávesa p vloží soubory odebrané nebo zkopírované pomocí dd a yy a klávesa v spustí vizuální mód (v něm se dá využívat yy a dd také).

vifm - označování souborů a adresářů pomocí t

Mazání a kopírování souborů pomocí dd a yy funguje tak, že pokud se rozhodneme například vymazat soubor pomocí dd, ve skutečnosti se nevymaže, ale uloží se do virtuálního koše. Tam pak zůstává, dokud nepoužijeme dd znovu. V případě yy je situace podobná, ale do koše se soubory jen kopírují. Pokud pak chceme obsah koše vložit někam na disk, použijeme pro to právě klávesu p. Soubory v koši zůstávají do doby, než znovu použijeme yy/dd nebo dokud ho nevyprázdníme pomocí :empty.

Značky

Značkování souborů je podobné jako ve Vi/Vimu. Pokud si chceme označit soubor, ke kterému se chceme později vrátit (například potřebujeme odběhnout do jiného adresáře podívat se do nějakého souboru), použijeme písmeno m a za něj napíšeme značku. Například napsáním ma označujeme soubor značkou „a“. Pokud pak kdekoli napíšeme 'a, dostaneme se přesně na pozici označkovaného souboru. Značky mohou obsahovat malá písmena, velká písmena a číslice. Pro seznam zobrazených souborů napíšeme :marks.

vifm - značky na souborech a adresářích

Hledání

Hledání je opět stejné jako ve Vi/Vim a používá se k němu klávesa /. Po zmáčknutí se nám objeví příkazová řádka (jiná než v příkazovém režimu), do které můžeme napsat, co hledáme, pomocí regulárních výrazů. Nalezené soubory (v aktuálním adresáři) se označí.

Příkazový režim

Příkazový režim dělá z Vifm tak silný správce souborů, protože díky němu můžeme soubor spustit různými programy, nebo si nadefinovat vlastní akce a pohodlně je vybírat z výběru. Příkazů je opravdu hodně a dokumentace neobsahuje všechny. Příkazový režim se spustí klávesou :.

Uživatelské příkazy se definují pomocí:

:com [název] [příkaz]

Jejich seznam dostaneme po napsání :com, kde si pomocí menu vybereme, jaký chceme spustit. Odstranění příkazu provedeme přes :delc [název]. Tato funkce se hodí například při úpravě fotek přes příkazovou řádku nebo při složitější práci se soubory.

Napsáním :sh spustíme shell, který máme nastavený v systémovém profilu. Program ukončíme příkazy :q nebo :x. Pokud si přejeme spustit nějaký externí program, použijeme:

:! [program] [parametry]

.

Pokud použijeme vykřičníky dva, tak se výstup na konci zastaví, dokud nestiskneme enter. Poslední spuštěný program vyvoláme :!! bez parametrů. Editování aktuálního vybraného souboru je ve Vifm možné pomocí :e.

vifm jako jednopanelový správce souborů

Pokud si přejeme seřadit soubory v adresáři podle jiných kritérií než jsou výchozí, tak po napsání :s se objeví nabídka, kde si vybereme, co je pro nás prioritou. Vifm si také pamatuje, jakými adresáři jsme prošli a tuto historii zobrazíme pomocí :his[tory]. Některým uživatelům nemusí vyhovovat rozdělení na dvě okna, a tak po napsání příkazu :only to druhé zmizí. Do původního stavu vrátíme Vifm pomocí :split.

vifm - řazení souborů

Důležité je zmínit i :help pro velmi dobrou nápovědu, která pomůže, dokud si na program nezvykneme.

Filtrování

Pro filtrování zobrazených souborů a adresářů můžeme použít příkazový režim nebo klávesy pro skládání z Vimu, kde Vifm používá právě pro filtrování. Filtrovat výpis můžeme pomocí:

:fil [regulární výraz]

Po zadání nám zmizí všechny soubory a adresáře, jejichž název odpovídá zadanému regulárnímu výrazu. Do původní stavu výpis dostaneme požitím zO. Pomocí klávesy zM vyfiltrujeme soubory, které odpovídají regulárnímu výrazu posledního použitého filtru. Skryté soubory zobrazíme zadáním zo a schováme se pomocí zm. Označené soubory můžeme zamaskovat použitím zf.

Závěr

Ovládání Vifm je udělané velmi hezky a do rodiny Vi/Vim se s čistým svědomím může zařadit. Chybí mi ovšem lepší práce se symlinky a makra. Pokud vytvoříte symlink na adresář, zařadí se v seznamu mezi soubory, a pokud do něj vstoupíte a zase se vrátíte, dostanete se na místo, kde končí skutečný adresář a ne původní symlink. Makra je obtížnější implementovat, ale v jedné s příštích verzí se jich určitě dočkáme, stejně jako opravy symlinků. Hlavně díky makrům by se tento správce souborů stal pro určitou skupinu uživatelů absolutně nepřekonatelným. Pětiletý vývoj je na této aplikaci velmi znát. Její historie je více než zajímavá a ukazuje, jak moc flexibilní jsou programy uvolněné jako open source.

Našli jste v článku chybu?

12. 7. 2008 13:31

Inkvizitor (neregistrovaný)
Jako dlouholetému uživateli Vimu mě poznámka o "úžasném" mceditu vážně rozesmála. :-)

11. 7. 2008 2:50

ghibulo (neregistrovaný)
díky za upozornění - krásnej prográmek - bude se mi dobře vyjímat vedle firefoxového vimperátoru...
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

Podnikatel.cz: Změny v cestovních náhradách 2017

Změny v cestovních náhradách 2017

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

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

Jmenuje se Janina a žije bez cukru

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

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

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

Na ucho teplý, nebo studený obklad?

Podnikatel.cz: Udávání a účtenková loterie, hloupá komedie

Udávání a účtenková loterie, hloupá komedie

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

mBank cenzuruje, zrušila mFórum

Měšec.cz: Jak levně odeslat balík přímo z domu?

Jak levně odeslat balík přímo z domu?

Vitalia.cz: Pamlsková vyhláška bude platit jen na základkách

Pamlsková vyhláška bude platit jen na základkách

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

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

Spor o mortadelu: podle Lidlu falšovaná nebyla

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

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

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

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

Podnikatelům dorazí varování od BSA

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

Horní cesty dýchací. Zkuste fytofarmaka

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

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

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

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