Rýchlokurz vimka


Na tejto stránke som zhrnul príkazy, ktoré používam najčastejšie a môžu sa vám hodiť počas práce na xv6. V zátvorkách sú uvedené kurzívou mnemonické pomôcky príkazov. Pre úplnejší úvod do editora vim zadajte do príkazového riadka príkaz vimtutor a prejdite si tutoriál (ideálne po prečítaní textu nižšie). Nápomocné je tiež video od Mariána Šebeňu.

Všeobecné

  • Súbor vo vimku otvoríte z príkazového riadka príkazom vim <cesta>.
  • Súbor z vimka otvoríte príkazom :e <cesta> (edit). K dispozícii je dopĺňanie tabulátorom a zástupný znak hviezdičky. Tieto funkcionality sú dostupné aj v iných príkazoch.
  • Po súbore sa môžete pohybovať štandardnými šípkami, prípadne PgDn, PgUp. Znalci používajú klávesy h, j, k, l; CTRL+F a CTRL+B.
  • Vim má niekoľko módov činnosti. Po spustení sa nachádza v móde NORMAL, v ktorom strávite väčšinu času prehliadaním súborov. Stlačením klávesy i prejde do módu INSERT, v ktorom upravujete obsah súboru. Po úpravách sa do normálneho módu dostanete stlačením klávesy ESC. Pokiaľ nie je uvedené ináč, všetky tu uvedené príkazy a klávesové skratky zadávajte z normálneho módu.
  • Úpravy uložíte na disk príkazom :w (write).
  • Keď otvoríte z vimka iný súbor, všetky ostatné súbory ostávajú otvorené na pozadí ako buffre. Môžete sa medzi nimi prepínať príkazom :b <nazov>, kde <nazov> je meno súboru. Stačí zadať aj jeho časť a tabulátorom si zobrazíte buffre so zodpovedajúcim názvom. Ak zadáte :b (na konci je medzera) a stlačíte TAB, vim vám ponúkne všetky otvorené buffre.
  • Vim ukončíte príkazom :q (quit). Ak máte otvorených viacero buffrov, všetky zatvoríte príkazom :qa (quit all). Ak nejaké zmeny nemáte uložené, vim sa odmietne vypnúť. Pridaním výkričníka (:q!) ho k tomu viete donútiť. Pozor však na stratu neuloženej práce!
  • Doplniť rozpísaný názov premennej z insert módu môžete pomocou CTRL+N (next) alebo CTRL+P (previous). Ďalším stlačením sa posúvate v zozname doplnení.

Kopírovanie a vyhľadávanie

  • Celý riadok skopírujete stlačením yy (yank).
  • Skopírovaný objekt vložíte stlačením p (paste).
  • Menšiu časť textu viete vybrať vo vizuálnom móde. Prepnete sa do neho stlačením klávesy v. Po vybratí časti textu stlačením klávesy y ju skopírujete do schránky.
  • Celý riadok zmažete stlačením dd (delete).
  • Vyhľadávať v aktuálnom súbore môžete klávesou /, zapísaním vyhľadávaného reťazca a potvrdením ENTER. Potom môžete prechádzať nájdenými výskytmi klávesami n (next) a p (previous).

Okná

  • Okno rozdelíte príkazom :sp alebo :vs (split a vertical split).
  • Medzi oknami sa presúvate skratkou CTRL+W CTRL+W (držíte CTRL a potom W dvakrát). Vim vo virtuálke je špeciálne nakonfigurovaný tak, že na pohyb medzi oknami môžete použiť skratky CTRL+H, CTRL+J, CTRL+K a CTRL+L podľa smeru okna, do ktorého sa chcete prepnúť.

Tagy

  • Na vyhľadávanie tagov (skákanie na definície v kódovej báze) potrebujete najprv vytvoriť tagy príkazom ctags -R . (bodka na konci). Zadávajte ho v príkazovom riadku v koreňovom adresári xv6. Tagy musíte pregenerovať po prepnutí na inú vetvu, resp. po definovaní nových funkcií/štruktúr.
  • Skočiť na definíciu funkcie/štruktúry môžete pomocou CTRL+].
  • Skočiť späť môžete skratkou CTRL+T (tag).
  • Niekedy sa stane, že jeden názov sa používa pre viacero objektov. V takom prípade musíte objekt zvoliť zo zoznamu. Príkazom :ts (tag select) zobrazíte zoznam tagov k názvu pod kurzorom. Zadaním čísla definície potom skočíte na túto definíciu.