• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Vi - program

    Przeczytaj także...
    Emacs – rodzina edytorów tekstu, znana ze swojej rozszerzalności. Podręcznik najpopularniejszego wariantu GNU Emacs opisuje go jako „rozszerzalny, dostosowywalny, samodokumentujący się, edytor wyświetlany w czasie rzeczywistym”. Rozwój pierwszych Emacsów rozpoczął się w połowie lat siedemdziesiątych, a prace nad GNU Emacsem, kontynuowane są aktywnie do chwili obecnej (2020). ed to standardowy edytor wierszowy systemu UNIX. ed przyjmuje, że tekst podlegający obróbce podzielony jest na wiersze i pozwala jedynie na modyfikacje wskazanych wierszy tekstu za pomocą poleceń wydawanych programowi w trybie interaktywnym, w podobny sposób jak w wierszu poleceń systemu DOS czy UNIX. Zmusza to użytkownika do operowania numerami wierszy tekstu.
    Unix Time-Sharing System (pisane również jako UNIX, choć nie jest to skrót – nazwa „UNIX” jest kalamburem określenia Multics, który był wzorem dla Uniksa) – system operacyjny rozwijany od 1969 r. w Bell Labs (UNIX System Laboratories, USL) przez Dennisa Ritchie i Kena Thompsona. W latach 70. i 80. zdobył bardzo dużą popularność, co zaowocowało powstaniem wielu odmian i implementacji. Część z nich, w szczególności Linux oraz OS X, jest w użyciu do dziś. UNIX jest zarejestrowanym znakiem towarowym The Open Group.


    vi – edytor modalny, popularny w systemach Unix. Jego autorem jest Bill Joy. Nazwa pochodzi od angielskiego wyrazu visual.

    Układ klawiatury ADM3A, dla której Bill Joy napisał program vi. Klawisz Esc jest łatwo dostępny obok Q.

    Edytor vi w praktyce został wyparty przez klony, takie jak Vim, nvi lub elvis, które oferują bogatsze możliwości. Pozostaje jednym z cennych narzędzi administratora ze względu na powszechność i jednolitość implementacji.

    ex – edytor wierszowy w systemie UNIX. Zasadnicza różnica między tego typu edytorami a współczesnymi wizualnymi edytorami tekstu polega na skupieniu uwagi użytkownika na pracy z pojedynczymi wierszami tekstu, a nie całym tekstem. Innymi słowy – uwypuklony zostaje podział pliku tekstowego na poszczególne wiersze, które mogą być modyfikowane przez użytkownika pojedynczo za pomocą poleceń wydawanych programowi w trybie interaktywnym, w podobny sposób jak w wierszu poleceń systemów DOS lub UNIX.Wojny edytorowe – kłótnie internetowe, dotyczące edytorów tekstu vi i Emacs, będące częścią kultury hakerskiej i ruchu wolnego oprogramowania. Kłótnie te zaowocowały licznymi dowcipami, a nawet piosenkami i grami komputerowymi.

    Edytor vi jest edytorem ekranowym. Użytkownik widzi na ekranie fragment pliku, po którym może swobodnie poruszać się (za pomocą kursorów), może dokonywać zmian tekstu 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.

    Wyraz – pewna wyróżniona fonetycznie, czy też graficznie, część wypowiedzi, składająca się z jednego lub więcej morfemów.Vim według oficjalnej interpretacji oznacza vi improved. Jest to wieloplatformowy klon edytora tekstu vi, napisany przez Brama Moolenaara, holenderskiego programistę. Vim należy do grupy wolnego oprogramowania o otwartym kodzie źródłowym. Pierwsza wersja została wydana w 1991 roku.

    Edytor vi w odróżnieniu od większości 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.

    William N. Joy, powszechnie znany jako Bill Joy (ur. 8 listopada 1954 w Detroit) – programista amerykański, jeden z twórców korporacji Sun Microsystems.Powłoka systemowa (ang. shell) – program komputerowy pełniący rolę pośrednika pomiędzy systemem operacyjnym lub aplikacjami a użytkownikiem, przyjmując jego polecenia i "wyprowadzając" wyniki działania programów. To pośrednictwo nie jest obowiązkowe (programy mogą być bardziej "samodzielne").

    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[ | edytuj kod]

    Polecenia edytora vi składają się z kilku grup.

    elvis – edytor tekstu, klon popularnego w systemach uniksowych vi, poza funkcjonalnością oryginału oferujący także parę nowych funkcji, np. podświetlanie składni czy możliwość używania poprzez interfejs graficzny (tylko na niektórych platformach). Dostępne są wersje działające pod systemami uniksowymi (zarówno w trybie tekstowym jak i pod X Window), MS Windows oraz OS/2. Autorem elvisa, będącego wolnym oprogramowaniem, jest Steve Kirkendall.

    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<liczba>d – skasowanie kilku wierszy określonych liczbą, począwszy 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)
  • . – powtórzenie polecenia
  • 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órę
  • 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
  • :<liczba> – przeniesienie kursora do wiersza wskazanego liczbą
  • 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
  • :xq - wyjście z edytora bez zapisania pliku (alternatywa dla :q!)
  • Przykładowe zestawy poleceń

  • : %s /<ciąg1> /<ciąg2> - Wyszukuje ciąg znaków pasujący do wzorca ciąg1 i zamienia go ciągiem2
  • : %sg /<ciąg1> /<ciąg2> - Wyszukuje ciąg znaków pasujący do wzorca ciąg1 i zamienia go ciągiem2 w całym dokumencie
  • :%s /^V^M / - Usuwa znaki ^M (^V jest znakiem nieinterpretowania znaku ^M)

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

    Zalety vi[ | edytuj kod]

    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.
  • w wielu powłokach po wydaniu polecenia "set -o vi" możliwe jest korzystanie z wiersza poleceń jak z edytora vi. Wciskając klawisz esc przechodzi się do trybu poleceń, w którym możliwe jest sterowanie kursorem i wyszukiwanie w historii.
  • Zobacz też[ | edytuj kod]

  • ed, ex




  • Reklama

    Czas generowania strony: 0.747 sek.