Podstawy Vi / Vim dla zielonych

Za każdym razem, gdy używam Vim’a, słyszę coś w stylu „ja go nie znoszę” i w dobie bogatych edytorów wizualnych, Vim faktycznie nie wydaje się zbyt przyjazny użytkownikom (a nawet bywa znienawidzony), ale ma rzesze swoich wiernych fanów. Sam mem „How to exit Vim?” żyje wiecznie, a to pytanie już całkiem poważnie ma 2.9 miliona(!) wyświetleń na StackOverflow.

Vim podstawy dla początkujących

vim edytor linux konsola

Czym jest Vim?

Vi (od „Visual”) to edytor tekstu, który jest wczesną wersją wizualnego edytora tekstu powstałą w 1976. Vim, czyli powszechnie spotykany  oznacza Vi rozbudowany (Vi iMproved ). Jest to ulepszona implementacja standardu Vi z wieloma dodatkami powstała prawie 20 lat później, bo w 1991. Swoich fanów ma głównie w społeczności Linuxowej.

Vi jest zainstalowane na (chyba) każdej dystrybucji Linuxa (Vim niekoniecznie, czasem trzeba go doinstalować).

Mnie przyjaznym nastwieniem zaraziła moja mentorka Rubyowa, która wszystko kodziła w Vim’ie 😉 Myślisz, że coś Twój edytor kodu ma, czego nie ma Vim?  Wątpię. Sprawdź vimawesome.com. Są osoby, dla których Vim, to jedyny słuszny edytor (Vim Is The Perfect IDE – dev.to)

Odpowiadając od razu – nie, Vim nie jest moim głównym edytorem, natomiast nie dostaję zawału jak muszę z niego korzystać i o tym dzisiaj jest artykuł.

NIE BÓJ SIĘ VIM’a 

Tryby Vi  / Vim

Edytor Vi (jak i Vim) działa w dwóch trybach:

  1. Tryb poleceń (Command mode)
  2. Tryb wstawiania (Insert mode)

Ważne jest zwracanie uwagi, w którym z tych trybów się znajdujemy.

Zazwyczaj edytor Vi uruchamia się w trybie poleceń. W trybie poleceń wprowadzane są polecenia użytkownika dotyczące pliku (edycja, zapis, wyszukiwanie, przesunięcie linii, usuwanie czy kopiowanie itp) i zatwierdzamy je enterem.

By przejść do trybu wstawiania, wystarczy wpisać literę i.

W trybie wstawiania dokonuje się edycji pliku czyli pisania tekstu. Tutaj tekst jest „wstawiany” do pliku.

Aby powrócić z trybu wstawiania do trybu poleceń, użyj klawisza ESC.

Jeśli nie wiesz, w jakim trybie się znajdujesz, naciśnij dwukrotnie klawisz ESC – spowoduje to przejście do trybu poleceń.

Uruchomienie edytora Vi/Vim

Aby uruchomić edytor Vi lub Vim otwórz terminal i wpisz komendę

vi <filename> – by otworzyć edytor Vi

vim <filename> – by otworzyć edytor Vim

Proste?

Po wskazaniu istniejącego pliku, zostanie on otwarty, a podając nową nazwę utworzony zostanie nowy plik.

Polecenia edycji Vi / Vim

Aby wykonywać polecenia edycji w edytorze, musisz znajdować się w trybie poleceń (proste? – patrz wyżej).

Kilka rad przed:

  • Warto wiedzieć, że Vi jak i Vim rozróżniają wielkość liter, więc zwracaj na to uwagę.
  • Na początku ostrożność i czujność – polecenia są zazwyczaj 1-, 2-literowe, literówka może kosztować nas niespodziewaną zmianę.

Poniżej podstawowe polecenia, które można wykorzystać w edytorze Vi/Vim’e.

i – Tryb wstawiania: wpisuje tekst przed kursorem

a – Tryb wstawiania: wpisuje tekst po kursorze

A – Tryb wstawiania:  wpisuje tekst na końcu linii

o – Tryb wstawiania: od nowej linii

ESC – Kończy tryb wstawiania

u – Cofnij ostatnią zmianę

U – Cofnij wszystkie zmiany w linii

D – Usuwa zawartość linii po kursorze (od obecnej pozycji do końca)

dd – Usuwa całą zawartość linii, na której jest kursor

3dd – Usuwa 3 linie

dw – Usuwa słowo

4dw – Usuwa 4 słowa

x – Usuwa znak pod kursorem (w jego aktualnej pozycji)

R – Zastępuje (nadpisuje) znaki od pozycji kursora (do momentu naciśnięcia klawisza ESC )

r – Zastępuje znak

s – Zastępuje 1 znak pod kursorem i dalej kontynuuje wprowadzanie tekstu „normalnie”

S / cc – Zastępuje całą linię i rozpoczyna wprowadzanie tekstu na początku linii

cw – zmień wyraz od miejsca, w którym stoi kursor (jeśli chcesz zastąpić całe słowo, musi stać na początku słowa)

~ – Odwaraca rozmiar znaku (z małych na wielkie i z wielkich na małe litery

Polecenia nawigacji

Oczywiście, po Vim’ie można poruszać się po prostu strzałkami, ale jest jeszcze jedna opcja kjlh.

Poniżej znajdują się polecenia używane do nawigacji w pliku (musisz oczywiście znajdować się w trybie poleceń).

k – w górę

j – w dół

l – prawo

h – lewo

Szybkie skakanie po liniach?

Możecie wykonać np. 2j aby poruszyć się 2 linie w dół, albo 4k, aby przesunąć się 4 linie w górę.

Nawigacja po stronie

Strona rozumiana jako widok wysokość okna terminala. Poniższe polecenia przesuwają widok strony w górę i w dół na podstawie aktualnego rozmiaru ekranu.

ctrl + b – strona wstecz lub „w górę”
ctrl + f – strona do przodu lub „w dół”
ctrl + u – przesuwa stronę o ½ rozmiaru w górę
ctrl + d – przesuwa stronę o ½ rozmiaru w dół

Całkiem przydatne, gdy czytacie coś i potrzebujecie „scrollować” czytaną stronę pliku.

Polecenia zapisu i wyjścia z pliku

To czas na wyjście i zapis (znowu mówimy o poleceniach, więc trzeba być w trybie poleceń – tak tylko przypominam 😏 )

Shift+zz – zapis i wyjście z pliku

:w – zapis bez wyjścia z pliku

:q – wyjście z pliku bez zapisu

:wq – zapis i wyjście z pliku (tego używam, chociaż wiem, że shift + zz jest szybsze)

Nauka Vim’a interaktywnie

Gry, które pomogą wam nauczyć się poleceń vim-owych w przyjazny sposób.

  • vim-adventures.com – zabawna gra, gdzie sterowanie odbywa się poleceniami Vi /Vim
  • vimsnake.com – gra w snake, sterujemy za pomocą komend Vi/ Vim

Strony z ćwiczeniami w przeglądarce, które mają za zadanie utrwalić i rozszerzyć znajomość komend Vim’a a także nauczyć nas szybszego jego używania.

Mam nadzieję, że po tym wprowadzeniu edytory Vi i Vim będą dla was przyjaźniejsze.