Portál AbcLinuxu, 8. května 2025 00:46

Dotaz: vim - kurzorové klávesy nahoru/dolů mapované na gj, gk

19.5.2014 13:24 bhy | skóre: 35 | blog: bhyblog | brno
vim - kurzorové klávesy nahoru/dolů mapované na gj, gk
Přečteno: 276×
Odpovědět | Admin
Zdravíčko.

1) Snažím se dosáhnout toho, aby se ve Vimu kurzorové klávesy šipka nahoru a šipka dolů chovaly jako v editorech pro "běžné uživatele", tzn. aby tehdy, když je nastaveno set linebreak, posouvaly kurzor po grafických řádcích jak jsou vidět na obrazovce, nikoliv po skutečných řádcích v souboru.

Ve .vimrc mám následující:
nnoremap <Up> gk
vnoremap <Up> <Esc>gkv
inoremap <Up> <Esc>gka
nnoremap <Down> gj
vnoremap <Down> <Esc>gjv
inoremap <Down> <Esc>gja
Trochu blbě se to popisuje.. ale problém je v tom, že takto když zmáčknu (v editovacím módu) šipku dolů na posledním grafickém řádku skutečného řádku, čímž přejdu na začátek nového sktuečného řádku, kurzor skočí až na druhý znak nového řádku. To je pochopitelné, vzhledem k tomu, že a je append.

Když jsem ale zkoušel vyměnit gka a gja za gki a gji (jako insert), vznikl zase jiný problém, a sice že při pohybu uvnitř "odstavce" (řádku rozděleného na více grafických řádků) šipka dolů neposune kurzor na znak přesně pod tím, na kterém je před zmáčknutím šipky, nýbrž o jeden znak víc dopředu (doleva), kurzor se pak posouvá dolů jakoby šikmo. Moc nechápu proč. Tušíte někdo?

2) Jde mi o to, že většina textu, co píšu, není kód, nýbrž je v přirozeném jazyce, a tam prostě dlouhé řádky vznikají. Hodně hardcore Vimistů mi říkalo, že se mám vykašlat na set linebreak a psát i texty v přirozeném jazyce stylem grafický řádek = reálný řádek a používat automatické reformátování odstavce, když někde potřebuju něco změnit; to mi ale přijde trochu jako návrat do časů T602. Znáte někdo nějaké howto ve stylu "Vim pro autory (spisovatele, překladatele..)"?

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

Odpovědi

19.5.2014 13:55 Filip Jirsák
Rozbalit Rozbalit vše Re: vim - kurzorové klávesy nahoru/dolů mapované na gj, gk
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkuste tohle (ze seriálu Jak si přizpůsobit VIM):
:inoremap <Up> <Esc>g<Up>a
:inoremap <Down> <Esc>g<Down>a
20.5.2014 11:40 bhy | skóre: 35 | blog: bhyblog | brno
Rozbalit Rozbalit vše Re: vim - kurzorové klávesy nahoru/dolů mapované na gj, gk
g<Up>a atd. dělá úplně totéž jako gka atd., ale díky.
20.5.2014 13:04 bhy | skóre: 35 | blog: bhyblog | brno
Rozbalit Rozbalit vše Re: vim - kurzorové klávesy nahoru/dolů mapované na gj, gk
Odpovědět | | Sbalit | Link | Blokovat | Admin
Znáte někdo nějaké howto ve stylu "Vim pro autory (spisovatele, překladatele..)"?
Tady bych si odpověděl sám, trochu jsem googlil a našel jsem k tomu následující:

http://www.therandymon.com/woodnotes/vim-for-writers/node1.html

http://naperwrimo.org/wiki/index.php?title=Vim_for_Writers

http://www.drbunsen.org/writing-in-vim/

http://alols.github.io/2012/11/07/writing-prose-with-vim/

http://www.terminally-incoherent.com/blog/2013/06/17/using-vim-for-writing-prose/

Většina autorů doporučuje hard wrap i pro psaní prózy.

PB

Založit nové vláknoNahoru

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

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