Vi (program)

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire

vi to edytor modalny, popularny w systemach Unix. Jego autorem jest Bill Joy. 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.

Spis treści

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 ex:

  • :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

vi i jego pochodne posiadają wystarczającą liczbę zwolenników do powstania tak zwanej wojny edytorowej między nimi a zwolennikami Emacsa.

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.

Zobacz też

Linki zewnętrzne

[1] vi command reference

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net