Hasznos vi billentyűkombinációk

Az egyik legjobb barátom a vi. Minden *NIX rendszeren létezik, ha pedig valaki tudja az alap parancsokat, akkor a sokkal egyszerűbb és kényelmesebb vim-mel is gond nélkül elnavigál.

Alapok

  • i – insert (beszúrás) mód.
  • r – replace (felülírás) mód.
  • Escape –  a fenti (vagy bármely egyéb) módok elhagyása
  • :w – write (mentés)
  • :q – quit (kilépés)
  • :wq – mentés és kilépés
  • :!q – kilépés mentés nélkül

Kurzormozgatás

A “sima” módban (amikor nem vagy insert vagy replace módban) akkor a hjkl billentyűkkel lehet mozogni. Régen, amikor nem voltak kurzormozgató billentyűk, akkor nagyon sok helyen ezt használták, s mert egymás mellett vannak, nagyon kényelmes volt. Ne lepődj meg, ha sok helyen visszaköszönt rád (pl. Google Mail vagy Google Reader).

  • h – fel
  • j – le
  • k – balra
  • l – jobbra
  • / – keresés: a kurzort a kereséssel is lehet mozgatni.  Ha a geeklany szóra keresel, akkor a /geeklany begépelésével (+enter) találod meg.
  • ? – ugyanaz, mint a /, csak visszafelé
  • f – f és utána a keresett betű. Ha a file-od tartalma “Hello World”, akkor az fo begépelése először a Hello o betűjére visz, ha újra begépeled, akkor pedig a World szó o betűjére.
  • F – ugyanaz, mint az f, csak visszafelé
  • % – ugorj a legközelebbi (), [] vagy {} karakterre
  • H – ugorj az első sorra
  • M – ugorj a középső sorra
  • L – ugorj a legalsó sorra
  • #G – Ugorj az x. sorra. Pl. 1G az első sorra visz.  Ha csak G-t ütsz le, akkor az az utolsó sorra visz, mint az L.
  • w – következő szó (word)
  • #w – menj az x. szóra. 2w: menj előre két szót
  • b – menj vissza egy szót (back)
  • #b – menj vissza x szóval.
  • e – menj a szó végére.

Másolás

  • v – nyomd le a v betűt és mozgasd a kurzort a szöveg kiválasztásához.
  • y – másold ki a szöveget (yank)
  • p – illeszd be a szöveget (paste)
  • x – vágd ki a szöveget (cut), ha nincs semmi kiválasztva, akkor a kurzor alatti karaktert vágja ki.

Parancsok kombinálása

Több parancsot is lehet tetszőlegesen kombinálni, mint pl. a :wq a mentsd és lépj ki megoldásra.

A legjobb példa azonban mégis a törlés:

  • dw – töröld le a következő szót
  • db – töröld le az előző szót
  • de – töröld ki a karaktereket a szó végéig
  • dL – törölj ki mindent a file végéig
  • d/geeklany – törölj ki mindent a kurzortól addig, amíg a geeklany szót meg nem találod
  • dd – töröld ki az egész sort

Visszavonás, ismétlés

  • u – visszavonás (undo)
  • . – ismételd meg az előző parancsot. Pl. ha igeeklany -nyal a szövegbe illesztetted, hogy geeklany, akkor a . (az insert mód elhagyása után) újra beilleszti a kurzorhoz a geeklany szót. (Ha pedig keresel a /geeklany -nyal, akkor a következő találatra jutsz).

Ez persze nem minden, de még így is több, mint amire a legtöbbször szükséged van.

További billentyű parancsok angolul a Harvard linkjén találhatóak.

Bónusz: keresd meg és cseréld le

Ha ‘szintet’ lépsz a vi használatában és áttérsz a vim-re, akkor lehet, hogy neked is a kedvenc parancsod lesz a keresd meg és cseréld le.

  • :%s/geeklany/geeklány/g – találd meg az összes geeklanyt és cseréld le geeklány-ra.
  • :%s/geeklany/geeklány/gc – ugyanaz, mint az előbb, de az első lecserélése előtt kérdezz rá
  • :%s/\<geeklany\>/geeklány/g – Csak akkor cseréld le, ha a teljes szó egyezik.
  • :%s/geeklany/geeklány/gi – Kisbetű/nagybetű eltérést hagyd figyelmen kívül.
  • :%s/foo/bar/gI – Figyelj oda a kisbetű/nagybetű eltérésre (ha úgy állítottad be a vim-et, hogy egyébként figyelmen kívül hagyja).

Bónusz2: ripthestage ajánlata[update]

  • $ = sor végére ugrás,
  • G = fájl végére ugrás,
  • cw = szó cserélése,
  • :szám adott sorra ugrik.