edytor vi CP4KY4UAEDKRKDU3I2AQCTPKRQZ2U6SBUUTUDLQ


Edytor VI

Edytor VI cieszy się wśród wielu użytkowników niezasłużoną sławą edytora trudnego, nieporęcznego w użyciu i dysponującego małym zestawem możliwości operowania na tekście. A jednak pomimo tego VI nadal pozostaje standardem w systemie UNIX. Dlaczego ? Składa się na to kilka przyczyn:

  1. VI jest edytorem, który może pracować na każdym typie terminala; nawet na terminalach, które nie umożliwiają realizacji edycji pełnoekranowej - w takim przypadku VI pracuje jako edytor liniowy

  2. VI jest dostarczane wraz z systemem operacyjnym UNIX (LINUX); oznacza to, że na jakimkolwiek sprzęcie UNIX'owym byśmy nie pracowali VI jest zawsze dostępne

  3. w niektórych shell'ach UNIX'a , jak np. w Korn Shell'u (ksh) polecenia VI w trybie liniowym można wykorzystywać do edycji linii poleceń.

  4. niezależność edytora VI od klawiszy funkcyjnych powoduje, że użytkownik nie napotyka na żadne kłopoty jeżeli kiedyś zmuszony będzie korzystać z jakiejś "egzotycznej" klawiatury

  5. wielu użytkowników ceni VI za rozbudowany system wyszukiwania wyrażeń regularnych , makr klawiszowych i buforów tekstu

Organizacja edycji

Edycja tekstu za pomocą edytora VI odbywa się na dwóch płaszczyznach. Płaszczyzna wyższa zwana płaszczyzną komend to ten poziom edycji , na którym znajdujemy się zaraz po uruchomieniu edytora. Na płaszczyźnie tej klawisze literowe mają swoje znaczenia funkcyjne, a nie są po prostu literami. Aby przejść do płaszczyzny niższej zwanej płaszczyzną wprowadzania należy wcisnąć na poziomie komend jedna z liter powodujących przejście do wprowadzania. Klawisze te to a,i,o,O, a ich znaczenie zostanie omówione za moment. Powrót z płaszczyzny wprowadzania na płaszczyznę edycji następuje poprzez wciśnięcie klawisza ESC.

******************** a - append (dopisuje tekst za kursorem)

* * i - insert (dopisuje tekst przed kursorem)

* * o - open (dopisuje tekst w nowej linii

* PŁASZCZYZNA * utworzonej poniżej (O-powyżej) kursora)

* KOMEND * ********************

* * ------> * *

* * * *

******************** <------ * PŁASZCZYZNA *

ESC * WPROWADZANIA *

* *

* *

********************

Dobrym sposobem przetestowania na której płaszczyźnie jesteśmy jest wciśnięcie klawisza ESC. W przypadku gdybyśmy znajdowali się na płaszczyźnie komend rozlegnie się brzęczyk.

Za pomocą VI można edytować jednocześnie wiele plików. Jednakże jednorazowo na ekranie przetwarzany jest tylko jeden. Aby po wywołaniu "VI file1 file2 file3" przejść z edycji pliku file1 do edycji pliku file2 należy z płaszczyzny komend użyć polecenia :n . W przypadku gdy chcemy dołączyć do listy przetwarzanych plików nowy plik używamy komendy :e . Informacje o tym jakie pliki są aktualnie edytowane uzyskamy poprzez komendę :args.

Przenoszenie tekstu pomiędzy plikami odbywa się poprzez bufory robocze (może ich być do 26-ciu).

Szybkie poruszanie się po tekście umożliwiają znaczniki tekstu (w jednym pliku do 20 znaczników).

Często używaną sekwencje klawiszy możemy zdefiniować jako makro klawiszowe. Sekwencji takich w VI może być dowolna ilość.

Podział pliku na zdania, ustępy i sekcje pozwala na bardzo efektywne przetwarzania tekstu.

Przegląd podstawowych poleceń VI dla początkującego użytkownika

WYWOŁANIE VI : VI (ENTER)

OPUSZCZENIE VI:

Z zapamiętaniem zmian ZZ

Bez zapamiętania zmian :q! (ENTER)

ZAPAMIĘTANIE ZMIAN W TRAKCIE EDYCJI: :w (ENTER)

WYKONANIE KOMENDY SHELLA: :!

STRONICOWE PRZEGLĄDANIE EKRANU:

do przodu d

do tyłu u

PORUSZANIE SIĘ PO PLIKU:

w lewo h

w prawo j

do góry k

na doł l

na początek linii 0,^

na koniec linii $

do linii o numerze # #G (np 1G 20G 25G itd..)

DOPISYWANIE TEKSTU:

na prawo od kursora a

na lewo od kursora i

poniżej linii z kursorem o

powyżej linii z kursorem O

KASOWANIE TEKSTU:

pojedynczego znaku x

pojedynczego słowa dw

całej linii dd

do końca linii d$

do początku linii d0

POPRAWIANIE TEKSTU:

pojedynczego znaku r

pojedynczego słowa cw

całej linii cc

ODWOŁYWANIE ZMIAN (UNDO):

odwołanie ostatniego polecenia u

wszystkich poleceń :e!

SZUKANIE ŁAŃCUCHA ZNAKÓW:

do przodu / (ENTER)

do tylu ? (ENTER)

ZNACZNIKI TEKSTU:

postaw znacznik # na bieżącej m# (# = a..m np ma,mb itd.)

pozycji kursora

