Edytor vi

W tym rozdziale znajdziesz krótkie wprowadzenie do vi oraz przegląd poleceń. Ten edytor jest praktycznie zawsze do dyspozycji w systemach uniksowych, jednak bez stale dostępnego podręcznika może doprowadzić użytkownika do szału.

W tym rozdziale znajdziesz krótkie wprowadzenie do vi oraz przegląd poleceń. Ten edytor jest praktycznie zawsze do dyspozycji w systemach uniksowych, jednak bez stale dostępnego podręcznika może doprowadzić użytkownika do szału.

Szybki kurs pracy z edytorem vi

Szczególnie w codziennej pracy z plikami tekstowymi, jak skrypty czy pliki inicjacyjne, potrzebny jest wydajny edytor tekstowy. Edytor vi w systemie UNIX , czy też vim (vi improved) w Linuksie to właśnie takie narzędzie, które wchodzi w skład każdej dystrybucji.

Obsługa vim początkującym wydaje się na pierwszy rzut oka bardzo skomplikowana. W rzeczywistości wystarczy opanować kilka poleceń, aby szybko i efektywnie uzyskać pierwsze efekty.

Poniżej przedstawiamy najważniejsze przełączniki i polecenia, które umożliwiają natychmiastowe rozpoczęcie pracy. Na marginesie, w najnowszych dystrybucjach polecenie vi to tylko alias dla vim. Dlatego nie ma znaczenia, czy użyjesz polecenia vi, czy też vim.

Pierwsze kroki

Rozbudowany edytor G(VIM) - standard w "skryptologii stosowanej" i nie tylko.

Rozbudowany edytor G(VIM) - standard w "skryptologii stosowanej" i nie tylko.

Zanim jednak zaczniesz pracę, musisz zrozumieć sposób działania vim. Edytor posiada trzy tryby pracy, z których każdy służy do realizacji innych celów: pierwszy to tryb poleceń, w którym nie jest możliwe wpisywanie tekstu. Drugi to tryb wstawiania, w którym można właśnie wpisywać tekst. Trzeci to tryb wiersza poleceń, w którym możesz wysłać do edytora jednowierszowe polecenia. Naciskając klawisz [Esc] wracasz zawsze do trybu poleceń. Także podczas uruchamiania edytor otwiera się domyślnie w trybie poleceń.

Poleceniem vi <nazwa_pliku> otwierasz plik do edycji. Nie uda ci się jednak zakończyć jego pracy zwykłym poleceniem lub kombinacją klawiszy; ani [Ctrl]+c, ani [Ctrl]+x, ani żadna inna popularna kombinacja klawiszy nie są w stanie zmusić go do zakończenia pracy. Jeżeli nie wprowadzałeś żadnych zmian w pliku, wystarczy :q+[Enter]. (dwukropek, q i [Enter]; q to w tym przypadku quit).

Naciskając klawisz i (insert) przechodzisz z trybu poleceń do trybu wstawiania. Możesz teraz pisać, jak w każdym innym edytorze. Zmiany możesz anulować, przechodząc do trybu poleceń i naciskając klawisz u (undo). Polecenie redo (ponów) to [Ctrl]+r. Polecenie zapisu ma postać :w+[Enter]. Z kolei :q!+[Enter] zmyka plik bez zapisywania zmian. Zamknięcie pliku z zapisem zmian to :wq (write quit). Wiele rozkazów to po prostu pierwsze litery żądanych działań.

Pamietaj, że vim rozróżnia małe i wielkie litery. Jeżeli w trybie wstawiania naciśniesz i, vim umieści tekst przed kursorem. Gdy naciśniesz I, vim wstawi tekst na początku wiersza.

Małe polecenia, duży efekt

Edytor vim to nie tylko głupie "narzędzie do wstawiania literek", ale edytor o całkiem pokaźnych możliwościach. Za pomocą prostych poleceń możesz zmieniać całe bloki tekstu w jednym kroku, bez potrzeby ich wyboru i zaznaczania, a dopiero potem edycji - jak w edytorach WYSIWYG.

Usunięcie bieżącego wiersza w trybie poleceń to dd. Jeżeli chcesz usunąć na raz 10 wierszy, wpisz po prostu d10d. Wiersze 23 - 54 wyślesz do cyfrowego kosza poleceniem :23,54d+[Enter].

Podobnie do usuwania działa kopiowanie. yy kopiuje bieżący wiersz, a p wstawia go poniżej kursora. Kopiowanie 20 wierszy jest podobne do ich usuwania - wydaj polecenie y20y.

Zwolennicy pracy w wierszu poleceń chętnie korzystają z tak zwanych "wyrażeń regularnych". Po wydaniu polecenia /hello+[Enter] edytor szuka wyrażenia hello w przód od kursora. Do następnego wyrażenia hello dojdziesz, naciskając klawisz n (next). Jeżeli chcesz szukać do tyłu, zastąp po prostu (/) znakiem zapytania (?), czyli wpisz ?hello+[Enter].

Także wyszukiwanie i zastępowanie to proste polecenia. Dla przykładu, :%s/hello/hi/+[Enter] zastępuje w całym dokumencie słowo hello słowem hi. Jeżeli chcesz zastąpić wyrażenie tylko w określonym fragmencie tekstu, na przykład między wierszami 2 - 15, wpisz :2,15s/<wyrażenie1>/<wyrażenie2>/+[Enter].

Funkcje dla programistów

vim dysponuje dodatkowymi możliwościami przydatnymi dla programistów. Obsługuje na przykład podświetlanie składni i numerowanie wierszy. :set syntax on+[Enter] względnie :set syntax off+[Enter] włącza lub wyłącza podświetlenia. Aby podświetlenie było dokładnie odwzorowane, zwróć uwagę na właściwe rozszerzenie nazwy pliku. Dla przykładu, podświetlenia w dokumencie Perl będą prawidłowo przedstawiane tylko wtedy, gdy nazwa pliku kończy się na .pl.

Numerowanie wierszy włączysz poleceniem :set number, zaś wyłączysz poleceniem :set nonumber. Jeżeli chcesz przejść do wiersza o określonym numerze, wystarczy polecenie :wiersz+[Enter] (na przykład :12+[Enter]). Funkcja porównywania jest szczególnie przydatna podczas kontroli wersji. W edytorze vim odpowiada za nią przełącznik -d. Wywołanie ma postać vi -d plik1 plik2.

vim otwiera dwa pliki i pokazuje różnice. Edytor rozpoznaje, czy wiersze różnią się całkowicie, czy też tylko punktowo. Różnice są zaznaczone kolorami.

Podsumowanie

Przyznajemy, że płynna praca z edytorem vim wymaga praktyki i nabycia pewnych przyzwyczajeń. Jeżeli jednak często z niego korzystasz i zapamiętałeś najważniejsze kombinacje klawiszy, z pewnością nie będziesz chciał z niego zrezygnować, szczególnie do edycji plików tekstowych.

Edytor vi/vim jest obecny nie tylko w świecie Linuksa i UNIX-a. Pod adresem http://www.vim.org znajdziesz wersje dla niemal wszystkich popularnych systemów operacyjnych, jak Windows, Mac OS, OS/2, AmigaOS, BSD i OpenVMS. Istnieją wersje nawet dla urządzeń przenośnych z systemami Sharp Zaurus, HP Jornada i Windows CE.


Zobacz również