Unix - edytory
'tedd' T. K dzierski
str. 1/1 (ost. akt.: 14-02-05)
Wymagania.we: przerobione
Pliki i kartoteki
vi - Visual edytor
vi jest standardowym edytorem tekstu w systemie Unix. Pozwala na tworzenie i edycj plików tekstowych. Jest jednocze nie jednym ze "straszaków", jakimi w
Unixie zwykło si "torturowa " u ytkowników innych systemów operacyjnych. Do cz sto zdarzało mi si obserwowa przera enie na twarzy u ytkownika,
który zacz ł edycj za pomoc vi, wpisał co do pliku a potem zobaczył na ekran - te resztki które zostały z pliku zwykle znacznie ró niły si od tego "co
u ytkownik miał na my li"... Powód takiego działania jest zwykle do prosty -
vi zaczyna prac
w trybie klawiszowym
- a w tym trybie ka dy naci ni ty
przez u ytkownika klawisz jest
komend
wykonywanym przez
vi a nie znakiem dopisywanym do pliku... Dlaczego w takim razie powinni my si nauczy
przynajmniej elementarnego sposobu u ywania
vi:
•
bardzo cz sto vi jest uruchamiany automatycznie - jest zwykle standardowym edytorem Unixa. Pisz c kolejny list, u ywaj c niektórych z komend
systemowych - mo emy 'znale si ' w
vi nawet wtedy, kiedy 'jawnie' go nie wywołali my
•
vi jest naprawd 'mocnym' edytorem - mo na za jego pomoc dokona zaawansowanych edycji plików tekstowych - je eli tylko panujemy nad tym
edytorem...
•
vi niczego sam nie zmienia w edytowanym pliku. Inne edytory próbuj np. czasem minimalizowa wielko pliku, zmieniaj c grup spacji w znak tabulacji,
formatuj edytowany tekst - w przypadku plików konfiguracyjnych mo e to by 'gro ne' - taka modyfikacja pliku - na przykład definiuj cego DNS - mo e
spowodowa , e nasz serwer DNSu przestanie działa prawidłowo.
Unix - edytory
'tedd' T. K dzierski
str. 2/2 (ost. akt.: 14-02-05)
uruchomienie:
vi [parametry] wzornik
vi zostanie uruchomiony - pierwszy z plików których nazwy s zgodne z
wzornikiem
zostanie wczytany do edycji. Zanim omówimy zasady działania
vi
-
najcz ciej u ywane parametry wywołania
vi:
-r plik je eli nast piła awaria komputera podczas poprawiania przez vi jakiego pliku mo emy - po ponownym uruchomieniu Unixa odzyska
ten plik uruchamiaj c vi z parametrem r nazwa_pliku poprawianego podczas awarii
-R
wczytaj pliki o nazwach zgodnych z wzornikiem w trybie read only - to zabezpiecza nas przed przypadkow zmian zawarto ci tych
plików
vi mo e pracowa w jednym z 3 stanów:
tryb klawiszowy - w tym trybie ka dy klawisz na klawiaturze powoduje wykonanie jakiej akcji na edytowanym pliku
tryb edycji tekstu - po wykonaniu (w trybie klawiszowym) komendy inicjuj cej wpisywanie tekstu - przechodzimy do trybu edycji tekstu. W tym trybie tekst
wpisywany z klawiatury jest wstawiany do edytowanego pliku - a do naci ni cia klawisza
Esc - co spowoduje powrót do trybu klawiszowego
tryb komend liniowych - je eli w trybie klawiszowym naci niemy : (dwukropek) - przechodzimy do trybu komend liniowych. W ostatniej linii na ekranie
pojawia si
: po którym mo emy wpisa komend 'liniow '. Komenda taka działa zwykle na grupie linii. Po jej wykonaniu vi wraca automatycznie do trybu
klawiszowego
Unix - edytory
'tedd' T. K dzierski
str. 3/3 (ost. akt.: 14-02-05)
tryb komend
klawiszowych
tryb edycji
tekstu
tryb komend
liniowych
i, A
Esc
:
q, q!, x
Uwaga!!! Najcz ciej popełnianym bł dem jest próba wpisywania tekstu w trybie klawiszowym bez wcze niejszego wykonania komendy
inicjuj cej wpisywanie tekstu. Powoduje to interpretowanie przez vi ka dego naci ni tego klawisza jako komendy vi - mo e do doprowadzi
do du ych 'zniszcze ' w edytowanym tek cie.
Zmiana trybów pracy:
•
po uruchomieniu
vi przechodzi w tryb komend klawiszowych - ka de naci niecie klawisza na klawiaturze powoduje wykonanie komendy, zwi zanej z
tym klawiszem
•
z
trybu klawiszowego, po naci ni ciu : przechodzimy do trybu komend liniowych. Mo emy wpisa komend - po naci ni ciu klawisza
Enter
vi
wykonuje komend i wraca do trybu klawiszowego
Unix - edytory
'tedd' T. K dzierski
str. 4/4 (ost. akt.: 14-02-05)
•
je eli w
trybie klawiszowym wykonamy komend wstawiaj c tekst - przechodzimy do trybu edycji tekstu. W tym trybie znaki wpisywane z klawiatury
s wstawiane do edytowanego pliku. Naci ni cie klawisza ESC powoduje powrót do trybu klawiszowego - zako czenie wstawiania tekstu
•
je eli pracuj c w
trybie liniowym wykonamy komend ko cz c prac vi (q - zako cz, nie zmieniaj pliku, x - zako cz, zapisz zmieniony plik) - wrócimy
do Unixa
Wybrane komendy trybu klawiszowego
powoduj ce przej cie do trybu wpisywania tekstu:
a
wpisuj tekst za kursorem
i
wpisuj tekst przed kursorem
A
wpisuj tekst na ko cu linii
I
wpisuj tekst na pocz tku linii
S
zast p cał bie c lini wpisywanym tekstem
C
zast p znaki od poło enia kursora do ko ca linii wpisywanym tekstem
Wpisywany tekst mo e by wieloliniowy. Ko czymy wpisywanie tekstu naciskaj c klawisz Esc - wracamy do trybu klawiszowego.
Wybrane komendy trybu klawiszowego
:
dd
skasuj cał lini w której znajduje si kursor
x
skasuj znak za kursorem
X
skasuj znak przed kursorem
Unix - edytory
'tedd' T. K dzierski
str. 5/5 (ost. akt.: 14-02-05)
J
poł cz bie c i nast pn lini w jedn lini
u
anuluj ostatni zmian ('
undo
')
Y
anuluj wszystkie zmiany w bie cej linii
.
powtarzaj ostatnie polecenie zmieniaj ce tekst
Komendy zmiany pozycji (tryb klawiszowy):
←
←
←
←→
→
→
→
znak w lewo, znak w prawo
↑↑↑↑↓↓↓↓
linia w gór , linia w dół
0
przejd na pocz tek bie cej linii
$
przejd na koniec bie cej linii
fc
skocz wprzód do znaku
c
Fc
skocz w tył do znaku
c
w
skocz do pocz tku nast pnego słowa
b
skocz do pocz tku poprzedniego słowa
H
przejd na gór ekranu
M
przejd na rodek ekranu
L
przejd na dół ekranu
^F
przesu o ekran w przód
Unix - edytory
'tedd' T. K dzierski
str. 6/6 (ost. akt.: 14-02-05)
^B
przesu o ekran w tył
^R
przerysuj ekran
zapis ^F oznacza jednoczesne naci ni cie klawisza Ctrl i klawisza F.
Kopiowanie i przenoszenie tekstu (tryb klawiszowy):
Wszystkie komendy skre laj ce lub kopiuj ce tekst wpisuj ten tekst do wewn trznego bufora vi. Tekst ten mo e by potem wielokrotnie wstawiany w ró ne miejsca pliku.
Ni ej wymienione komendy równie działaj na buforze vi:
m
zaznacz bie c lini
y
skopiuj zaznaczony tekst do bufora vi
p
wstaw tekst z bufora vi za kursorem
P
wstaw tekst z bufora vi przed kursorem
Wybrane komendy trybu liniowego
:
/wzornik
wyszukaj tekst zgodny z wzornikiem, przesu tam kursor
/
wyszukaj nast pne wyst pienie ostatnio u ytego wzornika
s/t
old
/t
new
/
zamie tekst t
old
na t
new
Unix - edytory
'tedd' T. K dzierski
str. 7/7 (ost. akt.: 14-02-05)
w
zapisz bie cy plik na dysk
w
fname
zapisz bie co poprawiany tekst na plik
fname
r
fname
wczytaj zawarto pliku
fname
i wstaw go za kursorem
number
przejd do linii numer
number
n
zako cz poprawianie bie cego pliku, zacznij poprawia nast pny plik, którego nazwa pasuje do
wzornika
z linii komendy uruchamiaj cej vi
q
zako cz prac vi - je eli zmienili my zawarto pliku vi nie pozwoli nam zako czy pracy
q!
zako cz prac z vi nie zapisuj c zmienionego pliku na dysk
x
zapisz edytowany plik na dysk i zako cz prac z vi
Komendy s i w standardowo przeszukuj i zapisuj cały plik. Je eli poprzedzimy je dwoma numerami linii oddzielonymi przecinkiem - b d działa tylko na tych liniach.
Jako numery linii mo na u y liczb całkowitych lub konstrukcji postaci:
-
liczba
linia o
liczba
linii wcze niej ni bie ca
+
liczba
linia o
liczba
linii pó niej ni bie ca
.
bie ca linia. Komenda
.=
wpisana w trybie komend liniowych wy wietli numer bie cej linii
$
ostatnia linia pliku. Komenda
=$
wpisana w trybie komend liniowych wy wietli ilo linii w pliku
Unix - edytory
'tedd' T. K dzierski
str. 8/8 (ost. akt.: 14-02-05)
Przykłady:
1,20s/ala/ola/
zamie ka de wyst pienie tekstu ala na ola w liniach od 1 do 20
.+5,$-10w part1
wpisz na plik part1 cz
bie
co poprawianego pliku - od linii o 5 dalej ni bie
ca do linii o 10 mniej ni ostatnia
linia w pliku
U ywaj c vi stwórz we własnej kartotece plik zawieraj cy podanie o podwy k . Najpierw stwórz i zapisz plik zawieraj cy nagłówek takiego podania i zapisz
go na dysk ko cz c prac z vi. Nast pnie u yj ponownie vi aby dopisa do pliku uzasadnienie podwy ki. Mo esz napisa podanie o obni enie zarobków...
Od kiedy ucz tylko jedna studentka napisała takie przykładowe podanie - do dzi nie wiem dlaczego...
Pełny opis komend vi (po angielsku) mo na znale tutaj:
VI.REF
joe - edytor 'dla ludzi'
Unix - edytory
'tedd' T. K dzierski
str. 9/9 (ost. akt.: 14-02-05)
Sam - ( rednio) znaj c vi, u ywaj c go do edycji plików konfiguracyjnych, potrzebuj czasami edytora bardziej 'dostosowanego' do zapisywania skryptów i programów. Prawie
w ka dej wersji Unixa mo na znale joe - edytor na laduj cy wi kszo "Borlando podobnych" edytorów (z Turbo C, Turbo Pascala, Borland C++, itp.). Mo e si jednak
okaza , e ten edytor musimy dodatkowo doinstalowa do naszej wersji Unixa.
Powy ej - zrzut ekranu z sesji joe. Program - dla kogo kto u ywał któregokolwiek z wspomnianych wcze niej edytorów powinien nie wymaga adnego komentarza
dotycz cego sposobu jego u ycia. Podobnie jak man w Unixie - jedyn komend joe jak zawsze powinni my pami ta jest komenda
^KH
. Komenda ta działa jak przeł cznik
- je eli ' ci ga' z podstawowych komend, wy wietlana w nagłówku ekranu, nie jest bie co wy wietlona - komenda
^KH
wy wietli j . Je eli ta podpowied jest wy wietlnoa - po
komendzie
^KH
zostanie usuni ta z ekranu.
Wielko liter wprowadzanych jako komendy nie ma w joe znaczenia - komendy
^KH
i
^kh
działaj tak samo.
Unix - edytory
'tedd' T. K dzierski
str. 10/10 (ost. akt.: 14-02-05)
U ywaj c
joe
powtórz te same operacje jakie wykonałe za pomoc
vi
.
Nast pny rozdział:
srodowisko_uzytkownika.doc