VM

Vim – podstawy edytora

Vim jest obecnie jednym z najbardziej popularnych edytorów tekstów stosowany przez programistów, jak i również administratorów systemów. Ze wspomnianego edytora korzystamy w wierszu poleceń i w odróżnieniu od edytorów konsolowych jak na przykład nano korzystanie z niego jest dość złożonym procesem. W celu wykonania niektórych czynności wymaga wprowadzenia odpowiedniej komendy lub kombinacji klawiszy.

Vim jest następstwem edytora vi, który występuje w każdej dystrybucji. Czyli jest instalowany zawsze tam, gdzie jądro Linux. Jednak sam vi jest dość starym narzędziem posiadającym tylko podstawową funkcjonalność. Jego podstawowe funkcje są identyczne jak te, z których korzysta vim, dlatego, jeżeli poznasz vim to również i vi.

W odróżnieniu od vi posiada bardzo rozbudowane możliwości i aktywną społeczność, która ciągle tworzy nowe wtyczki. Dlatego po nauczeniu się jego obsługi wielu użytkowników nie korzysta już z żadnego innego edytora tekstu.

Innym czynnikiem mówiącym za korzystaniem z niego jest identyczność podstawowych funkcji z edytorem vi. Jak, wspomniałem, vi jest wbudowany w systemy Linux, dlatego, jeżeli korzystasz z na przykład kontenerów dockera, to w nich zawarty na pewno będzie vi. W związku z tym, nie będziesz musiał instalować dodatkowego edytora, tylko skorzystasz z wbudowanego.

Funkcje przerażające początkujących użytkowników są związane z różnymi trybami wstawiania tekstu oraz poruszania się po dokumencie. Jeżeli kiedykolwiek uruchomiłeś plik tekstowy w Vim lub Vi i próbowałeś edytować tekst, następnie go zapisać to na pewno wiesz o czym, teraz piszę. Aby korzystać z tego typu edytorów, musisz poświęcić im chwilę na poznanie podstawowych zasad, jak i przyzwyczaić się do ich specyficznej formy.

W tym materiale chcę pokazać, w jaki sposób korzystać z tego edytora. Uważam, że posiadanie umiejętności jego obsługi może okazać się niezbędna, szczególnie w sytuacji, gdy nie możesz zainstalować, żadnego innego programu edytującego.

 

Sprawdź, czego nauczysz się dzięki kursowi Grafany!

Udostępniamy darmowo ponad godzinny materiał z kursu. Przekonaj się, że jest idealny dla Ciebie!

Chcesz wziąć udział w kursie? Kliknij w link i obejrzyj co Cię czeka: https://asdevops.pl/demo-grafana/

 

 

 

 

Instalacja Vim w systemie Linux

Instalowanie edytora Vim w systemie Linux jest tak samo prostym procesem, jak instalacja, każdego innego programu. Po jego instalacji od razu można przejść do jego uruchomienia. Nie wymaga wykonania żadnych dodatkowych konfiguracji, chyba że chcemy doinstalować na przykład jakieś wtyczki.

W przypadku systemu Debian oraz dystrybucji opartych o niego, w terminalu wprowadzamy polecenie:

apt install vim

W przypadku Red Hat Enterprise Linux i dystrybucji opartych o niego, w terminalu wprowadzamy polecenie:

yum install vim

Przy innych dystrybucjach najczęściej instalacja polega na podmianie menadżera pakietów na dostępny w danej dystrybucji. Dla przykładu, aby przeprowadzić instalację w Alpine Linux, należy skorzystać z polecenia:

apk add vim

Wspominam o nim, ponieważ, ostatnio bardzo często jest wybierany jako system bazowy w kontenerach dockerowych.

Oczywiście nie jest to jedyna możliwość instalacji tego narzędzia. Jednak zalicza się do najprostszych i najczęściej stosowanych. Natomiast sposobów instalacji jest bardzo dużo, a większość z nich odnajdziesz pod adresem https://www.vim.org/download.php. Dlatego, jeżeli masz jakieś problemy lub chcesz wykonać ją w inny sposób, polecam zapoznać się z materiałami zawartymi na tej stronie.

Pierwsze uruchomienie oraz podstawowe polecenia edytora Vim

Po instalacji, w celu uruchomienia edytora powinieneś w wierszu poleceń terminala wpisać jego nazwę. Tak jak prezentuję to na poniższym przykładzie:

