Portál AbcLinuxu, 1. května 2025 08:46

Editor Vim a vkládání tagů

16.2.2005 16:50 | Přečteno: 1453× | © | poslední úprava: 16.2.2005 19:22

Většina z nás někdy potřebuje vkládat do textu tagy. Unaveni z těch věčných ostrých závorek, z těch hloupých uvozovek a tak dál? Proč si ale ošupovat prsty?! Vždyť to jde zařídit i velice jednoduše! Vyzkoušejte si praktickou ukázku toho, jak mocný editor Vim je.

Do svého ~/.vimrc si vložte následující kód:

let maplocalleader=","
imap <localleader>< &lt;
imap <localleader>> &gt;
imap <localleader>& &amp;
imap <localleader>? &lt;
imap <localleader>: &gt;
imap <localleader>7 &amp;
imap <localleader>n &nbsp;
imap <localleader>a <a href=""></a><Esc>5hi
imap <localleader>A <Esc>yiWi<a href="http://<Esc>Ea"></a><Esc>3hP4la
imap <localleader>u <ul></ul><Esc>4hi<CR><CR><Esc>1ki
imap <localleader>l <li></li><Esc>4hi
imap <localleader>i <i></i><Esc>3hi
imap <localleader>b <b></b><Esc>3hi
imap <localleader>p <p><CR><CR></p><Esc>3h1ki
imap <localleader>t <Esc>yiWi<<Esc>Ea><CR><Esc>i
imap <localleader>img <img src="" alt="" border="0"><Esc>19hi
imap <localleader>pre <pre></pre><Esc>5hi<CR><CR><Esc>1ki
imap <localleader><CR> <br /><CR><Esc>i

Teď již jen zbývá nastartovat svůj Vim, přepnout se do insert módu a začít vesele editovat. A když potřebujete vložit třeba tag pro internetový odkaz, tak si nejprve zkopírujete adresu ve svém oblíbeném prohlížeči, vrátíte se do Vimu a v insert módu napíšete pouze posloupnost kláves ",a" a pak "ctrl-v" ("ctrl-v" normálně ve Vimu nefunguje, je potřeba si jej přiohnout podle návodu, který jsem již dříve uveřejnil zde).

Stisk posloupnosti ",a" způsobí, že se na pozici kurzoru v insert módu vloží celý tag pro internetový odkaz a kurzor se automaticky nastaví mezi uvozovky. Poté stačí tedy jen "pastnout" (v mém případě "ctrl-v" již zkopírovaný odkaz). S vložením obrázku je to úplně stejné, akorát napíšeme posloupnost ",img" a pak "ctrl-v" pro vložení odkazu na obrázek. Za zmínku stojí též posloupnost ",A". Zkuste si ji. Napište "vcp.ligatura.org/" a hned stiskněte ",A".

Chceme-li třeba vynechat řádek, stačí stisknout ",enter" a na pozici kurzoru se vloží "<br />". Vyzkoušejte a uvidíte sami, co všechno ta namapování pro insert mód umí. Není to báječné?

       

Hodnocení: -

zatím nehodnoceno
        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

16.2.2005 18:34 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše closetag
Odpovědět | Sbalit | Link | Blokovat | Admin
Používám plug-in closetag. Doporučuji.

Vytvářet pak specializovaná mapování na <i> či <b>, která ušetří minus jeden stisk klávesy[*], musím si je pamatovat a mohou kolidovat s věcmi, které normálně píši (např. ,Enter), mi nepřijde příliš přínosné.

Co se týče nahrazování <, >, &, tak ta většinou potřebuji koncentrovaně v jednom místě, a zejména v textech, jež jsem vložil jako celek (tj. nepsal je -- např. výpisy kódu), tudíž se mapování neuplatní. Lepší je definovat si příkaz, který v označeném textu provede nahrazení. Kdybys takový měl, nemusel bys používat [CUTME] :o)

[*] Napíši-li počáteční a koncovy tag zároveň, musím se pak přes ten koncový nějak dostat kursorem, když píši dál; closetag naproti tomu doplní koncový tag a kursor se posune až za něj.
16.2.2005 18:50 © | skóre: 37 | blog: escaped
Rozbalit Rozbalit vše Re: closetag
A jak mam mezi pre tagy vlozit jinak "& a m p ;"? Mezery dodany ze stejneho duvodu, aby se z toho nestalo "&" (zapsano bez mezer).
16.2.2005 19:01 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: closetag
Klineš pravým na textové pole, vybereš Mozex -> edit textarea -> spustí se ti vim ;-) označíš blok uvnitř >pre< a uděláš
:s:&:\&amp;:g|s:>:\&gt;:g|s:<:\&lt;:g
(resp. na to použiješ definovaný příkaz).
16.2.2005 19:17 © | skóre: 37 | blog: escaped
Rozbalit Rozbalit vše Re: closetag
Taky mám rád takové vtípky. :-) Teda jestli to byl vtip. Možná, žes jen nepochopil otázku. Zdá se totiž, že pre není dostatečně verbatim prostředí. Už mi rozumíš? Když chci někde použít "&" v jeho "amp;" tvaru, tak mám smůlu, protože to browser správně (špatně!) interpretuje jako "&" a zobrazí se to jako "&" a ne jako ten "amp;" tvar.
16.2.2005 22:12 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: closetag
myslíš jako &amp; ma byt zapsano jako &amp;amp; ?
-- Nezdar není hanbou, hanbou je strach z pokusu.
16.2.2005 22:17 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: closetag
Když mi přišlo mailem

myslíš jako <code>&amp;amp;</code> ma byt zapsano jako <code>&amp;amp;amp;</code>

přestával jsem chápat... a kdo si dá u tohoto příspěvku zobrazit zdroják, ten se zarekurzní... ;-)
16.2.2005 23:43 jm
Rozbalit Rozbalit vše Re: closetag
ROFL! Uz to byl zase den! :-D
16.2.2005 23:44 © | skóre: 37 | blog: escaped
Rozbalit Rozbalit vše Re: closetag
Vyhlašuji tento malý thread vtipem týdne. :-D
17.2.2005 00:09 jm
Rozbalit Rozbalit vše Re: closetag
No, je teprv ctvrtek, ja bych radsi nepredbihal... ;-)
17.2.2005 14:07 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: closetag
Já jsem už žhavil vim a hledal v helpu [CUTME] a ještě dlouho po přiznání mi nedocházelo, že to tam prostě není ;-) Něco takového, že jsi to tam psal kvůli oddělení & od amp; mě napadlo až se mi to v hlavě dostatečně rozleželo. No nic, aspoň jsi nás pobavil.
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
16.2.2005 19:18 © | skóre: 37 | blog: escaped
Rozbalit Rozbalit vše Re: closetag
Proto tam je to [CUTME]. Jak jinak bych to asi zařídil?
16.2.2005 19:20 © | skóre: 37 | blog: escaped
Rozbalit Rozbalit vše Re: closetag
OMLUVA!!! Jsem debil! :-D Sám nad sebou kroutím hlavou a biju se do čela. Uff. Asi se raději půjdu konečně vyspat... :-)

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.