Vi
Vi jest edytorem ekranowym. PamiΩta baardzo dawne czasy. U┐ywane wcze╢niej edytory wierszowe pozwala│y wy╢wietlaµ obrabiany plik po jednym wierszu, vi da│ mo┐liwo╢µ wy╢wietlania ca│ego ekranu tekstu. Wprowadzaj▒c nowy standard pracy, zas│u┐y│ sobie na przydomek "wizualny". W nastΩpnych kilku akapitach przedstawiΩ spos≤b korzystania z vi oraz opiszΩ jego polecenia.
Wersja edytora vi dostarczana z systemem GNU/Linux, to tak zwany vim (vi improved). W stosunku do klasycznego oferuje dodatkowo: wielopoziomowe cofanie ostatnich operacji, pod╢wietlanie sk│adni w ╝r≤d│ach program≤w, rozbudowany system pomocy i wiele innych.
vi mo┐e pracowaµ w jednym z dw≤ch tryb≤w: wprowadzania znak≤w i wydawania polece±. W ka┐dym z nich poszczeg≤lne klawisze maj▒ inne znaczenie. Kilka spo╢r≤d nich s│u┐y do prze│▒czania siΩ miΩdzy trybami. Tryb wprowadzania znak≤w s│u┐y do wpisywania i dopisywania tekstu. Tryb wydawania polece± s│u┐y do usuwania tekstu, przenoszenia i powielania, wyszukiwania tekstu itd. Edytor uruchamia siΩ w trybie wydawania polece±. Tryb wprowadzania znak≤w uaktywnia polecenie i lub a. Tryb wydawania polece± uaktywnia komenda Ecs. Wyj╢cie z programu z zapisem nastΩpuje, gdy wpiszemy ZZ. Aby wyj╢µ bez zapisu, wpisujemy ZQ.
Poni┐ej macie opisane elementarne polecenia.
i - uaktywnia tryb wpisywania znak≤w;
a - uaktywnia tryb dopisywania znak≤w;
Ecs - powraca do trybu wydawania polece±;
K - poprzedni wers;
j - nastΩpny wers;
h - poprzedni znak;
i - nastΩpny znak;
x - usuwa znak pod kursorem;
dd - usuwa bie┐▒cy wiersz;
J - │▒czy bie┐▒cy wiersz z nastΩpnym;
ZZ - wychodzi z programu i zapisuje zmiany;
ZQ - wychodzi z programu bez zapisywania zmian;
Wiadomo╢ci podane powy┐ej wystarcz▒ na korzystanie z vi tylko wtedy, kiedy nie mamy wyboru, lub mamy po prostu napisaµ linijkΩ tekstu. Aby u┐ywaµ vi, w praktyce nale┐y wiedzieµ o nim wiΩcej. Postanowi│em wiΩc szerzej opisaµ ten wspania│y edytor.
Aby na co dzie± wygodnie korzystaµ z programu, nale┐y go najpierw skonfigurowaµ.
W│a╢nie konfiguracj▒ zajmΩ siΩ w tym akapicie. vi mo┐emy konfigurowaµ poprzez wydawanie odpowiednich polece± z obrΩbu programu, wywo│uj▒c go z podaniem opcji lub poprzez plik konfiguracyjny. Najwygodniej jest za│o┐yµ w naszym katalogu domowym oraz w katalogach z r≤┐nymi dokumentami tekstowymi plik konfiguracyjny vi o nazwie .vimrc . W katalogach z plikami tekstowymi mo┐emy umie╢ciµ pliki .vimrc o tre╢ci:
:set tekstwidth=76
:set tabstop=4
:set expandtab
:set autoindent
M≤g│bym tutaj rozpisywaµ siΩ na temat co oznacza ten skrypt, ale napiszΩ tylko, ┐e opcja tekstwidth=76 m≤wi o tym, ┐e wers bΩdzie │amany najdalej za siedemdziesi▒t▒ sz≤st▒ kolumn▒. Opcja tabstop=4 ustala szeroko╢µ tabulacji na cztery kolumny, a opcja expandtab zmienia znaki tabulacji w tek╢cie na odpowiedni▒ liczbΩ znak≤w odstΩpu. Z kolei opcja autoindent powoduje automatyczne wyr≤wnywanie wciΩcia akapitu do wciΩcia pierwszego wersu.
Teraz chcΩ opisaµ ograniczniki. S│u┐▒ one do przemieszczania kursora w tek╢cie od aktualnego po│o┐enia do okre╢lonego miejsca. Stosowane z innymi poleceniami wyznaczaj▒ granicΩ zakresu dzia│ania polecenia (drug▒ granicΩ wyznacza aktualne po│o┐enie kursora). Oto ograniczniki:
gg - pierwszy wers pliku;
nG - n-ty wers pliku;
G - koniec pliku;
CTRL+B - cofniΩcie o okno do ty│u;
CTRL+F - posuniΩcie o okno do przodu;
k - poprzedni wers;
j - nastΩpny wers;
h - poprzedni znak;
i - nastΩpny znak;
- - pocz▒tek poprzedniego wersu;
+ - pocz▒tek nastΩpnego wersu;
O - pocz▒tek bie┐▒cego wersu;
$ - koniec bie┐▒cego wersu;
{ - poprzedni akapit;
} - nastΩpny akapit;
( - poprzednie zdanie;
) - nastΩpne zdanie;
b lub B - poprzednie s│owo;
w lub W - nastΩpne s│owo;
" - poprzednia pozycja;
A teraz czas na znaczniki. Pozwalaj▒ one na przemieszczanie siΩ do oznaczonych nimi miejsc w tek╢cie. Znaczniki maj▒ nazwy jednoliterowe (a-z i A-Z).
mx - wstawia znaczniki;
x - przechodzi do znacznika x;
mm - szybkie wstawianie znacznika;
'm - skos do znacznika mm;
By│y ju┐ znaczniki, konfiguracja, polecenia... czas na powt≤rzenia. Polecenia mo┐na poprzedzaµ wsp≤│czynnikiem liczbowym okre╢laj▒cym ilo╢µ powt≤rze± danego polecenia zadan▒ do wykonania. Np. polecenie 3{ (oznacza "trzy akapity od ty│u"). M≤g│bym tu podawaµ wiele przyk│ad≤w, ale mam nadziejΩ, ┐e napiszΩ ten tekst przez t▒ noc, wiΩc nie bΩdΩ tu siΩ rozpisywa│.
|
Teraz sprawa usuwania, kopiowania i wstawiania fragment≤w tekstu. Poni┐ej podaje polecenia, kt≤re s│u┐▒ do usuwania, przenoszenia i kopiowania fragment≤w tekstu.
X - usuwa znak przed kursorem;
x - usuwa znak pod kursorem;
dd - usuwa bie┐▒cy wiersz;
J - usuwa znak ko±ca linii (│▒czy bie┐▒cy wers z nastΩpnym);
dx - usuwa znaki od kursora do ogranicznika x;
d'x - usuwa znaki od kursora do znacznika x;
yy - kopiuje bie┐▒cy wers do ukrytego bufora;
yx - kopiuje zadany fragment tekstu do ukrytego bufora (od bie┐▒cego po│o┐enia kursora do ogranicznika x);
y'x - kopiuje zadany fragment tekstu do ukrytego bufora (od bie┐▒cego po│o┐enia kursora do znacznika x);
P - wstawia usuniΩty tekst przed kursorem lub przed bie┐▒cym wersem;
p - wstawia usuniΩty tekst za kursorem lub za bie┐▒cym wersem;
Czas na cofanie i przywracanie ostatniej operacji.
u - cofa ostatni▒ operacjΩ;
CTRL+R - przywraca cofniΩt▒ operacjΩ;
To co? Zajmiemy siΩ teraz szukaniem │a±cuch≤w znak≤w? Pewnie, ┐e siΩ zajmiemy.
?abc Enter - szuka │a±cucha abc przed kursorem;
/abc Enter - szuka │a±cucha abc za kursorem;
N - powtarza szukanie do ty│u;
n - powtarza szukanie do przodu;
% - szuka nawiasu do pary;
W poleceniach szukania mo┐emy korzystaµ z wyra┐e± regularnych:
. - dowolny znak;
^ - pocz▒tek wersu;
$ - koniec wersu;
\< - pocz▒tek s│owa;
\> - koniec s│owa
[a-z] - dowolny znak z podanego zakresu;
[A-Z, a-z] - dowolny znak z podanych zakres≤w;
[^a-z] - dowolny znak spoza podanego zakresu;
* - zero lub wiΩcej wyst▒pie± poprzedzaj▒cego znaku;
Poni┐sze polecenia s│u┐▒ do wyszukiwania wers≤w i s│≤w zaczynaj▒cych siΩ lub ko±cz▒cych okre╢lonymi │a±cuchami znak≤w:
/^abc - szuka wers≤w zaczynaj▒cych siΩ literami abc;
/abc$ - szuka s│≤w zaczynaj▒cych siΩ literami abc;
/abc\> szuka s│≤w ko±cz▒cych siΩ literami abc;
Vi mo┐e tak┐e powtarzaµ ostatni▒ operacjΩ.
. - powtarza ostatnie polecenie;
OpiszΩ jeszcze pomoc w vi i ko±czΩ ten tekst, bo ju┐ mi rΩce mdlej▒.
F1 lub :help - wy╢wietla informacje o poleceniach i opcjach edytora;
:help xyz - wy╢wietla informacje o poleceniu xyz;
CTRL+g - wy╢wietla w linii stanu informacjΩ o aktualnej pozycji kursora w pliku i ca│kowitej liczbie wers≤w;
UWAGA: polecenia do obs│ugi systemu pomocy wywo│uj▒ edytor ex - wyj╢cie z trybu pomocy umo┐liwia komenda q i :q . Wraz z edytorem dostajemy podrΩcznik dla pocz▒tkuj▒cych. W celu udoskonalenia umiejΩtno╢ci pracy z programem, warto skorzystaµ z podrΩcznika, uruchamiaj▒c edytor poleceniem: vimtutor . Je╢li dla posiadanej przez Was wersji edytora polecenie to nie chce dzia│aµ, sprawd╝cie po│o┐enie pliku tutor poleceniem: locate tutor | grep vim . Prawdopodobnie znajdziemy ten plik w katalogu
/usr/share/vim/tutor/. Robimy kopiΩ pliku tutor w katalogu domowym i uruchamiamy edytor poleceniem: vi tutor .
Napisa│em o podrΩczniku ze wzglΩdu na to, ┐e rΩce mi ju┐ mdlej▒, jest sz≤sta nad ranem, a przez caluchn▒ noc pisa│em ten tekst i nie mia│em czasu siΩ wyspaµ. »yczΩ mi│ego u┐ytkowania vi, pozdrawiam i idΩ spaµ.
Grzegorz "PaCan" Pacan pacan_ardix@go2.pl
ICQ UIN #124883933 | Linux Register User Number: 218419
BTW. Je╢li macie jakie╢ pytanie to piszcie do mnie, albo do Tilka.
|