Vim – podstawy do nauki

Vim jest jednym z najpopularniejszych edytorów tekstowych wśród czytelników Linux Journal. Posiada kilka trybów pracy (od trzech trybów „elementarnych” (NORMAL, INSERT i COMMAND-LINE/EX) do jedenastu), które niejednego początkującego programistę, wprowadziły w zakłopotanie. Można się zastanowić, co jest w tym edytorze trudnego?

Otóż, nie tak łatwo z niego wyjść, jakby nam się wydawało. Takiej pomocy, szukało już ponad 1,7mln ludzi (How to exit vim editor?).

Zacznijmy od początku. W celu otworzenia dowolnego pliku, korzystamy z komendy:

vim nazwa_pliku

jeżeli plik istnieje, to zostanie otworzony, w przeciwnym razie, zostanie utworzony i otworzony nowy, pusty, jak na gifie powyżej.

W tym momencie, większość początkujących zaczyna się zastanawiać: jak z tego wyjść?

Musimy przełączyć się w tryb EX, osiągamy to za pomocą wciśnięcia przycisku Esc.
Następnie, musimy wpisać :q , co powoduje wyjście z pliku bez zapisywania.

W celu napisania czegokolwiek, musimy przełączyć się w tryb INSERT, za pomocą i (na dole ekranu, pojawi się nam napis INSERT). Na poniższym gifie, widać to doskonale; wchodzimy do pliku, naciskamy i, następnie piszemy, naciskamy esc i piszemy :wq, czyli zapisz i wyjdź.

Możemy również porzucić wprowadzone zmiany, osiągamy ten rezultat za pomocą :q!

Jeżeli chcemy zapisać tylko plik, bez wychodzenia z edytora, korzystamy z komendy :w

Jeżeli edytujemy pliki i chcemy mieć podświetloną składnię, korzystamy z komendy :syntax on

Podsumowując: wchodzimy do pliku, w tym momencie możemy pracować za pomocą wielu dostępnych skrótów np. dd spowoduje skasowanie linii, na której znajduje się kursor. Jeżeli chcemy coś pisać, włączmy tryb INSERT (za pomocą i). Gdy już skończymy zmiany, wychodzimy z trybu INSERT (Esc). Dopiero w tym momencie, możemy spróbować wyjść z vima / zapisać zmiany etc. (za pomocą np. :wq).

Teraz, gdy znasz już najważniejsze podstawy, możesz przećwiczyć pozostałe, najczęściej używane i najbardziej popularne skróty, które znajdziesz na tej stronie.

Facebook
LinkedIn