Samouczek VIM Basics

Samouczek VIM Basics
Jeśli używasz Linuksa przez pewien czas, można bezpiecznie założyć, że znasz edytorów tekstu. Edytor tekstu jest niczym więcej niż narzędziem, które może edytować tekst. Wszyscy mamy pojęcie, czym jest plik tekstowy, prawda? Jednak edytory tekstu można również użyć do edytowania plików nie-textowych jako tekstu!

Jednak to nie jest idealna rzecz. Edytory tekstu mają na celu edytowanie plików tak, jakby to plik tekstowy. Dlatego kiedy powiedziałem „Nano”, aby otworzył plik JPG, otworzył go „jakby” to plik tekstowy. Podobna rzecz się wydarzy, jeśli próbujesz otworzyć inne pliki, na przykład audio, wideo, a nawet pliki binarne.

Edytor tekstu vim

Teraz na platformie Linux dostępnych jest 2 rodzaje edytorów tekstu: GUI i konsola.

Redaktorzy tekstu GUI są najpopularniejszymi wśród ogólnych użytkowników. Niektóre z popularnych to GEDIT, GNU EMACS, ATOM, BRACKETES, SUBLIME TEXT, CODE STUDIO I.

Kiedy mówimy o redaktorach tekstu konsoli, pojawia się prawdziwe wyzwanie. Korzystanie z edytorów tekstu konsoli jest nie tylko szorstkie, ale trudne. Oczywiście, jeśli kliknąłeś ten przewodnik, już je znasz. Popularne redaktorzy tekstu konsoli obejmują Nano i VIM.

Jak sugeruje tytuł artykułu, ten przewodnik jest na VIM - jednym z najtrudniejszych redaktorów tekstu konsoli. VIM jest w rzeczywistości edytorem tekstu „vi” z dodatkowymi funkcjami i poprawkami. Moim celem jest zaoferowanie podstawowych i szczegółowych przykładów wprowadzenia i użytkowania VIM.

VIM Guide

Do tego przewodnika będę używać przykładów kodu C ++. Sprawdź kody C ++ przez SinaiRV na GitHub.

Instalowanie vim

W większości dystrybucji Linuksa VIM jest wstępnie zainstalowany z Nano i/lub Emacs. Nie ma znaczenia, jakiej dystrybucji Linux, której używasz, vim zawsze będzie dostępny w oficjalnym repozytorium vi jest wymagany przez posix.

Debian/Ubuntu: sudo apt-get aktualizacja && sudo apt instal vim
Fedora: Sudo DNF aktualizacja && sudo dnf instaluj vim
OPENSUSE: Sudo Zypper Update && Sudo Zypper Instal vim
Dystrybucje oparte na Red Hat: Sudo Yum Update && Sudo Yum Instaluj VIM
Arch/Arch Distros: Sudo Pacman -sy && Sudo Pacman -s Vim

Uruchomienie vim

Po zakończeniu instalacji sprawdź istnienie VIM.

vim vim --version

Jeśli chcesz użyć VIM do edytowania pliku tekstowego, użyj następującej struktury.

krzepa

Rzucanie vim

To jest pierwsza rzecz, której musiałem się nauczyć podczas korzystania z VIM. Jest wiele razy, kiedy się spieprzyłem. Naucz się, jak rzucić Vim, uratował mi niezliczone razy.

Wpisz „: q” i hit Enter (bez cytatów).

Uwaga: vim nie wypuści cię bez tej metody. „Ctrl + C” nie działa.

Nawigacja w pliku

VIM oferuje naprawdę skomplikowany zestaw sposobów, w jakie możesz użyć do poruszania się po pliku tekstowym.

Wróćmy do pliku tekstowego. Tym razem jesteśmy na Readme.plik MD.

Najłatwiejszym sposobem poruszania się po pliku jest użycie klawiszy strzałek.

VIM pozwala używać innych klawiszy do nawigacji po pliku, takim jak klawisze strzałek.

H - jedna postać po lewej stronie

L - jedna postać po prawej stronie

K - Idź w górę

J - zejdź na dół

