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. Pritisnitenza sledeći rezultat iNza 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,lza 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.txtu 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.
