Vi to edytor modalny, popularny w
systemach Unix. Napisał go Bill Joy ( urodzony w 1955 amerykański
programista jeden z twórców Sun Microsystems (Sun OS
Solaris Java ) Nazwa wzięła się od słowa visual.
Dziś rzadko używa się czystego vi w codziennej praktyce, został wyparty
przez swoje klony, takie jak Vim, nvi lub elvis, które oferują
znacznie bogatsze możliwości. Nadal jednak pozostaje jednym z
cenniejszych narzędzi administratora ze względu na powszechność
występowania i jednolitość implementacji.
Edytor vi jest edytorem ekranowym, co oznacza, że użytkownik widzi na
ekranie fragment pliku i może się po nim swobodnie poruszać za pomocą
kursorów, dokonywać zmian w tekście i dopisywać nowy tekst.
Edytor vi można uruchomić z argumentem będącym nazwą pliku. Jeżeli taki
plik nie istnieje, to zostanie utworzony nowy. Edytor vi w
przeciwieństwie do prawie wszystkich innych edytorów jest
modalny – w każdej chwili znajduje się w jednym z dwu
trybów pracy, trybie wstawiania lub trybie poleceń.
Bezpośrednio
po uruchomieniu vi znajduje się w trybie poleceń. Przejście do trybu
wstawiania odbywać się może m. in. przez wydanie polecenia i (insert)
lub a (append). Polecenia vi nie wymagają potwierdzenia klawiszem
Enter, wykonywane są natychmiast.
Przejście z trybu wstawiania do trybu poleceń odbywa się przez
naciśnięcie klawisza Esc.
W istocie vi jest edytorem ex działającym w trybie wizualnym, dlatego
wszystkie polecenia edytora ex dostępne są także w vi. Polecenia ex
wydawane w trybie poleceń poprzedzane są dwukropkiem : i wymagają
potwierdzenia klawiszem Enter.
Polecenia:
Polecenia edytora vi składają się z kilku grup.
Polecenia
edycyjne:
a -
wpisywanie tekstu za kursorem
A -
wpisywanie tekstu na końcu aktualnej linii
i -
wstawianie tekstu przed kursorem
I -
wstawianie tekstu na początku aktualnej linii
o -
utworzenie nowej linii poniżej aktualnej
O -
utworzenie nowej linii powyżej aktualnej
R -
zastępowanie tekstu
s -
zastąpienie znaku wskazanego przez kursor
S -
zastąpienie aktualnej linii
c - zmiana
zaznaczonego tekstu
C - zmiana
do końca linii
Polecenia
zmieniające tekst:
x -
skasowanie znaku wskazywanego przez kursor
X -
skasowanie znaku przed kursorem
d -
skasowanie wskazanego tekstu
dd -
skasowanie aktualnej linii
D -
skasowanie tekstu od aktualnej pozycji aż do końca linii
y -
skopiowanie wskazanego tekstu do bufora pomocniczego
Y -
skopiowanie linii tekstu do bufora pomocniczego
p -
wstawienie tekstu za kursorem
P -
wstawienie tekstu przed kursorem
J -
połączenie linii
> -
przesunięcie tekstu w prawo
< -
przesunięcie tekstu w lewo
! -
przetworzenie tekstu przez polecenie systemowe i zastąpienie tego
tekstu przez wyjście tego polecenia
r -
zastąpienie znaku wskazywanego przez kursor
m -
zaznaczenie linii tekstu
u -
anulowanie ostatniej zmiany (ponowne wciśnięcie powoduje ponowne
zastosowanie ostatniej zmiany)
Polecenia
sterujące kursorem:
0 -
przeniesienie kursora na początek linii
^ -
przeniesienie kursora na początek linii
$ -
przeniesienie kursora na koniec linii
h -
przeniesienie kursora w lewo
j -
przeniesienie kursora w dół
k -
przeniesienie kursora w góre
l -
przeniesienie kursora w prawo
^H -
skasowanie znaku przed kursorem (klawisz backspace)
f -
przeniesienie do przodu do podanego znaku
F -
przeniesienie do tyłu do podanego znaku
t -
przeniesienie do przodu przed wskazany znak
T -
przeniesienie do tyłu przed wskazany znak
; -
powtórzenie ostatniego polecenia
f, F, t, T ,
- odwrócenie działania ostatniego polecenia
f, F, t, T |
- ustawienie kursora w podanej kolumnie
% -
odnalezienie pary dla wskazanego nawiasu
B -
ustawienie kursora na początku poprzedniego słowa (słowo = ciąg znaków
bez znaków białych)
W -
ustawienie kursora na początku następnego słowa (słowo = ciąg znaków
bez znaków białych)
H -
przeniesienie kursora na górę ekranu
L -
przeniesienie kursora na dół ekranu spacja - przeniesienie kursora w
prawo
Polecenia
sterujące ekranem:
^F -
przesunięcie okna ekranowego o jeden ekran do przodu
^B -
przesunięcie okna ekranowego o jeden ekran do tyłu
G -
przesunięcie okna ekranowego do podanej linii
/ -
wyszukanie podanego wzorca w przód (po dojściu na koniec pliku
kontynuowanie szukania od początku)
? -
wyszukanie podanego wzorca w tył (po dojściu na początek pliku
kontynuowanie szukania od końca)
^L -
wyczyszczenie i przerysowanie ekranu
^R -
przerysowanie ekranu
Wybrane
polecenia Vi:
:q - wyjście
z edytora pod warunkiem braku zmian od ostatniego zapisu
:q! -
wyjście z edytora bez zapisania pliku
:w -
zapisanie pliku :w nazwa - zapisanie pliku pod nową nazwą
:w! -
zapisanie pliku (z wymuszonym zapisaniem plików tylko do odczytu)
:wq -
wyjście z edytora z zapisaniem pliku
:x -
wyjście z edytora z zapisaniem pliku (bez zapisania przy braku zmian)
:x! -
wyjście z edytora z zapisaniem pliku (bez zapisania przy braku
zmian, z wymuszonym zapisaniem plików tylko do odczytu)
ZZ - wyjście
z edytora z zapisaniem pliku
:e nazwa -
otworzenie pliku do edycji
:help -
wyświetlenie pomocy
Zalety
Vi:
Edytor vi pomimo pozornego anachronizmu nadal jest wykorzystywany
chętnie przez administratorów i programistów.
Jego największe zalety to:
- dostępność praktycznie w każdym systemie uniksowym bez
konieczności
doinstalowywania pakietów czy bibliotek,
- możliwość pracy w
bardzo ubogim środowisku terminalowym - bez grafiki i przy ograniczonym
zestawie znaków,
- możliwość pełnoekranowej edycji plików
nawet przy bardzo wolnym łączu - przez sieć dla każdej edycji
przesyłane jest tylko tyle znaków, ile zostało wpisane, a
odświeżany jest tylko niewielki fragment tekstu, którego dotyczy
edycja
Jeśli masz jakieś pytania możesz zadać je Kliknij tu