Edytor Vi - Politechnika Rzeszowska

Transkrypt

Edytor Vi - Politechnika Rzeszowska
Zakład Systemów Rozproszonych
Politechnika Rzeszowska
Moduł 5: Wybrane programy użytkowe – Edytor Vi
Edytor Vi uruchamiany jest w oknie terminala. Przy jego pomocy możemy dokonywać
następujących operacji:






Tworzenie nowych plików;
Modyfikowanie istniejących plików;
Przeszukiwanie fragmentu tekstu w pliku;
Zmiana fragmentu tekstu na inny;
Przenoszenie lub kopiowanie fragmentu tekstu w pliku;
Usuwanie fragmentu tekstu w pliku.
Edytor ten działa w dwóch trybach pracy:


Tryb wstawiania: w tym trybie litera jest dodawana do tekstu w miejscu wskaźnika;
Tryb poleceń: w tym trybie wydajemy komendy, oraz edytujemy plik (np. litera x
kasuje znaki).
Edytor Vi uruchamia się poleceniem vi:
Rysunek 1. Uruchomienie edytora
Lub wyszczególniając istniejący plik do edycji, albo też nowy do utworzenia:
Rysunek 2. Uruchomienie pliku do edycji, lub tworzenie nowego
Rysunek 3. Okno edytora Vi
Możliwe jest również podanie listy plików do edycji. Po zakończeniu edycji jednego,
uruchomi się edycja kolejnego.
Poniższe komendy są wykonywane w trybie poleceń.
Tabela 1. Opcje edytora Vi
Opcje
/
?
:
!
ZZ
h
j
k
l
nG
w
b
dw
ndw
d^
dd
dG
D
x
nx
nY
p
P
Znaczenie
Wykonuje przeszukiwanie pliku do przodu
Wykonuje przeszukiwanie pliku wstecz
Wykonuje polecenia edytora ex w bieżącym wierszu
Wykonuje powłokę w ramach vi
Zapisuje plik i zamyka edytor
Przesuwa kursor w lewo
Przesuwa kursor w dół
Przesuwa kursor w górę
Przesuwa kursor w prawo
Przesuwa kursor do n-tej linii
Przesuwa kursor to następnego słowa
Przesuwa kursor o jedno słowo wstecz
Usuwa słowo
Usuwa n słów
Usuwa wszystkie słowa do początku linii
Usuwa bieżącą linię
Usuwa wszystkie linie do końca pliku
Usuwa wszystkie słowa do końca linii
Usuwa bieżący znak
Usuwa n znaków w prawo
Szarpie n linii do bufora
Wkleja po prawej stronie kursora
Wkleja po lewej stronie kursora
Oddzielny zestaw poleceń, zwany poleceniami ex, mogą być wprowadzane przy użyciu
dwukropka w połączeniu z jednym z poniższych poleceń.
Tabela 2. polecenia ex
Opcje
:n
:$
:s/a/b/g
:%s/a/b/g
:wq
:q!
Znaczenie
Przesuwa kursor do n-tej linii
Przesuwa kursor na koniec pliku
Zamienia wszystkie wystąpienia fragmentu tekstu a, na tekst b w
bieżącej linii
Zamienia wszystkie wystąpienia fragmentu tekstu a, na tekst b w pliku
Zapisuje plik i zamyka edytor
Zamyka edytor bez zapisywania
Opcje menu takie jak File, Edit, View itp. Są przeznaczone dla terminala, w edytorze Vi nie
działają. Edytor Vi nie posiada takich elementów, wszystko jest obsługiwane za pomocą
klawiatury.
Wprowadzanie tekstu
Domyślnie edytor uruchamia się z włączonym trybem poleceń. Do przełączania między
trybami służy klawisz Esc.
Tabela 3. Opcje wstawiania tekstu
Opcje
i
a
O
o
Znaczenie
Wstawianie tekstu przed kursorem
Wstawianie tekstu za kursorem
Wstawianie tekstu tuż powyżej bieżącej linii, w nowym pustym wierszu
Wstawianie tekstu tuż poniżej bieżącej linii, w nowym pustym wierszu
Rysunek 4. Wprowadzanie tekstu
Poruszanie się w pliku
Ponieważ edytor Vi nie posiada paska przewijania, oraz nie wspiera myszki posiada zestaw
klawisz służących do poruszania się w trybie poleceń.
W systemach Solaris, do poruszania się w pliku można również wykorzystać klawisze
strzałki. Jakby jednak nie działały, opcjonalne sterowanie przedstawia poniższa tabela.
Tabela 4. Opcje poruszania się w pliku
Opcje
Znaczenie
h
j
k
l
w
b
0 (zero)
$
^F
^B
^D
^U
0G
G
W lewo
W dół
W górę
W prawo
Jedno słowo w prawo
Jedno słowo w lewo
Do początku linii
Do końca linii
Strona w przód
Strona wstecz
Połowa strony w dół
Połowa strony w górę
Pierwsza linia pliku
Koniec pliku
Wstawianie innych plików
Wstawianie zawartości innych plików tekstowych odbywa się w trybie poleceń. Aby tego
dokonać wciskamy klawisz „:”. Kursor przechodzi do lewego dolnego rogu terminala.
Poniższy przykład wstawia zawartość pliku wstaw.txt do naszego pliku:
Rysunek 5. Wstawianie zawartości pliku do innego pliku
Rezultat operacji przedstawia poniższy rysunek
Rysunek 6. Wstawianie innych plików
Przeszukiwanie i podmienianie
Operacja przeszukiwania i zmiany ciągu znaków przeprowadzana jest w trybie poleceń,
komendy szukania wprowadzane są po „:” (dwukropku).
Podstawową ideą jest to, że edytor ma:


