Podstawy pracy z edytorem VIM

Kategoria: Artykuły, etykiety: vim

Dodany: 2013-04-07 16:00 (zmodyfikowany: 2013-04-07 20:55)
Przez: krasnij

Wyświetleń: 19087

Wprowadzenie

VIM czyli wieloplatformowy klon edytora tekstu Vi. Chyba najpopularniejszy edytor tekstu dla GNU/Linux, a zarazem dla wielu najtrudniejszy. Można zadać sobie pytanie - po co używać vima? Przecież mamy inne, łatwiejsze edytory tekstu: np. nano, pico, graficzne edytory typu leafpad, gdzie edycja plików przebiega w sposób łatwy i przyjazny. Odpowiedź jest prosta: edytor vim ma potężne możliwości i po zrozumieniu jego działania szybko można dojść do stwierdzenia, że żaden inny edytor nie pozwoli w tak szybki sposób edytować plików. Ba! Po odpowiedniej konfiguracji VIM może stać się bardzo wygodnym IDE dla każdego programisty. Dlatego drogi czytelniku, zachęcam Cię do poznania tego edytora.

Część I : Podstawy

Stwórzmy sobie prosty plik:

vim nauka

Już po włączeniu vima można zauważyć jego odmienność. Nie możemy od razu przejść do pisania/edytowania tekstu jak to jest np. w nano. Dlaczego? Otóż, drogi użytkowniku - vim jest edytorem modalnym, tzn. posiada więcej niż jeden tryb pracy. Kiedy tylko włączysz vima, znajdujesz się w trybie NORMAL. Zanim przejdziemy do edytowania tekstu, najpierw nauczymy się poruszać po edytorze. Możemy oczywiście poruszać się za pomocą kursorów, jednakże vim prezentuje nam inny sposób: za pomocą klawiszy h,j,k,l.

H - lewo
J - góra
K - dół
L - prawo

Pozwala to użytkownikowi nie przenosić całej ręki, dzięki czemu poruszanie się po dokumencie jest bardzo szybkie. Aby poruszać się w przód i w tył o długość strony możemy użyć klawiszy PgUp oraz PgDown. Ponownie jednak, aby przyspieszyć pracę i nie przenosić całej ręki możemy użyć CTRL-F oraz CTRL-B. Aby przesunąć się na początek linii użyj klawisza 0. Natomiast, aby przesunąć się na jej koniec użyj klawisza $.

Przejdźmy teraz do edytowania pliku. Aby przejść w tryb edycji, należy nacisnąć klawisz i . Wtedy na samym dole programu pojawi się napis "WPROWADZANIE" albo "INSERT". Oznacza to, że vim zmienił tryb pracy. Teraz znajdujemy się w trybie edycji tekstu. Żeby zakończyć edytowanie wciskamy klawisz "ESC". Po jego naciśnięciu VIM wraca do trybu NORMAL i możemy swobodnie poruszać się po tekście.

Aby zapisać plik wpisujemy :w (od WRITE) znajdując się w trybie NORMAL. Jeżeli zmiany chcemy zapisać do innego pliku - wpisujemy :w nazwapliku. Aby wyjść z vima wpisujemy :q (od QUIT). Możemy połączyć te dwa polecenia i po prostu wpisać :wq . Spowoduje to zapisanie pliku i zamknięcie vima.

Podstawowe umiejętności dotyczące pracy z vimem już mamy. Na temat pracy z vimem powstają książki, w związku z tym nie będziemy tutaj przytaczać wszystkich jego możliwych funkcji. Aby w pełni zapoznać się z dostępnymi funkcjami wpisz w terminalu vimtutor. Zostanie uruchomiony tutorial, który nauczy Cię pracy z vimem i przedstawi wiele jego funkcji. Całość trwa około 30 minut.

Część II : Trochę więcej niż podstawy

Umiemy już poruszać się w vimie oraz edytować pliki. Czas na trochę więcej.

  • Otwieranie kilku plików

Aby otworzyć kolejny plik do edycji, kiedy znajdujemy się w vimie należy wpisać

:e /sciezka/do/pliku

