VIM Editor Basics w Linux

VIM Editor Basics w Linux

VIM nie potrzebuje prezentacji: jest to prawdopodobnie najbardziej uwielbiany edytor tekstu przez administratorów systemu, również ze względu na fakt, że jest to klon i ulepszenie oryginalnego VI, który jest domyślnie zawarty w praktycznie wszystkich systemach operacyjnych opartych na Linux i Unix. VIM może początkowo dość zastraszający i ma stromą krzywą uczenia się; Uczenie się, jak go używać, może jednak naprawdę zwiększyć naszą wydajność. W tym artykule poznamy podstaw VIM.

W tym samouczku się nauczysz:

  • Jak zainstalować VIM
  • Dlaczego VIM jest edytorem tekstu „modalnego” i jakie są tryby VIM
  • Jak poprawić vim wygląd ~/.VIMRC plik konfiguracyjny

Zastosowane wymagania i konwencje oprogramowania

Wymagania oprogramowania i konwencje linii poleceń Linux
Kategoria Wymagania, konwencje lub wersja oprogramowania
System Niezależny dystrybucja
Oprogramowanie krzepa
Inny Żadne inne wymagania
Konwencje # - Wymaga, aby podane Linux -commands były wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
$-wymaga wykonania Linux-commands jako zwykłego niewidzianego użytkownika

Instalacja

Możesz mieć pewność, że VIM, jeśli nie jest domyślnie zainstalowany, jest dostępny w ulubionych repozytoriach dystrybucji, dlatego, aby go zainstalować, wszystko, co musisz zrobić, to użyć ulubionego menedżera pakietów. Na temat Debiana i Debiana
Rozkłady między innymi możemy użyć apt-get:

$ sudo apt-get aktualizacja && sudo apt-get instaluj vim 

Na Fedorze, a bardziej ogólnie na całej rodzinie dystrybucji Red Hat, możemy użyć DNF Menedżer pakietów, aby wykonać zadanie:

$ sudo dnf instaluj vim 

Działający na Arch Linux? W takim przypadku, ponieważ VIM jest zawarty w Dodatkowy Repozytorium, instalowanie, to tylko kwestia uruchamiania następującego polecenia:

$ sudo pacman -s vim 

„Modalny” edytor tekstu

Przekonasz się, że VIM różni się od edytorów tekstu, do których możesz być przyzwyczajony; To dlatego, że jest to modalny Edytor tekstu. Co to znaczy? VIM ma kilka różnych trybów pracy:

  • Tryb normalny
  • Wstaw tryb
  • Tryb wizualny
  • Tryb dowodzenia

Zobaczmy je w skrócie.

Tryb normalny

normalna Tryb jest domyślny. Kiedy w normalna tryb, możemy łatwo poruszać się i wprowadzić zmiany w dokumencie. Zobaczmy kilka przykładów. Załóżmy, że w redakcji otworzyliśmy następujący tekst:

Jak widać, kursor jest ustawiony na początku pierwszej linii. Załóżmy, że chcemy go przenieść na początku drugiego słowa (w tym przypadku „pierścienie”). Wszystko, co musimy zrobić, to nacisnąć w klucz (skrót od słowa); To pójdzie do przodu (po prawej) na początek słowa:



„Odwrotny” ruch uzyskuje się przez naciśnięcie B Klucz - Ta akcja przeniesie kursor na początek poprzedniego słowa.

Co jeśli chcemy powtórzyć ruch X kilka razy? Wszystko, co musimy zrobić, to wprowadzić liczbę ruchów, które chcemy wykonać, przed naciśnięciem klucza odpowiadającego ruchowi, który chcemy wykonać. Na przykład, aby przenieść kursora dwa słowa do przodu, naciśnęlibyśmy 2W. Przypuszczając, że kursor znajduje się obecnie na słowie „pierścieni” w pierwszym wierszu, uzyskalibyśmy ten wynik:

