[cstex] Trochu OT-Shrnuti: Makro pro Vim, nahrada mezery vlnkou

Josef Polách josef at polach.org
Fri Feb 9 20:20:51 CET 2007


Josef Polách napsal(a):
> Připravuji text pro sazbu TeXem, procházím jej a na některá 
> místa potřebuji dát ručně vlnku místo mezery (samozřejmě 
> tam, kam "nedosáhne" program vlna). Abych to měl co 
> nejsnadnější - tedy na stisk dvou kláves po sobě a žádné 
> dvoj či trojhmaty, napsal jsem si makro:
> 
> map <F5> s~<esc>
> 
> To je v pořádku. Chci ale, aby mi stejné makro fungovalo i 
> ve vkládacím režimu. Napsal jsem tedy:
> imap <F5> <delete>~<esc>i
> a zkoušel jsem i obdobu prvního makra
> imap <F5> <esc>ls~<esc>i
> 
> ale obě tato makra mi před vlnku dají mezeru. Nepomůže 
> <delete> ani <backspace> -- ty sice odstraní mezeru, ale 
> zároveň s ní to vezme ještě nějaký sousední znak.

Děkuji všem, problém byl nakonec opět na mé židli.

Re: Ladislav Bittó
Je to text převzatý odjinud, procházím jej a dělám zároveň 
gramatickou, stylistickou i TeXovou korekturu. Tady by mi 
Váš způsob nepomohl. Protože se chvílemi nacházím v 
normálním a chvílemi ve vkládacím režimu, nechci myslet na 
to, kde zrovna jsem a jak se tam vrátit, jen na patřičném 
místě chci dát F5 mezera a jet dál.

Re: Milan Vančura
Kdepak. I Vaše řešení s "r" mi dá před vlnku mezeru (zleva)

Re: David Ondřich
Dobrá věc, dík za tip, použiji jej, ale hodí se pro 
pořizování textu. Pro editaci potřebuji jiné chování - 
přepsání existující mezery vlnkou a návrat do režimu, v němž 
jsem byl předtím

Re: Marek Pomp
Mně nikoliv. (Nefunguje.) Všechna řešení mi ve vkládacím 
režimu přidají mezeru. Vim 6.3.7, Slackware 10, jinde jsem 
zatím nezkoušel.

A zatímco si to znovu všechno zkouším a píšu tuto odpověď, 
napadlo mě fungující řešení:

<F5><Space> <C-O>r~ místo <F5> <C-O>r~

On totiž Vim potřebuje, aby se mu řeklo, jak se ta "volací" 
klávesa jmenuje a ne jen tam tu mezeru napsat. Takže když 
jsem mačkal F5 a mezeru, Vim ji použil ve vkládacím režimu 
rovnou pro vložení do textu a ne jako jméno makra, což se u 
normálního režimu neprojevilo, protože ji tam ignoroval a 
stačilo mu pouhé F5, čehož jsem si nemohl všimnout.
Zkrátka jsem se v dotazu špatně vyjádřil a nenapsal jsem, že 
makro chci volat pomocí F5 a mezerníku a tím jsem Vás zmátl.

Tak se omlouvám za zdržení a za malé Vimovské cvičení.

Pohoda, hezký víkend

-- 
Josef Polách - www.polach.org
-- Lidé, (s)mějte se rádi ---
Bez virů, bez Windows/Virusfree, no Windows





More information about the csTeX mailing list