Aby przełączać się pomiędzy tymi plikami wpisujemy :bn (od buffor next) albo :bp (od buffor previous).

Wg. mnie wygodniejszą opcją jest otwieranie kilku plików w tabach. Żeby to zrobić wpisujemy

:tabe /sciezka/do/pliku

Pomiędzy plikami przełączamy się tak jak zostało to opisane wyżej. Można jednakże zrobić to za pomocą myszy. Wystarczy, że w trybie NORMAL wpiszemy:

:set mouse=a

Możemy to polecenie dodać do naszego ~/.vimrc (wtedy nie używamy dwukropka!).

I już możemy ładnie i zgrabnie używać myszy do przełączania się pomiędzy otwartymi tabami.

  • Wyszukiwanie

Aby znaleźć ciąg znaków znajdujący się w pliku, który edytujemy/czytamy wystarczy, że wpiszemy w trybie normal /toczegoszukamy . Aby ułatwić sobie sprawę możemy kazać vimowi podświetlić szukaną frazę. Robimy to za pomocą polecenia:

:set hlsearch

Aby vim zaczął szukać frazy od razu kiedy tylko zaczniemy ją wpisywać wystarczy, że wpiszemy:

:set incsearch

Polecenia te możemy dodać do naszego .vimrc

Aby znaleźć szukane frazy i zastąpić je innym ciągiem znaków wpisujemy:

:[zakres]s/szukana_fraza/podstawiana_fraza/[g]

Gdzie zakres odpowiada za ilość linii oddzielonych przecinkiem. Przykładowo, aby dokonać zamiany szukanej frazy w pierwszych 20 liniach uzyjemy zakresu (1,20). g - oznacza, że zastępujemy globalnie, tj. więcej niż jeden raz w linii. Przykładowe użycie polecenia:

:%s/ala/ola/g

sprawi, że w całym pliku fraza "ala" zostanie zastąpiona przez frazę "ola".

Część III: VIM jako IDE

Tak, Vim może służyć jako świetne i bardzo wygodne IDE dla każdego programisty. Wystarczy jedynie, że lekko go zmodyfikujemy i dodamy odpowiednie opcje do pliku .vimrc.

  • Kolorowanie tekstu

Za kolorowanie tekstu odpowiada komenda

:syntax enable 

Możemy dodać ją do .vimrc

  • Automatyczne wcinanie tekstu

Aby vim automatycznie wcinał nam tekst, użyjmy komendy :set autoindent . Kiedy ten tryb jest włączony przenosimy się o jeden poziom wcięcia w lewo za pomocą CTRL-D, w prawo za pomocą CTRL-T . Poziom wcięcia ustawiamy komendą :set tabstop . Przykładowo

:set tabstop=2 

Żeby nieco poszerzyć funkcjonalność naszego edytora możemy użyć pluginów. Pluginy znajdziemy na stronie vima

Wrzucamy je do katalogu ~/.vim , a następnie dopisujemy do pliku .vimrc polecenie filetype plugin on . Czytamy plik README danego plugina, który mówi nam za pomocą jakiego polecenia mamy go włączyć w vimie (bądź jakie polecenie dodać do .vimrc) i już możemy cieszyć się zmodyfikowanym vimem. Przykładowo, możemy uzyć pluginu NERDTree , który doda nam drzewo katalogów do vima. Plugin TagList z kolei, pozwoli nam łatwiej odnaleźć się w naszym kodzie. Poda nam on np. jakie mamy zdefiniowane funkcje i zmienne.

Oto jak wygląda VIM po zastosowaniu tych 2 pluginów.

Podsumowanie

Jak widać, edytor VIM oferuje nam bardzo duże możliwości. Niezależnie od tego, czy jesteś programistą, czy zwykłym użytkownikiem, który edytuje czasem pliki konfiguracyjne - Vim umożliwi ci szybszą i wygodniejszą pracę. Zachęcam do nauki i poznawania możliwości tego wspaniałego programu.

OSnews Wykop Blip Flaker Kciuk Śledzik Facebook Identi.ca Twitter del.icio.us Google Bookmarks