ZAKŁAD SYSTEMÓW ROZPROSZONYCH
Politechnika Rzeszowska
SYSTEMY OPERACYJNE
Laboratorium 4
Edytor Vi
1. Operacje na plikach, zakończenie pracy
ZZ lub :x
– wyjście z edytora z zapisaniem dokonanych poprawek do zbioru nazwapliku
:w
– zapisuje zmiany do zbioru nazwapliku
:q!
– wyjście z edytora bez zachowania poprawek
:w nazwa
– zapisuje zawartość bufora edytora do zbioru nazwa
:x,yw nazwa
– zapisuje linie o numerach od x do y do zbioru nazwa
:e nazwa
– ładuje zbiór nazwa do bufora edytora
:e!
– wymazuje dokonane modyfikacje i udostępnia ponownie ten sam zbiór do edycji
:r nazwa
– wczytuje zbiór nazwa za linie bieżącą
2. Przejście do trybu wprowadzania tekstu
i
– tekst wstawiany jest przed bieżącą pozycją kursora
I
– przesuwa kursor do początku linii bieżącej i umozliwia wstawianie tekstu od tej
pozycji
o
– tworzy nową linię poniżej bieżącej i umożliwia wprowadzanie tam tekstu
O
– tworzy nową linię powyżej bieżącej i umożliwia wprowadzenie tam tekstu
a
– umożliwia wprowadzanie tekstu za bieżącą pozycją kursora
A
– przesuwa kursor na koniec linii bieżącej i umożliwia wprowadzanie tekstu od tej pozycji
ESC
– wyjscie z trybu wprowadzania tekstu, powrót do trybu wprowadzania komend
3. Tryb poleceń
W trybie poleceń wykonuje się komendy naciskając opisane niżej klawisze lub sekwencje klawiszy.
Komendy można podzielić na kilka grup:
a) Przesuwanie kursora
0
– przesuwa kursor do pierwszego znaku w linii
$
– przesuwa kursor do ostatniego znaku w linii
b
– przesuwa kursor w lewo o jedno słowo
w
– przesuwa kursor w prawo o jedno słowo
+
– przesuwa kursor do początku następnej linii
&
– przesuwa kursor do początku poprzedniej linii
Enter
– przesuwa kursor do początku następnej linii
j
– przesuwa kursor do następnej linii w tej samej kolumnie
k
– przesuwa kursor do poprzedniej linii w tej samej kolumnie
1G
– przesuwa kursor do początku tekstu
G
– przesuwa kursor do początku ostatniej linii tekstu
nG
– przesuwa kursor do linii o numerze n
{
– przesuwa kursor do początku poprzedniego paragrafu
}
– przesuwa kursor do końca bieżącego, lub następnego paragrafu
CTRL+f
– przesuwa tekst o 1 ekran do przodu
CTRL+b
– przesuwa tekst o 1 ekran do tylu
H
– przesuwa kursor do górnego lewego rogu ekranu
M
– przesuwa kursor do środka ekranu
L
– przesuwa kursor do lewego dolnego rogu ekranu
b) Kasowanie
x
– usuwa 1 znak na bieżącej pozycji kursora
nx
– usuwa n znaków na prawo od bieżącej pozycji kursora
X
– usuwa 1 znak na lewo od bieżącej pozycji kursora
nX
– usuwa n znaków na lewo od bieżącej pozycji kursora
D
– usuwa znaki od bieżącej pozycji kursora do końca linii
dd
– usuwa linie bieżącą
ndd
– usuwa n linii począwszy od linii bieżącej
d0
– usuwa znaki od początku linii bieżącej do pozycji kursora
dH,dM,dL
– usuwa znaki od pozycji kursora odpowiednio do góry, środka i dołu ekranu
dG
– usuwa znaki od linii bieżącej do końca zbioru
d/ abcd Enter
– usuwa znaki od bieżącej pozycji kursora do podanego ciągu znaków abcd
c) Modyfikacje
r x
– zamienia znak na pozycji kursora na znak x
R text ESC
– zamienia znaki od pozycji kursora na wpisywany text (nadpisuje)
s text ESC
– usuwa 1 znak na pozycji kursora i wstawia w to miejsce text
cc text ESC
– zamienia całą linię bieżącą na wpisywany text
C text ESC
– zamienia znaki od pozycji kursora do końca linii na wpisywany text
c abcd Enter
– pozwala zamienić znaki od pozycji kursora do zadanego ciągu znaków abcd i
wprowadzić w to miejsce inny ciąg znaków wpisanych z klawiatury i zakończony
naciśnięciem klawisza ESC
~
– na pozycji kursora zamienia literę małą na dużą i odwrotnie
ddp
– zamienia miejscami linie bieżącą z następną
d) Przeszukiwanie tekstu
/abcd Enter
– szuka (do przodu) ciągu znaków abcd od pozycji kursora do pierwszego
znalezionego ciągu, lub do końca zbioru, a następnie od początku zbioru do linii bieżącej
?abcd Enter
– szuka (od tyłu) jak wyżej
n lub N
– szuka dalej w tym samym kierunku (n), lub w przeciwnym (N)
: x, y s/str1/str2/g
– w liniach od x do y zamienia ciąg znaków str1 na str2
e) Przesuwanie tekstu do bufora tymczasowego
d, dd, lub D
– usuwają tekst do bufora tymczasowego zgodnie z opisem komend
usuwających
yy lub Y
– kopiuje linie bieżącą do bufora tymczasowego
nyy lub nY
– kopiuje n linii do bufora tymczasowego, począwszy od linii bieżącej
f) Odzyskiwanie tekstu z bufora tymczasowego i wstawienie go do zbioru
p
– wstawia tekst z bufora tymczasowego za linię bieżącą
P
– wstawia tekst z bufora tymczasowego przed linię bieżącą
g) Manipulowanie blokami tekstu oznakowanymi markerami
m x
– (x - dowolna mala litera) oznakowuje markerem x miejsce w pliku wskazane kursorem
' x
– powoduje powrót kursora do pozycji oznaczonej markerem x
d' x
– powoduje usunięcie bloku tekstu od linii oznaczonej markerem x do bieżącej pozycji
kursora i przesłanie go do bufora tymczasowego
:' a,' bm.
– kopiuje oznakowane linie od a do b za linię bieżącą
:' a,' bd
– usuwa oznakowane linie od a do b
:' a,' bw nazwapliku
– zapisuje oznakowane linie od a do b do nowego pliku nazwapliku
:' a,w nazwapliku
– zapisuje linie od a do linii bieżącej do nowego pliku nazwapliku
:' a,' bw! nazwapliku
– nadpisuje istniejący zbiór nazwapliku liniami a do b
:' a,' bw>> nazwapliku
– oznakowane linie od a-b dopisuje na koniec zbioru nazwapliku
h) Przyklady operacji na buforach nazwanych
(nazwa buforu poprzedzona jest podwójnym
apostrofem: ").
"a3dd
– usuwa z tekstu trzy linie i przesyła je do bufora o nazwie a
"ayy
– kopiuje linie bieżącą do bufora o nazwie a
"ap
– wstawia zawartość bufora o nazwie a za linię bieżącą
"aP
– wstawia zawartość bufora o nazwie a przed linię bieżącą
i) Inne użyteczne komendy
J
– łączy dwie linie w jedną, tzn. dopisuje następną do linii bieżącej
u
– kasuje ostatnio wprowadzona modyfikacje
.
– powtarza ostatnio wprowadzoną zmianę