Umět dobře pracovat se silným textovým editorem je někdy tuze užitečná věc. Ukážeme si šikovná rychlá makra ve Vim.
Kdysi dávno jsem tu nastínil, jak si můžete vytvořit vlastní makra ve Vim. Je to velmi užitečné, pokud potřebujete stále opakovat nějakou stereotypní akci. Já tak třeba z prostého textu udělám HTML dokument. Stačí mít text dobře naformátovaný a mačkáním správných kláves si označím odstavce, nadpisy nebo třeba seznamy.
Někdy je ale ruční psaní makra kanónem na vrabce. Přesto se vám hodí možnost nahrát si rychle nějakou činnost a zopakovat ji. K tomu slouží rychlá makra a už se mi mockrát hodila, když jsem musel třeba něco opravovat v článku, který mi přišel od autora.
Někteří autoři mi posílají články napsané v nějakém word editoru. Součástí článku je pak seznam použitých zdrojů, který je ale ve formátu nepoužitelném pro web. Například:
První odkaz někam pryč http://www.server.cz/clanek/ Druhý zajímavý odkaz http://www.server2.cz/clanek/ Třetí skvělý odkaz http://www.server3.cz/clanek/
Já z toho pochopitelně potřebuji udělat klasické HTML odkazy, plus třeba seznam. Díky rychlým makrům je to hračka. Ručně bych to dělal půl hodiny a byla by to hlavně hrozná práce.
Nahrávat rychlé makro začneme tak, že stiskneme q a pak znak, pod který si makro uložíme. Takže stačí třeba qa. Dole ve stavovém řádku se objeví „nahrávám“. Záznam začal.
V tomto případě jsem si najel na řádek s textem, smazal jsem ho (dd) a na řádku s odkazem jsem ho vložil (p). Tím se adresa dostala nad text. Stačí už jen přejít do editačního režimu (i) a připsat na správné místo <a href=""> a </a>. Pak editaci ukončím pomocí esc a nakonec ukončím i nahrávání pomocí dalšího stisku q.
Pod zvolenou klávesou (v tomto případě a) mám nahraný celý postup. Stačí ho zopakovat pomocí @a na dalším řádku. Samozřejmě můžu provést akci opakovaně, pokud mám třeba k úpravě deset odkazů, stačí 10@a a tradá, je hotovo.
Rychlá makra jsou moc šikovná věc, kterou můžete použít na sto různých způsobů. Zejména pro takovéhle editační akce je to neocenitelný pomocník. Samozřejmě existují i další alternativní postupy, ale rychlá makra jsou naprosto univerzální a hlavně se s nimi pracuje opravdu rychle.
Cokolvek sa strci do buffra pomocou copy (y) alebo cut (d) je potom mozne vykonat cez @. Funguje to ale len pre pomenovane buffre.
Pomocou "xX (x je male pismeno, X je operacia mazania alebo kopirovania) vlozis do buffra a potom ho uz len vykonavas. Funguje aj na viacriadkovy obsah.
{2} Nějak se mi nedaří replikovat o čem mluvíš. Mám pocit, že vím, co myslíš, ale dělá se to jinak.
Seznam aktuálních registrů k dispozici pro copy&paste-like příkazy najdeš pod ':reg'. Vložení něčeho do pojmenovaného registru se udělá pomocí '"'. Samozřejmě fungují číselné kvantifikátory před příkazem, nebo z visual režimu. Opětovné vložení je prakticky stejným způsobem, akorát se použije příkaz p/P. Zajímavé na pojmenovaných registrech je, že jsou uloženy v ~/.viminfo, takže přečkají restart ViMu. Trošku škoda někdy je, že se nepřenášejí v rámci více spuštěných instancí, ale to už bych chtěl asi moc :oD
{3} Mě se docela často stává, že při snaze ukončit pomocí ':q' nedomáčknu dvojtečku a viditelně se neděje nic, tak to zkusím znovu a poté při zadání 'q:' se mi zobrazí nabídka posledních příkazů ... přišel jsem na to náhodou a občas to přijde vhod
To same lze udelat v editoru Midnight Commanderu (mcedit):
1) Spustit nahravani makra pomoci CTRL+R
2) Udelat akce, ktere se maji v ramci makra provest
3) Zastavit nahravni makra pomoci CTRL+R a zadat klavesovou zkratku pod kterou se bude makro spoustet
4) Stisknout klavesovou zkratku pro opakovani makra
Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. GNU/Linuxem a Unixem obecně se zabývá již více než deset let a věnuje se především jeho nasazení v počítačových sítích a bezpečnostní politice. Zde bloguje o Root.cz, Linuxu, internetu a světě kolem sebe.
Přečteno 112 291×
Přečteno 89 764×
Přečteno 73 160×
Přečteno 58 108×
Přečteno 54 434×