vim

Pojawi się podobne okno do prezentowanego poniżej:

Jeżeli uruchomiłeś edytor identycznie jak ja, to możesz wprowadzać tekst, tak jakbyś korzystał z normalnego edytora tekstu. Niemniej jednak niejednokrotnie spotkasz się z sytuacją, gdy będzie to niemożliwe. Oznacza, to, że nie będziesz znajdował się w trybie wstawiania. Prościej pisząc, nie będziesz mógł wprowadzać danych do edytora, bo funkcja wprowadzania będzie znajdowała się w linii poleceń edytora. W tej sytuacji należy skorzystać z klawisza reprezentującego literę i na klawiaturze.

W celu symulacji takiej sytuacji wciśnij przycisk ESC. Dzięki temu przejdziesz do standardowego trybu edytora, w którym wprowadzasz polecenia. Aby powrócić lub przejść do trybu wstawiania wystarczy, że wciśniesz klawisz i. Ponownie będziesz mógł edytować tekst.

Usuwanie linii tekstu

Wiemy już, w jaki sposób przechodzić pomiędzy dwoma trybami edytora. Teraz wprowadźmy dwie linie jakiegokolwiek tekstu.

VIM

Jeżeli wprowadziłeś tekst, oznaczać to będzie, że znajdowałeś się w trybie wstawiania. Teraz przejdźmy do trybu standardowego czyli trybu linii poleceń edytora, dlatego wciśniemy przycisk ESC. Następnie, jeżeli wciśniemy 2x klawisz d, to usuniemy zawartość linii, w której się znajdujemy. Po usunięciu zostaniemy przeniesieni na początek wcześniejszej linii, gdzie, jeżeli ponownie wykonamy to samo, usuniemy kolejną.

Usuwanie pojedynczych znaków

W kolejnym przykładzie wprowadzimy następną linię tekstu i usuniemy z niej konkretne znaki. Na początku musimy powrócić do trybu wstawiania. Robimy to przy pomocy klawisza i. Następnie wpisujemy zdanie, na przykład To jest tekst trzeci. Aby poruszać się pomiędzy poszczególnymi liniami oraz znakami korzystamy ze strzałek klawiatury. Jeżeli chcemy usunąć tekst, możemy używać tak zwanego klawisza backspace. Jednak istnieje jeszcze możliwość usuwania liter tekstu, w miejscu, gdzie znajduje się kursor. Do tego służy klawisz x. Aby tego dokonać, przesuwamy kursor, w miejscu, gdzie chcemy pozbyć się wprowadzonego znaku. Następnie przechodzimy w tryb poleceń edytora przy pomocy klawisza ESC i wciskamy x. Zostanie usunięta litera, na której ustawiony jest kursor.

Cofanie zmian

Aby cofnąć wprowadzoną zmianę, czyli w naszym wypadku usunięcie litery ze zdania. Wciskamy klawisz u, będąc w trybie poleceń edytora Vim. Natomiast jeżeli chcielibyśmy ponowić cofniętą zmianę, korzystamy ze skrótu klawiszowego CTRL+R.

Wklejanie i kopiowanie

Bardzo często zdarza się, że istnieje konieczność wklejenia skopiowanego lub wyciętego tekstu. W ramach tego ćwiczenia skopiowałem adres https://blog.askomputer.pl/. Następnie, aby go wkleić do pliku edytowanego przez Vim, ustawiamy kursor, w miejsce, gdzie chcemy wkleić skopiowany tekst. Wciskamy kombinację klawiszy CTRL+SHIFT+V. W ten sposób wklejamy tekst z zewnątrz.

Natomiast aby skopiować, następnie wkleić tekst wewnątrz edytora ustawiamy kursor na zdanie, które chcemy skopiować. Następnie przechodzimy do trybu poleceń edytora i wciskamy przycisk y. Linia powinna zostać skopiowana. Następnie, gdy klikniemy p, zostanie wklejona. Więcej możliwości związanych z wklejaniem prezentuję poniżej.

yw – kopiuj do schowka bieżący wyraz;

yb – kopiuj do schowka poprzedni wyraz;

Sposoby zapisu i zamknięcia edytora