W - jedno słowo po prawej stronie

B - jedno słowo po lewej stronie

0 (zero) - początek bieżącej linii

$ - koniec bieżącej linii

Uwaga: uważaj na przypadek klawiszy.

Edycja pliku

To jest ważna część. Otwieramy pliki tekstowe na edytor, aby wykonać niektóre edycje, prawda?

Przejdź do pożądanego miejsca na tekście i uderz „ja”. To poinformuje Vima, aby wprowadził „tryb wstawienia”.

Po wykonaniu niezbędnych edycji możesz wyjść z trybu „Wstaw”, naciskając „Ctrl + C” lub ESC. Moją osobistą preferencją jest użycie klucza ESC.

Zapisanie pliku

Przed zapisaniem pliku należy zrozumieć, w jaki sposób VIM radzi sobie z pracą.

Kiedy otworzyłeś plik tekstowy z VIM, w rzeczywistości uzyskujesz dostęp do tymczasowej kopii oryginalnego pliku. Jeśli jesteś zadowolony ze zmian i zdecydujesz się zapisać, tylko VIM zapisze edytowany plik przez oryginalny plik.

Takie podejście ma korzyści. Zapobiega oryginalnej plik przed niechcianym uszkodzeniem. VIM umożliwia wielu użytkownikom edytowanie tego samego pliku w tym samym czasie, więc użycie pliku tymczasowego pomaga uniknąć konfliktów. VIM zapisuje plik temp, abyś mógł odzyskać swoją pracę, jeśli zdarzy się przerwy.

Aby napisać bufor do pliku, wprowadź „: W”.

Możliwe jest również połączenie polecenia zapisu z rzuceniem.

: WQ

To zapisze bufor do pliku i wyjdzie z edytora.

Kolejną interesującą funkcją oferowaną przez VIM jest zapisanie bieżącego bufora na końcu innego pliku. Krótko mówiąc, możesz dołączyć bieżącą edycję do innego pliku.

: w >>

To polecenie można również sparować z poleceniem wyrzucenia.

: wq >>

Czasami możesz po prostu odrzucić obecny bufor i zacząć od zera. Wielokrotnie spieprzyłem Sudoers, szczególnie z VIM. Ta metoda po prostu uratowała mi wiele bólu głowy. Powiedz Vima, aby wychodził bez zapisywania bufora do pliku.

:Q!

Badawczy

Jako legendarne oprogramowanie, szkoda, gdyby nie było funkcji wyszukiwania! Korzystając z VIM, łatwo jest dowiedzieć się, gdzie jest twoje wyrażenie docelowe. To jest struktura, której VIM potrzebuje do wykonania funkcji wyszukiwania.

?

Zauważ, że nie ma luki pomiędzy znakiem zapytania a ciągiem wyszukiwania. Po wpisaniu wyszukiwanego terminu naciśnij Enter.

Teraz, kiedy to uruchomisz, utkniesz z jedynym wynikami wyszukiwania. Czy to akceptowalne? NIE! Powiedz Vimowi, aby przeszedł do poprzednich/następnych meczów wyszukiwania!

N - Znajdź następny mecz
N - Znajdź poprzedni mecz

Wstawienie danych z zewnętrznego źródła

To kolejna interesująca technika, która może przydać się w wielu scenariuszach. Możesz bezpośrednio przyjąć wyjście określonego polecenia i wstawić we właściwym miejscu pliku.

:R!

Na przykład wstawmy wyjście polecenia PACMAN. Dowiedz się, jak używać Pacmana w Arch Linux i innych dystrybcach arch.

:R! Echo $ (Pacman -qqe Python | Grep Python)

Ta struktura poleceń oferuje całą masę możliwego użycia. Na przykład, co powiesz na wstawienie treści innego pliku?

:R! kot

Jeśli potrzebujesz konkretnego uzyskania treści określonego tekstu, nie trzeba nazywać polecenia „CAT”. Vim już oferuje łatwiejszy sposób na to.

:R

Dostosowanie vim

