Vim je veoma moćan tekst editor koji se koristi na Linuxu (i drugim Unix-like operativnim sistemima). Ima stepenasti način rada sa modalnim interfejsom: u jednom trenutku si u komandnom modu (gde možeš kretati kroz tekst i davati komande), dok u drugom možeš biti u insert modu (gde zapravo upisuješ tekst).
Evo detaljnog pregleda najvažnijih komandi u Vim-u, uz objašnjenja i primere:
1. Osnovni modovi rada
- Normal Mode (komandni mod) – Ovo je mod u kojem se nalazite kada otvorite fajl. U ovom modu možete kretati kroz tekst, brisati, kopirati, lepitati i izvoditi mnoge druge operacije.
- Insert Mode (mod za unos) – Ovo je mod u kojem možete unositi tekst u fajl.
- Visual Mode (vizualni mod) – U ovom modu selektujete delove teksta za kasnije kopiranje, brisanje ili modifikaciju.
- Command-Line Mode (komandna linija) – Ovo je mod u kojem unosite komande za napredne operacije, kao što je snimanje fajla, izlazak iz Vima itd.
2. Prelazak između modova
- Prelazak u Insert Mode:
i
– Umetnite pre kursora (insert prekursora).I
– Umetnite na početak linije.a
– Umetnite nakon kursora.A
– Umetnite na kraj linije.o
– Otvorite novu liniju ispod trenutne.O
– Otvorite novu liniju iznad trenutne.
- Prelazak u Normal Mode:
- Pritisnite
Esc
(koji vas vraća u komandni mod iz bilo kog drugog moda).
- Pritisnite
- Prelazak u Visual Mode:
v
– Početak selekcije karaktera.V
– Početak selekcije cele linije.Ctrl + v
– Početak selekcije blokova (u slučaju blokovnog režima).
3. Kretanje kroz tekst
U Normal Mode:
h
– Pomeri se levo za jedan karakter.j
– Pomeri se dole za jednu liniju.k
– Pomeri se gore za jednu liniju.l
– Pomeri se desno za jedan karakter.w
– Pomeri se na početak sledeće reči.b
– Pomeri se na početak prethodne reči.0
– Pomeri se na početak trenutne linije.$
– Pomeri se na kraj trenutne linije.gg
– Pomeri se na početak dokumenta.G
– Pomeri se na kraj dokumenta.Ctrl + u
– Pomeri se pola ekrana gore.Ctrl + d
– Pomeri se pola ekrana dole.
4. Pretraga i zamena
Pretraga:
/tekst
– Traži “tekst” u dokumentu. Pritisniten
za sledeći rezultat iN
za prethodni.?tekst
– Traži “tekst” unazad.
Zamena:
:s/old/new/
– Zameni prvo pojavljivanje “old” sa “new” na trenutnoj liniji.:s/old/new/g
– Zameni sva pojavljivanja “old” sa “new” na trenutnoj liniji.:%s/old/new/g
– Zameni sva pojavljivanja “old” sa “new” u celom dokumentu.:s/old/new/gc
– Zameni sva pojavljivanja “old” sa “new”, uz potvrdu za svaku promenu.
5. Kopiranje, izrezivanje i lepljenje
U Visual Mode:
v
– Selektujte tekst (koristiteh
,j
,k
,l
za kretanje).y
– Kopiraj selektovani tekst (yank).d
– Iseci selektovani tekst (delete).p
– Zalepi kopirani ili isečeni tekst nakon kursora.P
– Zalepi kopirani ili isečeni tekst pre kursora.
Bez Visual Mode:
yy
– Kopiraj (yank) celu liniju.dd
– Iseci (delete) celu liniju.p
– Zalepi nakon kursora.P
– Zalepi pre kursora.
6. Undo i Redo
u
– Undo (poništi poslednju promenu).Ctrl + r
– Redo (ponovi poslednju poništenu promenu).
7. Snimanje i izlaz
:w
– Snimi fajl (write).:w filename
– Snimi fajl pod novim imenom.:q
– Izlaz (quit).:wq
– Snimi i izađi.:x
– Isto kao:wq
.:q!
– Izađi bez snimanja (force quit).ZZ
– Snimi i izađi (takođe isto kao:wq
).:e filename
– Otvori fajl za uređivanje.
8. Rad sa fajlovima i direktorijumima
:e fajl.txt
– Otvori fajlfajl.txt
.:saveas novi_fajl.txt
– Snimi trenutni fajl pod novim imenom.:split fajl.txt
– Podeli ekran i otvorifajl.txt
u novom delu ekrana.:vsp fajl.txt
– Podeli ekran vertikalno i otvorifajl.txt
.:ls
– Prikaz svih otvorenih fajlova.:b next
– Prebaci se na sledeći otvoreni fajl.:b prev
– Prebaci se na prethodni otvoreni fajl.
9. Pomoćne komande
:help
– Otvori pomoćni sistem Vima.:help komanda
– Pronađi pomoć za određenu komandu.:h :w
– Pronađi pomoć za komandu:w
.
10. Primeri komandi u praksi
- Pretraga i zamena:
- Traži reč “apple” i zameni je sa “orange”:
/apple :s/apple/orange/g
- Traži reč “apple” i zameni je sa “orange”:
- Kreiranje novog fajla i snimanje:
- Otvori Vim i kreiraj novi fajl, upiši tekst, i snimi:
vim novifajl.txt i This is a new file. Esc :w
- Otvori Vim i kreiraj novi fajl, upiši tekst, i snimi:
- Kopiranje i lepljenje linije:
- Kopiraj trenutnu liniju i zalepi je ispod:
yy p
- Kopiraj trenutnu liniju i zalepi je ispod:
- Podela ekrana i otvaranje dva fajla:
- Otvori dva fajla u paralelnim ekranima:
:split fajl1.txt :vsp fajl2.txt
- Otvori dva fajla u paralelnim ekranima:
- Kretanje kroz fajl:
- Pomeri se na kraj dokumenta i vrati na početak:
G gg
- Pomeri se na kraj dokumenta i vrati na početak:
Zaključak: Vim je izuzetno moćan alat koji ima mnoštvo opcija i komandi. Njegova prava snaga leži u efikasnosti kada se nauči raditi sa njim. Ako tek počinješ, najbolje je da se postepeno upoznaješ sa osnovnim komadama i modovima, a kasnije istražuješ naprednije mogućnosti.