Aby przenieść kursor na początek bieżącej linii, możemy nacisnąć 0 klucz; $ Klucz pozwoli nam uzyskać przeciwny efekt, więc kursor zostanie przeniesiony na koniec linii.

Aby przejść do ostatniego wiersza otwartego dokumentu, możemy nacisnąć G, Aby przejść do pierwszej linii, możemy nacisnąć gg.

Te powyżej to tylko kilka przykładów tego, jak możemy łatwo poruszać się po dokumencie normalna tryb. W poniższej tabeli możemy zobaczyć niewielką liczbę kluczy, które możemy chcieć zapamiętać i ich efekt:

KLUCZ EFEKT
H Przenieś kursora w lewo
J Przesuń kursor
k Przesuń kursor w górę
L Przesuń kursor w prawo
w Przejdź naprzód na początek słowa
W Przejdź naprzód na początek słowa (interpunkcja uważana za część słowa)
B Cofnij się do początku słowa
B Cofnij się do początku słowa (interpunkcja uważana za część słowa)
mi Przejdź do końca słowa
mi Przejdź do końca słowa (interpunkcja uważana za część słowa)
0 Przejdź na początek linii
$ Przejdź do końca linii
gg Przejdź do pierwszego wiersza dokumentu
G Przejdź do ostatniego wiersza dokumentu
f char Przejdź do pierwszego wystąpienia określonego znaku
A Przejdź obok końca linii i wprowadź „Tryb wstaw”

Kiedy w normalna tryb nie ograniczamy się do wykonywania tylko ruchów, są też operatorzy To pozwól nam wykonać niektóre działania, na przykład D (usuń) lub C (zmiana). Ci operatorzy, w połączeniu z ruchami, pozwól nam wykonać masowe działania.

Zobaczmy przykład: wiemy, że w Klucz przenosi kursor do przodu na początek następnego słowa; Jeśli połączymy to z D operator, możemy usunąć całe słowo za pomocą jednego polecenia. Przypuśćmy, że kursor jest na początku pierwszego wiersza naszego tekstu, jeśli naciśniemy DW Otrzymalibyśmy następujący wynik:

Jak widać, pierwsze słowo linii („trzy”) zostało usunięte. W ten sam sposób moglibyśmy usunąć tekst z bieżącej pozycji kursora do końca linii, naciskając D $, i tak dalej.

Tryb „wstaw” (i „zamień”)

wstawić Tryb jest praktycznie standardowym trybem pracy wszystkich najczęstszych edytorów tekstu. Kiedy w tym trybie możemy wstawić tekst, tak jak zwykle z innymi redaktorami. Jak wprowadzić ten tryb? Podczas pracy normalna Tryb możemy na przykład nacisnąć jeden z następujących klawiszy:

KLUCZ EFEKT
I Włóż tekst przed kursorem
I Włóż tekst na początku wiersza
A Włóż tekst po kursorze
A Dodaj tekst na końcu linii


Jak wykonać proces odwrotny i przełączać się z wstawić Do normalna tryb? Wszystko, co musimy zrobić, to nacisnąć klucz lub .

zastępować Tryb jest naprawdę podobny do wstawić Tryb, jedyną różnicą jest to, że tekst, który wprowadzimy. Możemy wejść zastępować tryb za pomocą R kiedy w
normalna tryb.

Tryb „wizualny”

W trybie „wizualnym” możemy wybrać część tekstu i wykonać na niej niektóre operacje. Tryb wizualny może działać na trzech różnych poziomach:

  • Postać
  • Linia
  • Blok

Wprowadzenie „całej postaci” wizualny tryb, gdy jest normalna tryb możemy nacisnąć v klucz; Aby włączyć tryb wirtualny „pod względem linii”, możemy użyć V (duże litery). Wreszcie, aby wprowadzić „blokowy” tryb wizualny, możemy nacisnąć .

Vim Visual Line

