Na początek powiem, że w Vim-ie pracuje się w dwóch trybach: wstawiania
(zwykłe pisanie) i wydawania poleceń. To jest chyba najtrudniejsza rzecz do
zaakceptowania, ale tu właśnie tkwi moc zawarta w Vim-ie. O ile pierwszy tryb
wydaje się naturalny, o tyle początkowo nie wiedziałem, co można robić w tym
drugim. Może jednak omówię conieco tryb wstawiania.
Tryb ten tak na prawdę ma dwie odmiany: dopisywanie nowego tekstu
i nadpisywanie starego. Działają wtedy te same skróty klawiaturowe, a jeśli
kursor znajduje się na końcu linii, to zachowuje się w identyczny sposób.
Różni je tylko to, że gdy jesteś w środku linii, to w nadpisywaniu będziesz
zamieniać literka po literce, a we wstawianiu będziesz dopisywać tekst.
Komend możliwych do wydawania w trybie wstawiania nie będę na razie opisywał,
bo są zrozumiałe dopiero po bliższym zapoznaniu się z Vim-em.
Tryb wydawania poleceń.
Na początek będziesz potrzebował jakiegoś niedługiego pliku tekstowego. Możesz
na przykład skopiować tekst z tej stronki i wkleić do Notatnika (co ma swoje
zalety, bo nie będziesz musiał co chwila zmieniać okna czytając ten tekst).
Zapisz plik i przeciągnij jego ikonkę na ikonkę Vim-a (dla linuksowców:
uruchom w terminalu polecenie vim nazwa_pliku lub w graficznym
trybie gvim nazwa_pliku. Powinno pojawić się okienko Vim-a
(zależnie od trybu: konsola lub graficzny). Ładnie wygląda, nie? Spróbuj, jak
działają klawisze kursora. Powinny być OK. Tak jest w ogólnym przypadku, ale
sam miałem jedną sytuację, kiedy nie działały. Pracowałem wtedy zdalnie,
a program, przez który się łączyłem, nie przesyłał strzałek. Co w takim razie
zrobić? Użyć klawiatury alfanumerycznej. Są cztery klawisze, dające (prawie)
ten sam efekt, co strzałki: h, j, k, l (MAŁE!!!
wielkość klawiszy ma znaczenie!). h oraz
l przesuwają kursor w lewo i prawo (tak, jak są
położone na klawiaturze), natomiast j
i k przesuwają kursor w dół i w górę
(j wystaje w dół, k
wystaje w górę - i tak też przesuwają kursor). Z czasem możesz dojść do
wniosku, że są to troszkę szybsze klawisze od strzałek.
Zauważ, że nie jesteśmy w trybie wstawiania. Gdybyśmy byli, to na dole okna
Vim-a byłby napis INSERT lub
REPLACE. W trybie wstawiania klawisze
hjkl działają normalnie (dowodem na to jest fakt,
że występują w tym tekście, pisanym właśnie pod Vim-em). Ale wróćmy do trybu
wydawania poleceń. Jest to domyślny tryb, w którym Vim startuje (chyba, że
konfiguracja mówi inaczej, ale jeśli po instalacji skopiowałeś sobie mój plik
ustawień, to jest jak stoi wyżej). Oprócz przesuwania kursora o jedną pozycję
w każdą stronę możesz jeszcze przesuwać się o całe słowo do przodu i do tyłu
(odpowiednio: w i b
- word i back-word) oraz przewijać tekst ekranami
(^B i ^F
- backward i forward [pamiętaj, zapis
^X oznacza Ctrl+X]). Klawisze kursorów wciśnięte
z Control-em powinny dać podobny efekt, jak w
i b.
Jeszcze jedno: jak przesuwać się na początek i koniec linii. Do tego służą
(poza intuicyjnymi klawiszami [Home]
i [End]) klawisz 0
(zero) i $ (Shift+4). Dolar przeniesie cię na
ostatni znak linii, a zero - na pierwszy. Ale czasem nie chcesz być na samym
początku, tylko na pierwszej nie-spacji. Do tego służy
^ (Shift+6). Podobny w działaniu, różnica
w działaniu ujawnia się przy liniach zaczynających się od spacji/tabulacji.
Wypróbuj.
Tyle w zasadzie powinno ci wystarczyć na początek do czytania tekstu. Ogólnie
rzecz biorąc, w klasycznym schemacie Vim-a powinny działać znane, intuicyjne
klawisze, mające jeszcze swoje odpowiedniki.