Jak już wspominałem, pracowaliśmy teraz cały czas w trybie poleceń. W tym
trybie praktycznie każdy klawisz-litera ma inną funkcję, niż podczas pisania.
Gdy przejdziemy do trybu pisania (czyli wstawiania,
INSERT/REPLACE)
klawisze będą zachowywać się przyzwoicie i wstawiać literki. Rzecz jasna,
praktycznie wszystkie funkcje z trybu poleceń nie będą dostępne, dopóki do
niego nie przejdziemy (tu się przydają klawisze strzałek
i [Home]/[End], które
zachowują swoje stare działanie). Wyjściem z trybu wstawiania (jak zresztą
z każdego innego) jest klawisz [Esc]. Natomiast
wchodzisz do trybu wstawiania wciskając małe i
(lub [Insert]). Teraz możesz już pisać w pliku
jakiś tekst. Wciskając klawisz [Insert] zmienisz
tryb na REPLACE. Wejść w ten tryb możesz również
wciskając duże R w trybie poleceń. Wypróbuj oba,
i oraz R. Prawda, że
fajne?
Teraz pora na kilka komend przydatnych do edycji. Zakładam, że masz kawałek
tekstu, na którym możesz poćwiczyć. Wszystkie polecenia teraz wpisywane muszą
być w trybie poleceń, więc wćiśnij klawisz [Esc].
Teraz gdy wciśniesz x zniknie znak, na którym
stałeś. Tak samo działa klawisz [Delete]. Wciśnij
teraz X. Znika klawisz sprzed kursora. Podobnie,
jak by działał klawisz [Backspace], gdyby nie
przesuwał cię o jeden znak wstecz w tym trybie. Teraz wpisz
5x (najpierw wciśnij 5, potem x). Właśnie
skasowałeś pięć znaków. Zgadnij, co się stanie, jak naciśniesz
5l? Przesunie cię w prawo o 5 znaków. Tak każe się
Vim-owi wykonać kilka razy tę samą instrukcję. Zamiast wciskać piętnaście
razy klawisz x, wpisujesz 15x. Proste, nie? Działa
to na praktycznie każdą komendę wydawaną w ten sposób. Sam popróbuj.
No dobra, ale przecież nie będziesz liczył, ile znaków ma każda linia. Do
kasowania całych linii służy komenda dd. Wciskasz
dwukrotnie literkę d (małe), i masz usunięty wiersz. Spróbuj teraz jedną
komendą usunąć trzy wiersze: 3dd. A teraz
ciekawostka: aby usunąć wszystko od znaku, na którym stoi kursor do końca
linii, wciśnij d$ (albo
d[End]). Analogicznie usuwasz wszystko do początku
linii (d0), do początku tekstu w danej linii
(d^), od kursora do końca słowa
(dw) lub do początku słowa
(db). Jak poznasz więcej komend poruszania się, to
je też najprawdopodobniej da się zastosować do usuwania tekstu.
Są jeszcze dwie ciekawe komenda: r<literka>,
gdzie <literka> oznacza znaczek (klawisz, literkę), na jaki zamienisz
to, co stoi pod kursorem (np. re zmieni aktualną
literę na e, a r% - na znak procentu).
Pozostaniesz w trybie wydawania poleceń. Ciekawy efekt da kombinacja
<powtórz-kilka-razy>r<literka>, jak
4r-, które zmieni cztery następne znaki na znak
minusa. Drugą komendą jest zwykła kropka. Powtarza ostatnio wykonaną operację
(wpisuwanie, usuwanie, zamiana tekstu itd.). Również ładnie komponuje się
z powtarzaniem kilkukrotnym. Koniecznie wypróbuj obie komendy!