Co to jest vi?

Autor: Opublikowano

W skrócie: vi to edytor tekstu działający w terminalu, używany przede wszystkim w systemach Unix i Linux. Obsługuje się go poleceniami z klawiatury, a sposób działania klawiszy zależy od wybranego trybu. Aby zacząć pisać, naciśnij i; aby zapisać plik i zakończyć pracę, naciśnij Esc, wpisz :wq i zatwierdź Enterem. Jeśli chcesz wyjść bez zapisywania zmian, użyj Esc, a następnie :q! i Enter.

Do czego służy vi?

vi służy do edycji zwykłych plików tekstowych: konfiguracji programów, skryptów, kodu źródłowego czy notatek. Nie jest edytorem dokumentów takim jak Word — nie służy do ustawiania krojów pisma, układu stron ani osadzania ilustracji. Operuje na treści pliku, bez dodatkowego formatowania dokumentu.

Przydaje się szczególnie podczas pracy na serwerze przez SSH, czyli szyfrowane połączenie z innym komputerem. Gdy masz dostęp wyłącznie do terminala, możesz poprawić plik bez uruchamiania pulpitu graficznego i bez pobierania go na swój komputer.

Edytor vi lub zgodny z nim zamiennik jest dostępny w wielu środowiskach uniksowych. Nie należy jednak zakładać, że znajdziesz go w każdej instalacji: minimalny obraz systemu lub kontenera może nie zawierać żadnego edytora.

Dlaczego vi ma różne tryby pracy?

W typowym edytorze naciśnięcie litery od razu dodaje ją do tekstu. W vi po otwarciu pliku zwykle jesteś w trybie normalnym, nazywanym też trybem poleceń. Litery służą wtedy do poruszania się po pliku, usuwania tekstu lub uruchamiania innych operacji.

Do rozpoczęcia pracy wystarczy rozróżniać trzy sposoby obsługi:

Ten podział wyjaśnia częste zaskoczenie początkujących: naciskają litery, ale zamiast pisać, przesuwają kursor lub zmieniają istniejący tekst. Jeżeli nie wiesz, w jakim trybie jesteś, naciśnij Esc. Dopiero potem wybierz kolejną czynność.

Pierwsza edycja pliku krok po kroku

Najbezpieczniej przećwiczyć obsługę na nowym pliku, a nie na konfiguracji działającej usługi. W terminalu uruchom:

vi notatka.txt

Jeśli plik istnieje, edytor otworzy jego zawartość. Jeśli nie istnieje, przygotuje nowy dokument w pamięci; plik zostanie utworzony na dysku dopiero po skutecznym zapisie.

  1. Naciśnij i, aby przejść do wstawiania.
  2. Wpisz zdanie, np. To jest moja pierwsza notatka.
  3. Naciśnij Esc, aby zakończyć wpisywanie tekstu.
  4. Wpisz :wq i naciśnij Enter.

Po zapisaniu pliku i zamknięciu edytora wrócisz do powłoki, czyli programu przyjmującego polecenia w terminalu. Możesz ponownie uruchomić vi notatka.txt, aby sprawdzić treść.

Gdy chcesz zapisać pracę, ale nadal edytować, użyj :w. Samo :q zamyka edytor, o ile nie ma niezapisanych zmian wymagających decyzji. Polecenie :q! porzuca niezapisane zmiany — nie usuwa istniejącego pliku z dysku.

Podstawowe polecenia, które ułatwiają pracę

Poniższe polecenia wykonuj w trybie normalnym. Dwukropek i ukośnik rozpoczynają wpisywanie polecenia, które zatwierdzasz Enterem; pozostałe skróty działają bez tego zatwierdzenia.

PolecenieDziałanie
h, j, k, lRuch odpowiednio w lewo, w dół, w górę i w prawo
0Przejście na początek wiersza
$Przejście na koniec wiersza
xUsunięcie znaku pod kursorem
ddUsunięcie bieżącego wiersza
uCofnięcie ostatniej zmiany
/szukany tekstWyszukanie tekstu w kierunku końca pliku
nPowtórzenie wyszukiwania w tym samym kierunku
:25Przejście do wiersza numer 25

Przykładowo, aby znaleźć ustawienie timeout, naciśnij Esc, wpisz /timeout i zatwierdź Enterem. Klawisz n pozwoli przejść do kolejnego wystąpienia. To wygodniejsze niż ręczne przeglądanie długiej konfiguracji.

Czy vi i Vim to ten sam program?

Nie. Vim, którego nazwa rozwija się jako Vi IMproved, jest odrębnym edytorem rozwijającym sposób obsługi vi. Oferuje dodatkowe możliwości, takie jak rozbudowane podświetlanie składni, wtyczki czy wielopoziomowe cofanie zmian.

W niektórych systemach polecenie vi uruchamia właśnie Vima albo inny zgodny edytor. Dlatego wygląd ekranu i dostępne rozszerzenia mogą się różnić. Opisane podstawowe polecenia należą do wspólnego sposobu pracy, ale nie każdy poradnik do Vima będzie w całości pasował do klasycznego vi.

Przed edycją ważnej konfiguracji zrób jej kopię. Jeśli zapis kończy się błędem uprawnień, samo dodanie ! nie nada Ci praw do pliku. Zacznij od ćwiczenia na własnej notatce, a po zmianie konfiguracji sprawdź ją narzędziem walidacyjnym danej usługi, jeśli takie udostępnia.

Zobacz też: Co to jest GitLab?

Przeczytaj także

Dowiedz się, jak PHP-FPM obsługuje żądania PHP, czym różni się od serwera WWW i jak dobrać ustawienia procesów do ruchu oraz zasobów hostingu.
Poznaj BIND, otwarte oprogramowanie serwera DNS: sprawdź, jak obsługuje domeny, czym różnią się jego role i kiedy warto samodzielnie go wdrożyć.
Poznaj najważniejsze Security Headers, ich rolę w ochronie strony oraz sposób sprawdzania i wdrażania nagłówków bez blokowania potrzebnych funkcji.