Edytor vi

 

Edytor vi jest podstawowym narzędziem do zarządzania zawartością plików w systemie UNIX. Mimo upływu lat i powstaniu podobnych narzędzi jest on nadal popularny przede wszystkim ze względu na dostępność.

 

Aby rozpocząć sesje edytora vi należy w linii poleceń wpisać:

 

vi plik

 

Jeśli plik istnieje vi otworzy go do edycji, w przeciwnym razie zaczniemy pracę nad nowym plikiem. Komendy:

vi +n plik

vi +/wzorzec plik

otwierają plik do edycji odpowiednio na linii “n” lub pierwszej pasującej do wzorca.

 

Przykład:

Otwarcie pliku konfiguracyjnego programu do obsługi poczty elektronicznej “pine” i ustawienie kursor na pierwszej linii, w której występuje tekst “personal” (w tym przypadku ustawia się w linii definiującej imię i nazwisko użytkownika).

 

vi +/personal ~/.pinerc

 

Standardowo po otwarciu pliku znajdujemy się w trybie poleceń. Możemy teraz wpisać jedno z poleceń edycyjnych, przesunąć kursor na inną pozycję, przejść do trybu edycji lub zakończyć działanie programu zapisując lub odrzucić zmiany w pliku. Aby przejść do edycji pliku możemy skorzystać z jednego z poleceń:

i           wstawianie przed kursorem,

a          wstawianie za kursorem,

I           wstawianie na początku linii

A         dodawanie na końcu linii,

R         rozpoczęcie nadpisywania tekstu,

O         otworzenie linii poniżej obecnej,

O         otworzenie linii powyżej obecnej,

 

Po dokonaniu zmian w tekście możemy powrócić do trybu poleceń za pomocą klawisza ESCAPE. (Esc). Polecenia edytora vi w trybie poleceń maja postać:

[n] operator [m] obiekt

gdzie “n” oraz “m” oznaczają liczbę wykonywanych operacji lub liczbę obiektów, na których wykonywana jest operacja, w przypadku podania obu wartości wynikiem jest n x m. Operatorem może być: c – zmiana, d – usuwanie, y – kopiowanie, natomiast  obiekt to: w - słowo, ) zdanie, } - paragraf, ] -sekcja. Jeśli obiektem jest dana linia, to operator występuje podwójnie (cc, yy, dd).

Aby wstawić skopiowany tekst należy użyć komendy “p” (wstawienie bloku za kursorem) lub “P” (wstawienie bloku przed kursorem).

 

Przykłady:

 

Zmiana następnego słowa

 

cw

 

Kasowanie dwóch kolejnych zdań

 

2d)

 

Kopiowanie całego paragrafu

y}

 

Kopiowanie 10 kolejnych linii

 

10yy

 

W trybie poleceń można również wprowadzać polecenia do wyszukiwania danego wzorca: / do końca tekstu, ? do początku. Przykładowo jeśli chcemy znaleźć tekst, który zawiera “usr” można skorzystać z polecenia:

/usr

Po wpisaniu wzorca zatwierdzamy komendę za pomocą klawisza ENTER. Jeśli tylko taki tekst zostanie znaleziony w pliku (od miejsca, które aktualnie zajmuje kursor aż do końca pliku) kursor zostanie przeniesiony na miejsce jego występowania. W celu znalezienia kolejnego pasującego wyraz wystarczy wcisnąć klawisz “n” (poprzednie wystąpienie “N”). 

Niezwykle praktycznym poleceniem jest “%”, które znajduje parę dla obecnego nawiasu zawierającego dany tekst.

Poruszanie się po tekście w trybie poleceń umożliwiają klawisze strzałek, a także odpowiadające im: h, j, k, l oraz spacja (ruch w prawo). Ponadto można korzystać z dodatkowych skrótów, które pozwalają nieco sprawniej przesuwać się:

0, $ - pierwsza lub ostatnia pozycja obecnej linii,

ENTER – pierwszy znak następnej linii,

w, b -  w przód lub w tył o jedno słowo,

), ( - w początek następnego lub bieżącego zdania,

},{ - początek następnego lub bieżącego paragrafu,

]], [[ - początek następnej lub bieżącej sekcji,

 

W celu zapisania zawartości pliku można użyć jednego z poleceń:

:w

:x  - kończy pracę z vi i zapisuje tylko wtedy, gdy zostały dokonane zmiany,

:wq – zapisuje plik i kończy pracę,

 

W przypadku, gdy chcemy odrzucić wszystkie zmiany dokonane od ostatniej aktualizacji należy użyć polecenia “:q!”.

 

Ćwiczenia

·        Przy pomocy edytora vi utworzyć plik tekstowy zawierający imię i nazwisko.

·        Następnie otworzyć powyższy plik w trybie edycji danych i w nowej linii dopisać własny adres.

·        Przy pomocy poznanych komend edytora vi należy powielić zapisane informacje trzy razy.

Strona poprzednia        Strona następna