W poprzednim artykule opisałem najważniejsze podstawy edycji w programie Vim. Dzisiaj zajmiemy się poruszaniem.

Zacznijmy jednak od tego jak Vim rozpoznaje obiekty tekstowe. Najprostrzym takim obiektem jest słowo. Jest to ciąg znaków alfanumerycznych otoczony znakami białymi lub znakami przestankowymi. Jak zobaczymy za chwilkę, możliwe jest aby słowo zaznaczać na dwa sposoby: same znaki alfanumeryczne lub znaki alfanumeryczne i przestankowe.
Kolejne obiekty to zdanie (wyrazy kończące się kropką) i paragraf(zdania kończące się znakiem nowej linii lub pustą linijką.)

Posiadając tą podstawową wiedzę przejdźmy do poruszania się.

W niektórych edytorach najprostrze poruszanie się odbywa się za pośrednictwem kursorów. Natywnie jednak Vim potrzebuje do tego innych klawiszy; h, j, k i l.

h – przesunięcie kursora w lewo
l – przesunięcie kursora w prawo
j – przesunięcie kursora w górę
k – przesunięcie kursora w dół

Przemieszczanie się wewnątrz linijki:

0 – przesuwa kursor na początek linii,
^ – przesuwa kursor przed pierwszy niebiały znak w linijce,
$ – przesuwa kursor na koniec linijki.

[No Name] + - VIM

Przemieszczanie się po całych wyrazach:

w – przesunięcie kursora na początek następnego wyrazu
e – przesunięcie kursora na koniec obecnego wyrazu
b – cofnięcie kursora do początku wyrazu

Te same komendy wpisane dużymi literami przesuwają kursor tak samo, lecz uznają wyraz wraz ze znakami przestankowymi.

W – przesunięcie kursora na początek następnego wyrazu ignorując znaki przestankowe
E – przesunięcie kursora na koniec obecnego wyrazu ignorując znaki przestankowe
B – przesunięcie kursora na początek wyrazu ignorując znaki przestankowe

[No Name] + - VIM-1

Jeszcze kilka:

ge – przesunięcie na koniec poprzedniego wyrazu,
gE – przesunięcie na koniec poprzedniego wyrazu ignorując znaki przestankowe,
g_ – przesunięcie kursora na ostatni nie biały znak w tej linijce.

Nawiasy okrągłe i zakręcone.

Vim sprawnie rozpoznaje nawiasy i potrafi dopasować je w pary. Jeżeli mamy kursor umieszczony na jednym z nich to możemy się przenieść na drugi pasujący za pośrednictwem komendy %.

% – przeniesienie kursora na pasujący nawias.
[{ lub [( – przeniesienie kursora na nawias otwierający (zakręcony lub okrągły)
]} lub ]) – przeniesienie kursora na nawias zamykający

[No Name] + - VIM-2

Pamiętajmy, że powyższe komendy przenoszą nas do najbliższego OTACZAJĄCEGO nas nawiasu a nie pierwszego napotkanego.
[No Name] + - VIM-3

Przesuwanie w obszarze roboczym.

Wiadomo, że czasem plik ma więcej treści niż jest w stanie pokazać w okienku. Pokaże teraz kilka komend, które pozwalają tekstem w obszarze roboczym.

Przesuwanie kursora w obszarze roboczym:
H – przesunięcie kursora do pierwszej linijki okienka,
M – przesunięcie kursora do środkowej linijki okienka,
L – przesunięcie kursora do ostatniej linijki okienka.

gg – przesunięcie kursora do pierwszej linijki tekstu
G – przesunięcie kursora do ostatniej linijki tekstu

Ctrl-e – przesunięcie tekstu jedną linijkę w górę
Ctrl-d – przesunięcie tekstu w górę o pół obszaru roboczego
Ctrl-f – przesunięcie tekstu w górę o cały obszar roboczy

Ctrl-y – przesunięcie tekstu o jedną linijkę w dół
Ctrl-u – przesunięcie tekstu o pół obszaru roboczego w dół
Ctrl-b – przesunięcie tekstu o cały obszar roboczy w dół

To podstawowe komendy do poruszania się. Warto nauczyć się chociaż kilku, z czasem zdobędziemy pełną wiedzę.

W następnym artykule selektory.
.