Vim je z veľkej časti textový editor ovládaný klávesnicou. Na posúvanie v súbore musíte stláčať klávesy namiesto toho, aby ste použili luxus rolovacieho kolieska myši (aj keď je možné použiť aj myš). Aby sme uľahčili posúvanie Vim, v tejto príručke preskúmam, ako vo Vime posúvať o stránku nahor a nadol pomocou rôznych metód.
Poznámka : Pokyny uvedené v tejto príručke sa vykonávajú v systéme Linux (Ubuntu 22.04). Keďže Vim je multiplatformový, klávesové skratky uvedené v tomto návode platia pre všetky operačné systémy.
Veľkosť stránky vo Vim
Vo Vime sa veľkosť stránky rovná počtu viditeľných riadkov v aktuálnom okne terminálu. Zmenou veľkosti okna terminálu sa zmení aj veľkosť stránky.
Page Up a Down
Povoľte režim NORMAL a použite nasledujúce príkazy na listovanie nahor a nadol vo Vime.
- ctrl+f: Stránkovanie o jednu stránku nižšie
- ctrl+b: Prechod o jednu stránku nahor (späť).
- ctrl+d: Pre stránku nižšie o polovicu strany
- ctrl+u: Nahor o polovicu strany
Po stlačení tlačidla ctrl+f stránka pôjde hore a presunie kurzor na posledný riadok-1. Napríklad v nasledujúcom súbore je aktuálne viditeľných riadkov na stránke 20. Kurzor je na riadku 1, po stlačení tlačidla ctrl+f , riadky 1 až 18 budú nahradené riadkami 19 až 37 v aktuálnej vyrovnávacej pamäti atď.
To isté platí v prípade page-down (ctrl+b) ale v opačnom smere.
Vyššie uvedené príkazy sú trochu tuhé a nemusia vám poskytnúť plynulé posúvanie. Radšej používam iné vstavané príkazy.
- ctrl a: Posunutie obrazovky o jeden riadok nahor
- ctrl e: Posunutie obrazovky o jeden riadok nadol
Ako môžete vidieť na nasledujúcom GIF-e, rolovanie je oveľa jednoduchšie.
Niektoré ďalšie rýchle klávesy na rolovanie po stránke vo Vime sú uvedené nižšie.
- zz : Presunutie riadku pod kurzorom do stredu
- zt : Ak chcete presunúť riadok pod kurzorom nahor
- zb : Ak chcete presunúť riadok pod čiarou kurzora nadol
Používanie navigačných klávesov Vim na listovanie nahor a nadol
Vim má vstavané klávesové skratky h, j, k a l, ktoré možno použiť na posúvanie stránok. Tlačidlá j a k slúžia na vertikálne rolovanie.
- j : Posunutie kurzora nahor o jeden riadok
- k : Posunutie kurzora nadol o jeden riadok
Page Up a Down pomocou značiek
Navigácia na stránke je tiež možná pomocou vstavanej funkcie záložiek Vim. Pomocou príkazu m nasledovaného znakom {a-z} nastavte značku na ľubovoľné miesto v súbore. Pomocou malých písmen môžete v súbore nastaviť 26 značiek.
Pomocou hranatej zátvorky ([) so zadným začiarknutím (`) sa môžete pohybovať po značkách nahor a nadol, čo vedie k navigácii na stránke. Napríklad pomocou ]` prejdite na ďalšiu značku a [` na predchádzajúcu.
Synchrónne stránkovanie nahor a nadol vo viacerých oknách
Mnoho vývojárov uprednostňuje použitie rozloženia viacerých okien vo Vime. V mnohých situáciách je žiaduce, aby sa obe okná posúvali synchrónne. Túto funkciu je možné dosiahnuť pomocou scrollbind príkaz.
Otvorte Vim v režime viacerých okien a v aktuálnom okne použite príkaz :set scrollbind.
:nastavenie posuvnej väzbyTeraz stlačte ctrl+w prepnite do ďalšieho okna a znova použite vyššie uvedený príkaz.
Nasledujúci animovaný GIF ukazuje, že pohyb stránky prebieha súčasne.
Ak sa chcete dozvedieť viac o rolovacej väzbe, použite :help scrollbind príkaz.
Presuňte sa na rôzne pozície na stránke
Ak chcete presunúť kurzor na rôzne pozície na stránke alebo v okne, použite nasledujúce klávesy:
- shift+h : Na začiatok stránky
- posun+m : Do stredu strany
- posun+l : Na koniec stránky
Ako listovať nahor/nadol vo Vime bez pohybu kurzora
Vzhľadom na vývojovú štruktúru Vimu nie je možné listovať nahor alebo nadol bez pohybu kurzora. Avšak, klávesové skratky ako zz , zt , a zb možno použiť na posunutie okna vzhľadom na kurzor.
Záver
Vim poskytuje rôzne klávesové skratky na navigáciu po stránke. Ak chcete listovať nahor a nadol, Vim má predvolené klávesy ctrl+f a ctrl+b . V mnohých situáciách však tieto klávesy neposkytujú požadovanú operáciu, ako napríklad posúvanie na konkrétnu pozíciu po stránke nahor alebo nadol. V takom prípade je ctrl+y a ctrl+e používajú sa klávesy, ktoré posúvajú stránku o jeden riadok.