Przeszukać tekst w celu znalezienia starego wzorca;
Zamian go na nowy;
W edytorze vi służy do tego składnia:
s/stary_wzorzec/nowy_wzorzec/
Jednakże powyższa komenda zamieni tylko pierwszy wzorzec w danej linii.

Aby zmienić wzorzec we wszystkich liniach należy dodać selektor adresu precyzujący
zasięg linii tekstu od pierwszej (1) do ostatniej ($) oddzielając znaki przecinkiem.
Rysunek 7. Przeszukiwanie i podmienianie

W powyższym przykładzie zastąpione zostają tylko pierwsze wystąpienia wzorca w
linii. Aby zastąpić wszystkie wystąpienia we wszystkich liniach należy dodać jeszcze
przyrostek g
Rysunek 8. Zastąpienie wzorca w pliku
Wynikiem operacji jest zamienienie wszystkich wystąpień litery b na literę w.
Rysunek 9. Rozszerzone podmienianie

Jeśli chcemy cofnąć operację wciskamy klawisz u, zaraz po jej wykonaniu.
Zapisywanie plików
Jeśli przy tworzeniu pliku podaliśmy już jego nazwę zapisywanie pliku odbywa się dwoma
sposobami.
Tabela 5. Opcje zapisywania plików
Opcje
:w
:wq
Znaczenie
Zapisuje plik i pozostaje w edytorze
Zapisuje plik i zamyka edytor
Rysunek 10. Zapisywanie plików
ZZ zapisuje plik, jeśli został zmieniony, a następnie zamyka edytor bez potrzeby wpisywania
znaku : (dwukropka).
Jeśli przy otwieraniu wprowadzono więcej plików, wystarczy użyć :w aby zamknąć obecny,
oraz :n, aby przejść do następnego.
Aby wyjść bez zapisywania zmian wpisujemy komendę:
Rysunek 11. Zamknięcie edytora
Jeśli jednak przy otwieraniu edytora nie podaliśmy nazwy, wystarczy ją podać po komendzie
zapisu:
Rysunek 12. Zapisywanie jako...
Zadania do samodzielnego rozwiązania
1. Stwórz plik tekstowy o dowolnej nazwie zawierający kilka linijek tekstu, polecenie
vi nazwa_pliku.txt;
Rysunek 13. Wprowadzony tekst do pliku
2. Pomiędzy trzecią, a czwartą linijką utwórz pusty wiersz i wprowadź przykładowy
tekst;
Rysunek 14. Wprowadzenie nowego wiersza
3. Przejdź na początek linijki i usuń pierwszych 10 znaków, polecenie nx;
Rysunek 15. Wynik polecenia 10x
4. Zapisz plik i wyjdź z edytora, polecenie :wq;
Rysunek 16. Zapisanie pliku i wyjście z edytora
5. Stwórz drugi plik tekstowy o dowolnej nazwie, w treści wpisz swoje dane;
Rysunek 17. Podgląd pliku dane.txt
6. Na koniec pliku wstaw zawartość wcześniej utworzonego pliku tekstowego, polecenie
:r nazwa_pliku.txt;
Rysunek 18. Połączenie obu plików
7. Zapisz plik nie wychodząc z edytora, polecenie :w;
Rysunek 19. Wynik zapisywania pliku
8. Wybierając jedno słowo z utworzonego pliku, zamień wszystkie jego wystąpienia na
inne dowolne słowo, polecenie :1,$s/a/b/g;
Rysunek 20. Efekt podmiany wzorca
9. Zamknij edytor bez zapisywania zmian.
Rysunek 21. Zamknięcie pliku bez zapisu