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):
- Ctrl+w k – góra
- Ctrl+w j – dół
- Ctrl+w l – w lewo
- 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ą.
- 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.
- Aby zmienić X słów, umieść kursor na początku słowa i wpisz gUXw w trybie ex.
- 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:
- Ctrl + h: usuń poprzedni znak do miejsca, w którym aktualnie znajduje się kursor.
- 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ąć.
- 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:
- 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.
- sed -n 3p – wyświetla trzecią linię z wyjścia poprzedniego potoku.
Wreszcie,
- 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.