Z podstawowych poleceń pozostały jeszcze sposoby na zapisanie, zapisanie i wyjście oraz wyjście bez zapisania z edytora vim. W celu wykonania którejkolwiek z wymienionych czynności przytrzymując przycisk SHIFT, odnajdujemy na klawiaturze przycisk : (dwukropek) i go wciskamy. Na samym dole okna powinno pojawić się pole, tak jak prezentuje to na poniższym obrazku:

Po dwukropku wprowadzić możemy:

:w – zapisz bieżący plik;

:wq – zapisz i wyjdź z edytora;

:q! – zamknij edytor bez wprowadzonych zmian;

Oczywiście nie wprowadzamy ponownie znaku dwukropka, tylko to, co znajduje się po nim.

Do edytora Vim należy się przyzwyczaić. Niestety nie jestem w stanie pokazać tego w formie tekstowej. Ciężko byłoby to również pokazać w formie wideo. Pozostaje tylko własna praktyka. Pamiętaj, o dwóch różnych trybach. W trybie edycji tekstu vim zachowuje się jak klasyczny edytor i działają wszystkie klawisze. W trybie wprowadzania poleceń tak jak zaprezentowałem to powyżej, klawisze odpowiadają różnym opcjom. 

Lista innych przydatnych opcji

W poprzednim paragrafie pokazałem, w jaki sposób przechodzić między trybami. Wymieniłem kilka z możliwości, jednak wiedz, że nie są to wszystkie. Nie będę opisywał każdego z nich osobna, ponieważ wiesz już, w jaki sposób przełączać się między trybami i jak z nich korzystać.

W tym paragrafie chcę wymienić te najbardziej przydatne, które wprowadzasz w identyczny sposób jak poznany poprzednio. Dlatego bez dalszego rozpisywania, zerknij na poniższą listę:

 h, j, k, l – przesuń kursor odpowiednio w lewo, w dół, w górę lub w prawo;

 w – przesuń kursor na początek następnego słowa;

 b – przesuń kursor na początek poprzedniego słowa;

 e – przesuń kursor na koniec bieżącego słowa;

 $ – przesuń kursor na koniec bieżącej linii;

 0 (zero) – przesuń kursor na początek bieżącej linii;

 G – przesuń kursor do ostatniej linii dokumentu;

 gg – przesuń kursor do pierwszej linii dokumentu;

 nG – przesuń kursor do wiersza n;

 /wzór – wyszukaj określony wzorzec w dokumencie;

 n – powtórz ostatnie wyszukiwanie;

 N – powtórz ostatnie wyszukiwanie w przeciwnym kierunku.

Dlaczego Vim jest tak ważny

Niektórzy użytkownicy uważają, że poznanie vim czy też vi jest tak samo ważne, jak umiejętność posługiwania się poleceniem cd. Jest w tym trochę racji, ponieważ zawsze jest on dostępny. W środowiskach gdzie musi występować minimalna ilość oprogramowania i nie ma możliwości lub też nie powinno się nic dodatkowego instalować, będziesz zmuszony korzystać z tego edytora. Pod względem obsługi jeden od drugiego, nie różni się. vim posiada tylko bardziej rozbudowane możliwości, o których rozmawialiśmy.

Vim jest narzędziem, które możesz skonfigurować względem swoich upodobań. Wykonać to wszystko możesz w pliku konfiguracyjnym .vimrc. To w nim, to co określisz, będzie miało zastosowanie dla wszystkich sesji. Przykładem takiego ustawienia jest możliwość, w jaki sposób edytor ma się zachować, gdy otworzymy w nim określony typ pliku. Na przykład możesz utworzyć w katalogu plik ~/.vim/ftplugin/python.vim, w którym określony zostanie sposób wyświetlania zawartości plików z kodem języka Python.

Na samej konfiguracji plików nie kończą się możliwości programu. Posiada on bardzo rozmaite udogodnienia, które w skrócie opisuję w dalszej części.

Makra

Vim ma możliwość nagrywania oraz odtwarzania makr. Pozwoli to na zautomatyzowanie niektórych zadań, jakie musisz wykonać kilkukrotnie. W celu utworzenia makra będąc w trybie wiersza poleceń, klikasz q. Następnie wybierasz, pod jakim znakiem klawiatury ma być dostępne twoje makro. Po wybraniu znaku zostanie ono zapisane. Teraz wykonujesz polecenia, jakie chcesz, aby marko uwzględniało. Po wykonaniu wszystkiego przechodzisz do trybu poleceń i wciskasz q. Makro z twoim poleceniem zostało zapisane. Teraz, aby je odtworzyć, będąc w wierszu poleceń vima, wprowadzasz @<znak-twojego-makra> i wszystkie czynności w nim zapisane zostaną wykonane.

