Wyszukiwanie w witrynie

8 ciekawych porad i wskazówek dotyczących edytora „Vi/Vim” dla każdego administratora Linuksa — część 2


W poprzednim artykule z tej serii omówiliśmy 7 porad i wskazówek, które możesz dodać do swojego zestawu umiejętności vi/m. Oprócz powodów podanych wcześniej, nauczenie się, jak efektywnie korzystać z edytora tekstu w systemie Linux, jest umiejętnością niezbędną dla administratora lub inżyniera systemu i jest kompetencją wymaganą do zaliczenia dowolnego większego programu certyfikacyjnego dla systemu Linux (takiego jak LFCS, LFCE, RHCSA i RHCE). .

To powiedziawszy, zaczynajmy.

PORADA #8: Utwórz okna poziome lub pionowe

Tą wskazówką podzielił się z nami Yoander, jeden z naszych czytelników, w części 1. Możesz uruchomić vi/m z wieloma podziałami poziomymi lub pionowymi, aby edytować oddzielne pliki w tym samym oknie głównym:

Uruchom vi/m z dwoma poziomymi oknami, z test1 na górze i test2 na dole

vim -o test1 test2 

Uruchom vi/m z dwoma pionowymi oknami, z test3 po lewej stronie i test4 po prawej:

vim -O test3 test4 

Możesz przełączać kursor z jednego okna do drugiego za pomocą zwykłej procedury ruchu vi/m (h: w prawo, l: w lewo, j: dół, k: góra):

  1. Ctrl+w k – góra
  2. Ctrl+w j – dół
  3. Ctrl+w l – w lewo
  4. Ctrl+wh – dobrze

WSKAZÓWKA #9: Zmień litery, słowa lub całe wiersze na WIELKIE lub małe

Pamiętaj, że ta wskazówka działa tylko w vimie. W kolejnych przykładach X jest liczbą całkowitą.

  1. Aby zmienić ciąg liter na wielkie, ustaw kursor na pierwszej literze, następnie w trybie ex wpisz gUX i na koniec naciśnij prawą strzałkę na klawiaturze.
  2. Aby zmienić X słów, umieść kursor na początku słowa i wpisz gUXw w trybie ex.
  3. Aby zmienić całą linię na wielkie litery, umieść kursor w dowolnym miejscu linii i wpisz gUU w trybie ex.

Na przykład, aby przekonwertować całą linię małą na wielką literę, należy umieścić kursor w dowolnym miejscu linii i wpisać gUU:

Na przykład, aby zamienić 2 wielkie litery słowa na małe, należy umieścić kursor na początku pierwszego słowa i wpisać gu2w:

TIP #10: Usuń znaki, słowa lub początek linii w trybie INSERT

Chociaż możesz usunąć znaki lub kilka słów na raz w trybie ex (tzn. dw, aby usunąć słowo), możesz to również zrobić w trybie wstawiania w następujący sposób:

  1. Ctrl + h: usuń poprzedni znak do miejsca, w którym aktualnie znajduje się kursor.
  2. Ctrl + w: usuń poprzednie słowo w miejscu, w którym aktualnie znajduje się kursor. Aby to działało poprawnie, kursor musi znajdować się w pustym miejscu po słowie, które chcesz usunąć.
  3. Ctrl + u: usuń bieżącą linię zaczynającą się od znaku znajdującego się bezpośrednio na lewo od miejsca, w którym znajduje się kursor.

TIP #11: Przenieś lub skopiuj istniejące linie do innej linii dokumentu

Prawdą jest, że w trybie ex możesz używać dobrze znanych poleceń dd, yy i p, aby odpowiednio usuwać, szarpać (kopiować) i wklejać linie, ale działa to tylko wtedy, gdy kursor jest umieszczony w miejscu, w którym chcesz wykonać te operacje . Dobra wiadomość jest taka, że za pomocą poleceń kopiuj i przenieś możesz zrobić to samo niezależnie od tego, gdzie aktualnie znajduje się kursor.

W następnym przykładzie użyjemy krótkiego wiersza zatytułowanego „Forever” autorstwa Terri Nicole Tharrington. Na początek vim wyświetli numery linii (:set nu w trybie poleceń – potraktuj to jako dodatkową wskazówkę). Użyjemy :3copy5 (również w trybie poleceń), aby skopiować linię 3 poniżej linii 5:

