Friday, 22 November 2013

Vim

A vimmel először AIX miatt kerültem komolyabb kapcsolatba, és azóta parancssorban gyakorlatilag csak ezt használom. A vim a vi-ból fejlődött ki, és elég sok kényelmi funkciót tartalmaz. Sokan gyűlölik, mivel nem a notepad és a hagyományos szövegszerkesztők elvén működik. Ami miatt mégis megéri megtanulni pár alap parancsot használni, az a less, ami egy filenéző program, és például a man is lessben nyitja meg a manualokat (a klasszikus unixok more-ban, de azzal nagyon kevesen fognak találkozni).

Konfiguráció:
A vim rendszerszintű konfigurációs fájlja a /etc/vim/vimrc. Ebben két dolgot szoktam bekapcsolni: syntax=on, és background=dark. Az első bekapcsolja a syntax highlightot, a második átállítja a színsémát.

Következzen egy kis gyorstalpaló.
A vimnek két módja van: parancs (command), és szerkesztő (edit) mód. Mindig command módban indul. Ekkor a beütött dolgok nem kerülnek be a file-ba, hanem parancsokként értelmezi a dolgokat. Az általam legsűrűbben használt parancsok:
Keresés:
  • /kifejezés : előrefelé keres a file-ban a megadott kifejezésre
  • ?kifejezés : visszafelé keres a kifejezésre
  • n : megismétli az előző keresést, vagyis a következő találatra ugrik abban az irányban, amerre utoljára kerestünk
  • N : megismétli az előző keresést fordított irányban
  • :szám : a megadott sorszámú sorra ugrik (a sorok számozása 1-től kezdődik)
Mozgás:
vimben mindkét módban tudunk mozogni, vi-ban viszont csak command módban
  • egyik lehetőség a kurzorok használata, ez egyértelmű
  • a másik lehetőség a h-j-k-l gombokkal:
    h=bal, j=le, k=fel, l=jobb
Szerkesztés:
  • i : insert - az aktuális pozíciónál átkapcsol szerkesztés módba
  • a : append - az aktuális pozítió mögött átkapcsol szövegszerkesztő módba
  • o : az aktuális sor alatt kezd egy új sort, és átkapcsol szerkesztés módba
  • O : az aktuális sor fölé illeszt be egy új sort, és aátkapcsol szerkesztő módba
  • Esc : visszalép parancs módba
Törlés, kijelölés: 
Törölni vi-ban csak parancs módban lehet, vimben szerkesztő módban működik a Del és Backspace. Ha parancs módban törlünk, akkor a törölt rész bekerül a vim bufferébe, amiket be tudunk illeszteni. Parancs módban az alábbi törléseket szoktam használni.
  • dd : törli az aktuális sort
  • d<szám>d: töröl <szám> darab sort az aktuális sortól kezdve lefelé
  • d$ : az aktuális pozíciótól kezdve töröl a sor végéig
  • dw : delete word - töröl az aktuális pozíciótol a szó végéig
  • d<szám>w: törli a következő <szám> szót
  • dl: törli a következő karaktert
  • d<szám>l: törli a köetkező <szám> karaktert
  • v : kijelölés kezdete - ezután mozgással kijelölhetjük a kívánt részt
  • V : sorok kijelölésének kezdete - ezután mozgással kijelölhetjük a kívánt sorokat
  • y : kijelölés befejezése, és bufferbe másolása
Beillesztés:
Beilleszteni lehet a vágólapról, vagy a vim saját bufferéből. Vágólapról illesztésnél figyeljünk arra, hogy szerkesztő módban legyünk különben elkezdi parancsként értelmezni a beilleszteni kívánt szöveget, és csak az első megfelelő karaktertől kezdi beilleszteni a szöveget (i,a,o,O, stb.).
A bufferbe kétféleképpen kerülhetnek dolgok. Törléssel (dd, dw, d$, dl, stb.), vagy másolással (v/V - y).
  • p : a bufferben levő dolgokat beilleszti az aktuális karakter után
  • P : a bufferben levő dolgokat beilleszti az aktuális karakter elé
Kilépés és mentés:
  •  :q - kilépés. Ha változott a file, akkor figyelmeztet, hogy változott, és nem lép ki
  • :q! - kilépés mentés nélkül
  • :w - mentés
  • :x - kilépés mentéssel (:qw is ugyanezt csinálja)
A fentieken kívül még végtelen dolgot tud a vim, de kezdetnek ennyit is elég megjegyezni, és megszokni.

No comments:

Post a Comment