Na powyższym zdjęciu możesz zobaczyć, jak wygląda edytor, gdy aktywowany jest tryb wizualny „pod względem linii”. Te same klucze, które omówiliśmy powyżej, mogą być używane do przełączania między trybami wizualnymi; Ponadto, jeśli jesteśmy już w określonym trybie wizualnym i naciskamy klawisz, który go aktywuje, wrócimy do normalna tryb:

Obecny tryb wizualny Klucz Efekt
Pod względem charakteru v Przejdź na tryb normalny
Pod względem charakteru V Przejdź na tryb wizualny pod względem linii
Pod względem charakteru \ Przełącz się do trybu wizualnego blokowego
Pod względem linii v Przejdź na tryb wizualny pod względem postaci
Pod względem linii V Przejdź na tryb normalny
Pod względem linii \ Przełącz się do trybu wizualnego blokowego
Pod względem blokowym v Przejdź na tryb wizualny pod względem postaci
Pod względem blokowym V Przejdź na tryb wizualny pod względem linii
Pod względem blokowym \ Przejdź na tryb normalny

Klucze ruchu, które widzieliśmy w trybie normalnym, można również użyć tryb wizualny. Na przykład, gdy pracujemy w trybie wizualnym pod względem postaci i chcemy wybrać od określonego punktu do pierwszego wystąpienia litery, którego możemy użyć
f char.

Po wybraniu części tekstu możemy na przykład wyciąć ją, naciskając D Słowo kluczowe lub skopiuj je za pomocą y.

„Tryb wiersza poleceń”

Wejść do Tryb wiersza poleceń Możemy nacisnąć : klucz lub / Aby rozpocząć wyszukiwanie tekstu w trybie normalnym. Kiedy jesteśmy w tym trybie, możemy wprowadzić polecenia, które należy wykonać po naciśnięciu (Klucz „powrotu”). Jedno z najprostszych poleceń, jakie możemy uruchomić, kiedy Tryb wiersza poleceń Jest:

:pomoc 

Po wykonaniu polecenia zostanie otwarty nowy bufor pokazujący główną stronę VIM:

Strona pomocy VIM W najnowszych wersjach VIM możemy użyć terminal polecenie otwierania emulatora terminali bezpośrednio w edytorze tekstu:
:terminal 

Wynik wykonania polecenia to:

VIM osadził terminal

Jak już powiedzieliśmy, aby przeprowadzić wyszukiwanie tekstu, możemy nacisnąć / i wpisz tekst, który chcemy znaleźć w dokumencie. Domyślnie wyszukiwanie jest wrażliwe na wielkość liter (można to modyfikować za pomocą pliku konfiguracyjnego VIM za pomocą Ustaw ignorCase dyrektywa). Na przykład załóżmy, że chcemy znaleźć słowo „dzwonek” w tekście naszego przykładu. Piszemy następujące polecenie, naciskając „Enter”:

/Pierścień 

Aby przejść przez podświetlone wyniki, możemy nacisnąć N, i aby usunąć podświetlenie słów, które możemy wykonać Noh Komenda:

: Noh 

Możemy użyć Tryb wiersza poleceń Również w celu wykonania wymiany tekstu. Załóżmy, że na przykład chcemy zastąpić wszystkie wystąpienia „pierścienia” „klejnotem”. W tym przypadku byśmy zrobili w tym przypadku zastąpić Komenda: S.
polecenie, które musielibyśmy uruchomić, to:

:%s/ring/klejnot/g 

% symbol używaliśmy przed wykonaniem polecenia, aby operacja była wykonywana w całym dokumencie, podczas gdy G dołączono po podstawieniu do wykonania substytucji wszystkich zdarzeń znalezionych na linii (w porównaniu z pierwszym).

Kiedy używamy zastąpić polecenie możemy również użyć innych „modyfikatorów”. Na przykład, jeśli dołączymy C Po wzorze zastąpienia zostaniemy skłonni do potwierdzenia każdego substytucji; I, Zamiast tego sprawi, że zamiennik Niewrażliwy przypadek.

