Hlavní navigace

Ako na vlastný help vo VIMe

i4o 24. 1. 2002

Určite ste si niekedy chceli zapísať užitočný príkaz, či tipy alebo skúsenosti pri práci s utilitou, ktorých je *nix taký plný. Možno si to zapisujete do textového súboru, ako som to robil ja. Po čase som nadobudol neurčitý pocit, že moje zápisky su neprehľadné a potrebujú systém(TM).

Nemal som vysoké nároky, stačila mi možnosť skákať v texte na základe nejakej obdoby A tagu v html. Prvé ma napadlo html, potom GNU info. Oba formáty su šikovné, no vyžadovali na môj vkus priveľa nepotrebného formátovania a externý prehliadač. Kedže mojím editorom je Vim, nemohol som nepostrehnút, že po zadaní

:help prikaz

dostanem rýchlu nápovedu na prikaz. Ak samozrejme nepoužívate Vim tak intenzívne ako ja, asi to nebude pre Vás to pravé orechové ;-). Tento článok ďalej vysvetľuje, ako si takýto help vytvoriť.

Budem vytvárať iba modelový help pre príkazy ps a ls. Okrem toho ešte stránku s obsahom. Doporučené umiestnenie súborov je v adresári ~/.vim/doc/ . Ďalšia možnosť je $VIMRUNTIME/doc , ale tu sa nachadzajú súbory originálneho Vim helpu a pri inštalácii novej verzie sa môže stať, že niektorý z Vašich súborov-pomocníkov bude prepísaný. Súbory majú koncovku .txt, aby ich rozpoznal Vim pri automatickom vytvoreni suboru tag-ov.

Dosť rečí, obsah.txt, ls.txt a ps.txt nasledujú, potom to vysvetlím:

---obsah.txt---

OBSAH:  obsah

Tabulka č. 236
1. ls |ls|
2. ps |ps|

---ls.txt---

Ako pouzivat prikaz ls  ls
  ls -al
-a … vypise vsetky subory
-l … dlhy a nezrozumitelny ;-)
|obsah|

---ps.txt---

Ako pouzivat prikaz ps     ps
  ps -axuww
-axuww … vsetko mozne a cely nazov

|obsah|

--- koniec vypisov ---

Obidva subory obsahujú skoky. Text na ktorý chceme skočiť je uzatvorený v , konkrétne. ls, obsah, *ps. Takto to robí Vim help, Vy si môžete text označiť aj inak, ale budete si musiet ‚tags‘ súbor vytvorit ručne. Miesto skoku, link ( v html obvykle modrý a podčiarknutý text ) je vo Vim helpe obvykle označený PIPE symbolom z oboch strán. Napr. |obsah|, |ls|, |ps|. Nemusí to byť označené pajpami, stači aj text ls a skok sa uskutoční, no takto je zrejmé, že sa jedná o link.
Keď som spomenul ‚tags‘ súbor, asi by som vysvetliť, ako to skákanie vlastne sprevádzkovať.
V adresári, kde sú help súbory, musí byť súbor ‚tags‘. Súbor ma jednoduchú syntax:

tag   subor.txt  umiestnenie

Pričom tag je názov tag-u, subor.txt je súbor, v ktorom sa tag nachádza a umiestnenie je presná poloha v spomenutom súbore. V našom prípade by tags vyzeral takto:

Tabulka č. 237
ls ls.txt /ls
obsah obsah.txt /obsah
ps ps.txt /ps

Možnosť použiť na označenie umiestnenia Ex príkazy nám prácu značne zjednodušuje. Stačí ako umiestnenie použiť príkaz na hľadanie textu : /text a miesto kam skočiť je presne označené. Mimochodom – súbor tags musí byť zoradený podľa abecedy, tu poslúži sort.
Teraz sa už ku svojmu obsahu dostanete príkazom vo Vim-e:

:help obsah

Súbor s tagmi si môžete podstatne jednoduchšie vytvoriť príkazom:

:helptags ~/.vim/doc

To platí iba v prípade, že Váš help sa nachádza v adresári ~/.vim/doc , ak používate označenie tagov pomocou hviezdičiek (ls) a Vaše súbory majú koncovku ‚.txt‘.
Ešte upozornenie. Všetky súbory s Vašimi helpmi sa musia nachádzať v jednom adresári. Nie je možné vytvárať adresárovú štruktúru. Tiež si treba dať pozor na možnú kolíziu názvov súborov a tag-ov s originálnym helpom. Celé je to jeden názvový priestor. Na tieto kolízie Vás :helptags upozorní, ale možno by bolo rozumné zaviesť si názvy v štýle X_obsah, X_ls alebo niečo podobné.
Snáď som nič nezabudol, možno som nemal považoval za samozrejmé, že viete ako sa pohybovať v helpe. Ak nie, viď:

:h help
Našli jste v článku chybu?

13. 8. 2004 10:56

milan baron (neregistrovaný)

Diky autorovi :-)

24. 1. 2002 8:19

Matous Cervenka (neregistrovaný)

Moc diky za prispevek, prave jsem se chystal udelat si nejakou napovedu pro LaTeX a HTML do VIMu a alespon nemusim tolik studovat tutorial...

120na80.cz: Bojíte se encefalitidy?

Bojíte se encefalitidy?

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

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

Přehledná titulka, průvodci, responzivita

Podnikatel.cz: Vládu obejde, kvůli EET rovnou do sněmovny

Vládu obejde, kvůli EET rovnou do sněmovny

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami

Lupa.cz: Není sleva jako sleva. Jak obchodům nenaletět?

Není sleva jako sleva. Jak obchodům nenaletět?

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

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

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

Měšec.cz: Finančním poradcům hrozí vracení provizí

Finančním poradcům hrozí vracení provizí

120na80.cz: Rakovina oka. Jak ji poznáte?

Rakovina oka. Jak ji poznáte?

Lupa.cz: Avast po spojení s AVG propustí 700 lidí

Avast po spojení s AVG propustí 700 lidí

Podnikatel.cz: EET zvládneme, budou horší zákony

EET zvládneme, budou horší zákony

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

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

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

DigiZone.cz: NG natáčí v Praze seriál o Einsteinovi

NG natáčí v Praze seriál o Einsteinovi

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

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

DigiZone.cz: ČT má dalšího zástupce v EBU

ČT má dalšího zástupce v EBU

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

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

Recenze Westworld: zavraždit a...