Mapowanie

W vim możesz ustawić, że zamiast wprowadzania sekwencji słownej przypiszesz ją do konkretnego przycisku na swojej klawiaturze. Poprzez sekwencję słowną rozumiem na przykład polecenie :w, które spowoduje zapisanie dokumentu. Aby nie musieć go wprowadzać ręcznie przypiszemy je do klawisza F6. Przechodzimy do wiersza poleceń vim przy pomocy klawiszy Shift i :. Następnie wprowadzamy polecenie map <F6> :w nazwa-pliku. Po wprowadzeniu zatwierdzamy przyciskiem ENTER. Teraz korzystając z przycisku F6, polecenie samo się wpisuje, my tylko je zatwierdzamy przyciskiem ENTER.

Wtyczki

Vim posiada bardzo ogromną i aktywną społeczność użytkowników, dzięki którym powstała bardzo spora ilość wtyczek. Dzięki nim program jest określany jako jeden z najlepszych i dlatego wielu uważa za konieczne posiadanie umiejętności posługiwania się nim. Niemniej jednak, aby móc korzystać z takich dobrodziejstw, powinniśmy doinstalować menadżer pluginów jak na przykład Vim-Plug (https://github.com/junegunn/vim-plug).

Do bardzo popularnych pluginów wśród administratorów systemów należą:

Nerd Tree (https://github.com/preservim/nerdtree), umożliwia eksplorację systemu plików i otwieranie plików w formacie przypominającym drzewo. Jest to szczególnie przydatne do poruszania się po dużych bazach kodu i katalogach.

Vim-Airline (https://github.com/vim-airline/vim-airline), dodaje ładny pasek stanu do Vim, który może wyświetlać informacje o bieżącym pliku. Takie jak nazwa pliku, numer linii i tryb wstawiania.

Vim-Fugitive (https://github.com/tpope/vim-fugitive), dodaje integrację Git do Vim. Umożliwia uruchamianie poleceń Git bezpośrednio z poziomu Vim. Dodaje również przydatne funkcje do poruszania się po historii Git i dokonywania zatwierdzeń.

Vim-Systemd (https://github.com/wgwoods/vim-systemd-syntax), umożliwia edycję i zarządzanie jednostkami Systemd bezpośrednio z poziomu VIM. Obejmuje podświetlanie składni i polecenia do przeładowywania, uruchamiania i zatrzymywania jednostek.

Vim-YankStack (https://github.com/maxbrunsfeld/vim-yankstack), umożliwiając łatwe wklejenie wcześniej skopiowanego tekstu bez konieczności przeglądania schowka.

Vim-Multiple-Cursors (https://github.com/terryma/vim-multiple-cursors), pozwala dodawać wiele kursorów do vim, ułatwiając edycję wielu wierszy tekstu jednocześnie.

Skrypty

Vim posiada wbudowany język skryptowy noszący nazwę Vimscript. Szczegółowo został opisany przez twórcę tutoriala znajdującego się pod adresem https://learnvimscriptthehardway.stevelosh.com/. Dlatego, jeżeli potrafisz programować, może okazać się ciekawym dodatkiem do twoich umiejętności.

Podsumowanie – VIM

Jak zaprezentowałem to w materiale, Vim jest bardzo rozbudowanym narzędziem, które pomimo uruchamiania w konsoli ma ogromne możliwości. Jednak, aby swobodnie czuć się w nim, należy z niego korzystać. Niestety posiada swoją specyfikę, która na samym początku może odstraszyć. Mam nadzieję, że przez ten materiał dałem możliwość łatwiejszego startu w korzystaniu z tego narzędzia.

Chcesz wiedzieć więcej na temat administracji? Przeczytaj nasze artykuły, a także weź udział w kursach!

 

 

 

Sprawdź, czego nauczysz się dzięki kursowi Grafany!

Udostępniamy darmowo ponad godzinny materiał z kursu. Przekonaj się, że jest idealny dla Ciebie!

Chcesz wziąć udział w kursie? Kliknij w link i obejrzyj co Cię czeka: https://asdevops.pl/demo-grafana/

 
 
 

Lekcja demo kursu Grafany!

X