Zakres działania polecenia może być ograniczony do niektórych określonych wierszy. Aby wykonać wymianę tekstu tylko na wierszach od pierwszego do szóstego (włączającego) dokumentu, napisalibyśmy:

: 1,6s/pierścień/klejnot/g 

Na przykład ten sam zakres można użyć z D (Usuń) polecenie, aby usunąć wyżej wspomniane wiersze:

: 1,6d 

Kiedy w Komenda tryb linii, możemy również wywołać zewnętrzny Programy w powłoce: Wszystko, co musimy zrobić, to przygotować takie polecenia z ! symbol. Na przykład, aby spojrzeć na pliki (nie ukryte) w bieżącym katalogu roboczym, moglibyśmy użyć ls -l Komenda:

:!ls -l 

Otrzymalibyśmy następujący wynik:

Całkowita 36 DRWXR-XR-X. 2 EGDOC EGDOC 4096 31 października 12:45 Desktop Drwxr-xr-X. 2 EGDOC EGDOC 4096 31 października 12:45 Dokumenty DRWXR-XR-X. 2 EGDOC EGDOC 4096 listopada 2 10:37 pobierania -RW-R-R--. 1 EGDOC EGDOC 373 3 listopada 11:30 Lotr.TXT DRWXR-XR-X. 2 EGDOC EGDOC 4096 31 października 12:45 muzyka drwxr-xr-x. 2 EGDOC EGDOC 4096 4 listopada 08:19 Zdjęcia drwxr-xr-x. 2 EGDOC EGDOC 4096 31 października 12:45 Publiczne DRWXR-XR-X. 2 EGDOC EGDOC 4096 31 października 12:45 Szablony DRWXR-XR-X. 2 EGDOC EGDOC 4096 31 października 12:45 Filmy Naciśnij Enter lub Type Command, aby kontynuować 

Jak zasugerował wiadomość, aby wrócić do edytora, musimy nacisnąć WCHODZIĆ. To tylko nieliczne, podstawowe przykłady poleceń, których możemy użyć w VIM.

Dostosowywanie vim

VIM Look and Feel można dostosować za pomocą pliku konfiguracyjnego: ~/.VIMRC. Domyślnie interfejs edytora jest naprawdę minimalny: nie wyświetlane są nawet liczby linii! Niech to będzie pierwsza rzecz, którą zmienimy.

Wyświetlanie numerów linii

Otwieramy plik konfiguracyjny i wklejamy następującą dyrektywę:

Ustaw numer 

Zwykle, aby zobaczyć efekt wprowadzonych zmian, powinniśmy zamknąć i ponownie otworzyć VIM; Możemy jednak również wydać : więc ~/.VIMRC Polecenie do pozyskiwania pliku konfiguracyjnego i dokonania zmian natychmiastowych. Z powodu
Dyrektywa, której używaliśmy, wyświetlane są teraz numery linii:

Podświetl długość kolumny i limitu

Inną wspólną funkcją, której chcemy użyć, szczególnie podczas pisania kodu, jest wyróżnienie określonej kolumny. Pisząc na przykład program Python lub skrypt powłoki, zwykle nie chcemy przekraczać 80 kolumna; Aby wyróżnić kolumnę, musimy dodać następującą dyrektywę do pliku konfiguracyjnego:

Ustaw ColorColumn = 80 

Na poniższym obrazku możesz zobaczyć wynik zmiany. Określona przez nas kolumna jest teraz podświetlona:

Jeśli faktycznie chcemy egzekwować zasadę dotyczącą maksymalnej liczby znaków, które można wstawić na linii, musimy użyć szerokość tekstu Zamiast tego:

Ustaw TextWidth = 79 

Ze względu na powyższą zmianę, jeśli nowe słowo nie pasuje do określonej liczby znaków, zostanie ono automatycznie wstawione do nowej linii.