Teraz cofnij ostatnią zmianę (Esc + u – kolejna dodatkowa wskazówka!) i wpisz :1move7, aby zastąpić linię 7 linią 1. Zwróć uwagę, jak przesunięte są linie od 2 do 7 w górę i poprzednia linia 1 zajmuje teraz linię 7:

WSKAZÓWKA #12: Licz dopasowania wynikające z wyszukiwania według wzorca i przechodź od jednego wystąpienia do drugiego

Ta wskazówka opiera się na poleceniu zastępczym (wskazówka nr 7 w części 1 tej serii), z tym wyjątkiem, że niczego nie usunie, ponieważ zachowanie zastępcze zostanie zastąpione przez opcję n, w wyniku której zostanie zliczona liczba wystąpień określonego wzorca:

Upewnij się, że nie pominąłeś żadnego ukośnika!

:%s/pattern//gn 

Na przykład,

:%s/libero//gn

Aby przejść od jednego wystąpienia wzorca do następnego w trybie ex, naciśnij n (małe N). Aby przejść do poprzedniej instancji, naciśnij N.

TIP #13: Otwórz bezpośrednio vi/m w określonej linii

Domyślnie po uruchomieniu vi/m kursor jest początkowo umieszczany w ostatniej edytowanej linii. Jeśli chcesz otworzyć program i ustawić kursor bezpośrednio w określonej linii, możesz zastosować następującą sztuczkę:

vim filename +line_number

Na przykład otwórz plik forever.txt i umieść kursor w wierszu 6:

vim forever.txt +6

Zmieńmy trochę ten przykład. Załóżmy, że chcemy otworzyć plik w linii, w której pojawia się trzecie wystąpienie wzorca:

vim filename +$(grep -in pattern filename | sed -n 3p | cut -d: -f1)

Przyjrzyjmy się bliżej działaniu powyższego polecenia:

  1. grep -in nazwa pliku wzorca – wyświetla wszystkie linie z nazwy pliku, w którym występuje wzorzec, z numerem linii na początku każdej linii wyjściowej.
  2. sed -n 3p – wyświetla trzecią linię z wyjścia poprzedniego potoku.

Wreszcie,

  1. cut -d: -f1 zwraca pierwsze pole poprzedniego potoku, przy czym dwukropek (:) jest separatorem pól.
grep -in forever forever.txt
grep -in forever forever.txt | sed -n 3p
grep -in forever forever.txt | sed -n 3p | cut -d: -f1

Wynik poprzedniego polecenia jest następnie przekazywany do vi/m, aby otworzyć program w określonej linii.

WSKAZÓWKA #14: Dostosowywanie środowiska vi/m

Jeśli używasz vi/m do edycji plików konfiguracyjnych lub pisania kodu, będziesz chciał mieć możliwość wyświetlania numerów linii przy pierwszym otwarciu programu i ustawiania automatycznego wcięcia, tak aby po naciśnięciu Enter , kursor zostanie automatycznie umieszczony we właściwym miejscu. Ponadto możesz dostosować liczbę białych znaków zajmowanych przez kartę.

Chociaż możesz to zrobić za każdym razem, gdy uruchamiasz vi/m, łatwiej jest ustawić te opcje w ~/.vimrc, aby były automatycznie stosowane:

set number
set autoindent
set shiftwidth=4
set softtabstop=4
set expandtab

Dalsze opcje dostosowywania środowiska vi/m można znaleźć w dokumentacji vima online.

TIP #15: Uzyskaj ogólną pomoc/opcje Vima za pomocą vimtutora

Jeśli w dowolnym momencie będziesz musiał odświeżyć swoje ogólne umiejętności dotyczące vi/m, możesz uruchomić vimtutor z wiersza poleceń, co wyświetli pełną pomoc dotyczącą vi/m, do której możesz się odwoływać tak często, jak chcesz bez konieczności uruchamiania przeglądarki internetowej w celu wyszukania sposobu wykonania określonego zadania w vi/m.

vimtutor

Pamiętaj, że możesz nawigować lub przeszukiwać zawartość vimtutora tak, jakbyś nawigował po zwykłym pliku w vi/m.

Streszczenie

W tej serii składającej się z dwóch artykułów podzieliłem się kilkoma wskazówkami i trikami dotyczącymi vi/m, które powinny pomóc Ci zwiększyć efektywność edycji tekstu za pomocą narzędzi wiersza poleceń. Jestem pewien, że musisz mieć inne – więc możesz podzielić się nimi z resztą społeczności, korzystając z poniższego formularza. Jak zawsze, pytania i komentarze są również mile widziane.