Piszemy czy chodzimy po tekście?

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!


Zapisywanie pracy
Powrót do jadłospisu