Vim jest wyjątkowo konfigurowalny. Istnieje wiele sposobów improwizacji funkcjonalności tego edytora tekstu. VIM umożliwia mnóstwo dostosowywania za pośrednictwem pliku VIMRC.

Istnieje kilka różnych lokalizacji dla VIMRC - globalne i lokalne. Globalny znajduje się w „/etc/vim/vimrc” lub „/etc/vimrc”.

W przypadku lokalnego pliku VIMRC zostanie on zlokalizowany pod adresem „~/.plik vimrc ”.

Przed edytowaniem VIMRC konieczne jest zrozumienie zakresu obu. Globalny VIMRC (zlokalizowany na „/etc/vimrc” lub „/etc/vim/vimrc”) wpływa na wszystkie sesje vim na wszystkich kontach użytkowników. Jednak w przypadku lokalnego VIMRC (znajdującego się w „~//.VIMRC), wejdzie w życie tylko w sesji odpowiedniego użytkownika.

Oto krótka lista przydatnych ustawień VIMRC.

„Numer linii po lewej stronie
Ustaw numer
„Domyślny rozmiar zakładki
Ustaw TabStop = 4
„Włącz podświetlenie składni
Składnia na
„Owinąć tekst
Zestaw owinięcia
„Domyślne kodowanie
Ustaw kodowanie = UTF-8

Jeśli zdarzy ci się edytować plik VIMRC podczas pracy VIM, zmiany nie wpłyną natychmiast. Powiedz Vima, aby ponownie załadował konfigurację z VIMRC.

:Więc %

Zastąpienie treści

Vim nie ogranicza się do podstawowych funkcji wyszukiwania. VIM umożliwia polecenie podobne do SED do wykonywania operacji wymiany.

Składnia polecenia jest tak mniej więcej tak:

:%S///

Od zachowania zastępczego te 2 są dość powszechne.

G - Wykonaj wymianę przy każdym wystąpieniu ciągu wyszukiwania.

GC - To samo co „g”, ale poprosi o potwierdzenie przed dokonaniem zmiany.

Sprawdźmy użycie za pomocą przykładu. Mam listę wszystkich pakietów z grupy „devel basevel” w pliku tekstowym.

Teraz zastąpmy cały „rdzeń” na ciąg „Coremodified”.

:%S/Core/CoreModified/G

Liczba występowania

Podobnie jak poprzedni przykład, możliwe jest również wyróżnienie i policzenie występowania ciągu wyszukiwania zamiast go zastępować. To lepsza niż klasyczna funkcja wyszukiwania.

Składnia do operacji byłaby

:%S/Zwróć uwagę na część „GN”? Jest odpowiedzialny za zastąpienie zachowania zastępczego.

Wtyczki VIM

Pomimo tego, że jest edytorem tekstu konsoli, VIM oferuje rozszerzenie swojej funkcjonalności za pomocą wtyczek. W rzeczywistości liczba wtyczek dostępnych dla VIM jest ogromna! Społeczność Vim jest zdecydowanie miejscem szalonych geniuszy!

Możesz skonfigurować dowolny katalog do hostowania wtyczek. Zaleca się jednak użycie następującego.

~/.krzepa

Różne wtyczki VIM wymagają różnych procedur. Aby ułatwić użycie, istnieje również garstka menedżerów wtyczek vim! Na przykład Vundle, Vimplug, Pathogen itp. Jeśli chcesz wziąć nową wtyczkę Vim, polecam Vimawesome. To duża kolekcja wszystkich popularnych i interesujących wtyczek VIM.

Końcowe przemyślenia

Opanowanie vim wymaga trochę pracy. To tylko podstawy. Mam nadzieję, że ten post był pomocny w zapoznaniu się z Vimem i niektórymi z jego podstaw. Zapraszam do zwiedzania świata Vima.

Ćwicz swoje umiejętności VIM na pliku demo. W ten sposób, nawet jeśli zepsujesz plik, to nie jest wielka sprawa. Jeśli zdarzy ci się zepsuć konfigurację VIM, nie ma nic do paniki. Domyślne pliki konfiguracyjne VIM są dostępne online.