ustaw kursor na znaczniku # '# (# = a..m np 'a,'b itd.)

ZAPAMIĘTYWANIE TEKSTU DO OBSZARU POMOCNICZEGO (YANK):

pojedynczego słowa yw

całej linii yy

do końca linii y$

DOPISYWANIE TEKSTU Z OBSZARU POMOCNICZEGO (PUT):

po kursorze p

przed kursorem P

WŁĄCZENIE NUMERACJI LINII: :set number

WYŁĄCZENIE NUMERACJI LINII: :set nonumber

WYSZUKANIE I ZAMIANA TEKSTU:

wszystkich wystąpień w linii :s/stary_ciag/nowy_ciag/g

pierwszego wystąpienia w linii :s/stary_ciag/nowy_ciag

wszystkich wystąpień od linii 2 do 9 :2,9s/stary_ciag/nowy_ciag/g

wszystkich wystąpień w pliku :1,$s/stary_ciag/nowy_ciag/g

Składnia komend edytora VI

Składnia ogólna poleceń edytora VI wygląda następująco:

(bufor) (licznik) (operator) obiekt

obiekty:

początek linii 0,^(jeżeli używamy liczników)

koniec linii $

słowo w

linia (nie ma oznaczenia; powtarza się operator)

znacznik # '#

ruchy kursora h,j,k,l

Wywołanie samego obiektu powoduje przestawienie się kursora na ten obiekt, np.: 'a powoduje przesuniecie się kursora na znacznik a, a $ powoduje przejście kursora na koniec bieżącej linii

operatory:

d - kasuj

c - zmień

y - zapamiętaj (yank)

> - przesuń w prawo

< - przesuń w lewo

Dopuszczalne są komendy typu operator / obiekt np.:

d'a - skasuj wszystko od bieżącej pozycji kursora do

znacznika a

yw - zapamiętaj słowo

yy - zapamiętaj aktualna linie

>'a - przesuwa linie od bieżącej pozycji kursora do

znacznika a o znacznika a o jedna tabulacje w prawo

(wielkość tabulacji ustalamy poprzez ":set shiftwidth")

wykorzystanie liczników: W celu wielokrotnego wykonania komendy używa się przed jej oznaczeniem licznika: jak np. w komendach typu licznik / operator / obiekt:

4dw - skasuj 4 słowa

7yy - zapamiętaj 7 linii począwszy od aktualnej

lub w komendach typu licznik / operator:

7h - przesuń kursor o 7 pozycji w lewo

wykorzystanie buforów roboczych: Wyniki niektórych komend można strumieniować do lub pobierać z buforów roboczych. Bufory robocze oznaczane są literami od a do z, a ich wykorzystanie sygnalizuje się znakiem cudzysłowu (").

Na przykład komenda:

"f17yy

powoduje skopiowanie 17 linii do bufora roboczego f, bez ich kasowania, a komenda:

"h6dw

kopiuje do bufora h 6 słów, kasując je z pliku.

Do odtworzenia zawartości tych buforów roboczych w innym miejscu piku, bądź w innym pliku należy użyć odpowiednio:

"fp i "hp ( lub "fP oraz "hP )

Makra klawiszowe

W celu przyspieszenia pisania programów można używać w VI makr klawiszowych. Definiuje się je instrukcją :map.

Składnia instrukcji :map wygląda następująco:

:map

Nazwa makra składa się z maksymalnie 10 znaków. Jeżeli użytkownik wpisze (także na płaszczyźnie wprowadzania !) nazwę makra zostanie ono zastąpione ciągiem komend. Przykład:

W celu przyspieszenia pisania programów w języku C tworzymy makra:

:map! ii if();

:map! ff for(;;);

:map! ww while();

Po wciśnięciu sekwencji ii do pliku zostania zapisany ciąg "if();". UWAGA: Jeżeli ustawimy opcje :set timeout, to nazwę makra musimy wpisać w przeciągu 1 sekundy. W przeciwnym wypadku będzie ona potraktowana jak zwykły napis. Opcja odwrotna jest :set notimeout.

Możemy wszystkie własne makra umieścić w kartotece HOME w pliku .exrc . Wtedy będą one automatycznie rozumiane przez VI zaraz po jego uruchomieniu. Dzięki temu można samemu skonfigurować sobie np. klawisze funkcyjne ( o ile istnieją na klawiaturze ) np.:

:map #2 :w

przypisuje klawiszowi F2 funkcje zapisywania pliku.

4



Wyszukiwarka

Podobne podstrony:
laboratorium nr 4 edytor vi
edytor vi 6XLPVBMBPCGWJ6MPNILIZMUTJXYU5WUFVUEF7PY
Edytor Vi, studia wsiz, semestr 1 2, Systemy operacyjne, SYSTEMY OPERACYJNE, systemy operacyjne LABO
Linux edytor Vi i MC
edytor vi
Edytory vi i Vim Leksykon kieszonkowy
Edytory vi i Vim Leksykon kieszonkowy evivim
Edytory vi i Vim Leksykon kieszonkowy
Edytory vi i Vim Leksykon kieszonkowy 2
Podstawy edytorstwa wykład cz VI, Edytorstwo
Rozdział 16. Edytory tekstu- vi i emacs, Kurs Linuxa, Linux
Edytor tekstu vi Midnight Commander
Podstawy edytorstwa wykład cz VI, Edytorstwo
Edytor tekstu vi
Lekcja kliniczna 2 VI rok WL
Prezentacja VI Bezrobocie
PS VI

więcej podobnych podstron