Użyj spacji zamiast zakładek

Kolejną dość powszechną zmianą, którą możemy chcieć wykonać, jest użycie określonej liczby przestrzeni zamiast PATKA znak, gdy odpowiedni klawisz jest naciśnięty na klawiaturze. Aby osiągnąć pożądaną konfigurację, chcemy użyć następujących dyrektyw:

Ustaw TabStop = 2 Ustaw softTabStop = 2 Ustaw rozebraj się Ustaw ShiftWidth = 2 

W powyższej konfiguracji ustawiamy TabStop dyrektywa, aby ustawić rozmiar „prawdziwego” PATKA postać. Softtabstop, Dyrektywa jest używana do określenia liczby przestrzeni, które należy użyć do wymiany PATKA kiedy Expandtab Dyrektywa jest używana. W takim przypadku za każdym razem, gdy naciskamy Patka Klucz na klawiaturze, VIM wkłada ilość określonych spacji Softtabstop. Wreszcie szerokość zmiany biegów Opcja służy do określenia poziomu wcięcia używanego do poleceń automatycznych.

Ustawienia specyficzne dla fileType

Co jeśli chcemy określić niektóre ustawienia, które należy zastosować tylko do określonych rodzajów plików? W takim przypadku musimy aktywować wbudowane wtyczka fileType. Aby to zrobić, dołączamy następujący wiersz do pliku konfiguracyjnego:

Wtyczka fileType włączona 

W tym momencie w środku ~/.vim/after/ftplugin Katalog (musimy go utworzyć, jeśli jeszcze nie istnieje), musimy utworzyć plik nazwany na podstawie fileType, dla którego chcemy określić ustawienia, i użyć „.rozszerzenie vim ”.

Na przykład, aby określić ustawienia plików Pythona, utworzylibyśmy ~/.VIM/After/ftplugin/Python.krzepa złożyć i umieść nasze instrukcje w nim. Jedyną zalecaną rzeczą jest użycie setLocal instrukcja w pliku zamiast ustawić, Aby uczynić zmiany ważne tylko dla otwartego bufora, a nie globalnego. Powiedzmy na przykład chcemy wymienić PATKA postać z 4 przestrzenie tylko w skryptach Python. w ~/.VIM/After/ftplugin/Python.krzepa plik, który napisalibyśmy:

setlocal softtabstop = 4 setLocal ShiftWidth = 4 

To, czego tu użyliśmy, to tylko bardzo bardzo mały podzbiór opcji, których możemy użyć w pliku konfiguracyjnym VIM, aby dostosować wygląd edytora; To, co chcemy tutaj pokazać, to podstawowy mechanizm.

Wnioski

W tym artykule rozpoczęliśmy nasze pierwsze podejście od prawdopodobnie najbardziej znanego i kochanego edytora tekstu na platformach Linux i Unix: VIM. Widzieliśmy, jak Vim został stworzony jako klon oryginału Vi Edytor, który jest domyślnie zainstalowany na prawie wszystkich dystrybucjach, widzieliśmy, dlaczego nazywa się modalny edytor tekstu i jakie tryby możemy użyć.

Wreszcie, widzieliśmy, jak dostosować wygląd i czuć redaktor, pisząc dyrektywy w ~/.VIMRC plik konfiguracyjny. Ledwo zarysujemy powierzchnię tego, co możemy osiągnąć, używając VIM, ponieważ miało to być pierwszym przewodnikiem po świecie Vim. W przyszłych samouczkach porozmawiamy o konkretnych funkcjach. Czekać na dalsze informacje!

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Jak sklonować system Linux
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Mastering Bash Script Loops
  • Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
  • Partia klonów na Linux
  • Pobierz Linux
  • Zaawansowane rejestrowanie i audyt w systemie Linux
  • Jak podwójnie rozruch Kali Linux i Windows 10