Rozdział 16 Vi

Spis treści
16.1 Uruchamianie vi
16.2 Tryby
16.3 Otwieranie plików
16.4 Zapisywanie plików
16.5 Zamykanie vi
16.6 Konfiguracja vi
16.7 Klawiszologia Vi

vi(1) to standardowy Unix'owy edytor tekstów. W dzisiejszych czasach opanowanie go nie jest już tak istotne jak niegdyś. Warto jednak się z nim zapoznać gdyż ma on wielkie możliwości. Istnieje kilka wersji (lub jak kto woli klonów) vi. Są nimi: elvis, vile, oraz vim. Przynajmniej jeden z nich jest dostępny na chyba wszystkich rodzajach Unix'a i oczywiście Linux'a. Każda z wymienionych wersji edytora zawiera podstawowy zestaw komend, więc wystarczy zapoznać się z jednym z nich a opanowanie kolejnego nie powinno sprawić problemów. Różnorodność edytorów dostarczanych w dzisiejszych czasach z dystrybucjami Linux'a i Unix'a spowodowała znaczny spadek zainteresowania programem vi. Wciąż jednak pozostaje on najbardziej uniwersalnym edytorem na platformach Unix'owych.

vi zawiera znaczną liczbę udogodnień włączając w to podświetlanie składni, formatowanie kodu, bardzo rozbudowany mechanizm znajdź-i-zamień, makra i wiele wiele więcej. Wszystko to czyni go szczególnie atrakcyjnym dla programistów, webmasterów itp. Dla administratorów istotna jest możliwość integracji z powłoką.

W Slackware domyślną wersją vi jest elvis. Inne klony tj. vim oraz gvim są również dostępne po instalacji odpowiednich pakietów. gvim to X'owa wersja vim'a z paskiem menu i okienkami dialogowymi.

16.1 Uruchamianie vi

Edytor vi może być uruchomiony z lini poleceń na kilka sposobów. Najprostszy z nich to:

% vi

Figure 16-1. Sesja vi

W ten sposób zostanie uruchomiony vi z pustym buforem. Edytor w tym momencie jest w trybie wydawania poleceń (“command mode”). Więcej na temat trybów dowiesz się w Sekcja 16.2. Aby opuścić vi należy wpisać:

:q

Zakładając, że nie dokonano żadnych zmian w pliku nastąpi zakończenie pracy i wyjście. Gdyby jednak plik został zmodyfikowany, edytor wyświetli ostrzeżenie i podpowie jak zlekceważyć wprowadzone zmiany. Wykonuje się to zwykle poprzez dodanie wykrzyknika po “q”:

:q!

Wykrzyknik oznacza w większości przypadków wymuszenie akcji. Ta i inne kombinacje klawiszy zostaną omówione szczegółowo w dalszej części rozdziału.

vi można uruchomić również z już istniejącym plikiem. Na przykład aby otworzyć /etc/resolv.conf należy wywołać:

% vi /etc/resolv.conf

Edytor może być również otwarty na konkretnej linijce istniejącego pliku. Jest to szczególnie użyteczne dla programistów. W informacji o błędzie często podany jest numer linii, na której program poległ. Na przykład można wystartować vi na linii 47 pliku /usr/src/linux/init/main.c:

% vi +47 /usr/src/linux/init/main.c


vi wyświetli podany plik i umieści kursor na pożądanej linijce. W przypadku gdy podana zostanie linijka spoza końca pliku edytor umieści kursor na ostatniej istniejącej. Jak wspomniano jest to szczególnie przydatne dla programistów, którzy unikają w ten sposób konieczności przeszukiwania pliku.

Grenlandia 2012