Vim znajdź i wymień

Vim znajdź i wymień
VI/VIM jest jednym z legendarnych redaktorów tekstu, który wciąż znajduje swoje miejsce w arsenale zaawansowanych i profesjonalnych użytkowników. Vim jest szczególnie popularny wśród programistów. Każda dystrybucja Linux tam obejmuje domyślnie vim. Jeśli używasz systemu nie-linux, nadal powinieneś być w stanie cieszyć się tym edytorem tekstu z dowolnego systemu. Zdobądź vim.

Dlaczego ten starożytny oprogramowanie jest nadal aktualny? Ponieważ jest to lekki skrót klawiatury dla prawie każdej funkcji, wbudowane wyszukiwania wyrażeń oraz solidny, stabilny i zdrowy ekosystem wtyczek. Nie wspominając o innych współczesnych funkcjach edytora tekstu, takich jak piękna podświetlenie składni. Znajdziesz vim popularny wśród programistów, ponieważ VIM wymaga ciężkiego skupienia klawiatury. To dobra praktyka dla programistów.

Jak sugeruje tytuł artykułu, celem tego przewodnika jest lepsze zrozumienie wyszukiwania i zastąpienie funkcji VIM. Vim nie ma się bać. W rzeczywistości jest to jeden z supermocarstw, które zawsze będziesz mieć u boku.

Tworzenie plików demo

Na początku potrzebujemy tekstu demo. Do nauki VIM najbezpieczniejszym sposobem jest utworzenie jednorazowego pliku tekstowego i zrobienie z nim, co chcesz. W ten sposób, nawet jeśli coś pójdzie nie tak, nic ważnego nie jest utracone.

Używam Manjaro Linux jako mojego systemu Linux. Dowiedz się, jak zainstalować Manjaro Linux. Jest to dystrybucja oparta na łuku, używając Pacmana jako domyślnego menedżera pakietów. Wygenerowałem plik tekstowy zawierający wszystkie zainstalowane pakiety w moim systemie.

Pacman -qqe >> PackageList.tekst
Kot PackageList.tekst

Teraz uruchom plik tekstowy w VIM!

Vim Packagelist.tekst

VIM Search

Do wyszukiwania VIM używa następującej struktury.

?

Na przykład wyszukajmy „Python”.

?pyton

Domyślnie wyszukiwanie będzie pomieścić jeden stały wynik. Aby przejść do następnego/poprzedniego wyniku wyszukiwania, użyj następujących klawiszy.

Uwaga: nie zapomnij nacisnąć Enter przed użyciem następujących klawiszy. W przeciwnym razie wyszukiwane termin zmieni!

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

To tylko podstawowy sposób wyszukiwania. Wypróbujmy nieco mocniejszą metodę.

/\\>

Tutaj \ służy zakończeniu ciągu.

Podobnie jak poprzedni przykład, użyj N lub N (zależny od przypadku), aby poruszać się po wynikach wyszukiwania.

Wyszukiwanie obsługuje również przy użyciu dzikich kart. Na przykład istnieje wiele pakietów z rozszerzeniem „Python-”.

Aby poszukać ich wszystkich, możemy użyć „Python*”. Tutaj gwiazdka mówi, że wszystko po prefiksie „Python”. W przypadku każdego wyszukiwania gwiazdka może znajdować się w dowolnym miejscu w wyszukiwaniu. Gdziekolwiek jest, każe Vimowi wypełnić lukę wszystkimi możliwymi danymi z całego pliku tekstowego.

/\

Kiedy szukasz, Vim zawsze umieści kursor na początkowym charakterze meczów. To jest akcja domyślna. Nie martw się; VIM umożliwia zmianę domyślnej pozycji lądowania kursora.

/Python/e

Tutaj ostatni „E” mówi, aby dotrzeć do kursora na końcu dopasowującej frazy. Korzystając z poniższego przykładu, możesz również powiedzieć, aby wylądować kursor poniżej lub powyżej wyniku wyszukiwania.

//+2
//-3

Możliwe jest również zrównoważenie kursora od początku/końca dopasowań wyszukiwania. Na przykład następujące polecenie wyląduje kursor o 3 znaku obok początku.

//s+3
//B+3

Tutaj „S” wskazuje początek, „+3” wskazuje 3 znaki od początku. „B” oznacza „początek”. Działa również podobnie jak „S”. Z zrzutu ekranu VIM automatycznie przetłumaczy „B” na „S”.

Jeśli chcesz zrównoważyć z końca meczów wyszukiwania, użyj „E”.

/

Oto kolejny niesamowity sposób wykonywania wyszukiwania pliku tekstowego.

:%S/// gn

Szczegółowe wyjaśnienie polecenia znajduje się w następnej sekcji artykułu.

Vim zamień

Znajdź i zamień to kolejna powszechna i niezbędna funkcja dla każdego edytora tekstu wysokiej jakości. Vim, będąc legendą, oferuje solidny sposób na znalezienie i zastąpienie pożądanego tekstu w prosty sposób. Polecenie funkcji jest proste, ale pozwala na wykonanie naprawdę złożonych prac.

: S///

Rozbijmy każdą część.

  • Zakres - Zdefiniuj zakres wykonywania funkcji „Znajdź i zamień”. Istnieją 2 różne wartości.
    • % - Wykonaj na całym pliku
    • , - Wykonaj akcję na określonym zestawie linii.
  • Search_string - ciąg, który musisz wymienić.
  • zastąpienie_string - nowy ciąg, który zastąpi stary.
  • Modyfikator - Określ zachowanie zastąpienia. Istnieje kilka różnych wartości.
    • G - opcja „globalna”. Wykonaj wymian na każdym wystąpieniu linii.
    • GC - poproś o potwierdzenie przed dokonaniem każdego wymiany.
    • GN - zignoruj ​​funkcję zastąpienia i podświetl znaleziska.

Na przykład zastąpmy „Python” na „Python3”.

:%S/Python/Python3/g

Proste, prawda? Teraz sprawdźmy następującą.

:%S/Python/Python3/GC

Istnieje kilka działań, które możesz wybrać. Podczas gdy niektóre z nich są znane, inne nie są. Zobaczmy, co to znaczy.

  • y - Pozwól na wykonanie zmiany.
  • N - Nie zwolnij dokonania zmiany.
  • a - zastąpić wszystko.
  • q - Wykręć zadanie.
  • L - Wystarczy zastąpić to zdarzenie. Następnie zrezygnuj.
  • ^E (ctrl + e) ​​- Przewiń w górę ekranu
  • ^Y (Ctrl + Y) - Przewiń na ekranie

Teraz wypróbujmy część zasięgu. W poprzednim przykładzie wykorzystaliśmy już zakres „%”. Teraz nadszedł czas, aby ograniczyć nasze wyszukiwania w wielu liniach.

: 200 250 S/Python/Python3/G

Wyszukiwanie rozpocznie się od linii 200, a kończą w linii 250. Pomiędzy granicami, cały wpis „Python” zostanie zmieniony na „Python3”.

Ta funkcja nie ogranicza się tylko do jednego wyszukiwanego terminu. Możesz dołączyć wiele wyszukiwanych warunków!

:%S/\ |\ |
//G

Spróbujmy zmienić wszystkie wpisy „Python” i „Py” na „Python3”.

:%S/Python \ | Py/Python3/g

Rozróżnianie wielkości liter

Wszystkie sztuczki opisane wcześniej w przewodniku są wysoce wrażliwe. Musisz naprawdę upewnić się, że za każdym razem, gdy pracujesz, wpisujesz postacie we właściwym przypadku. Na przykład „Python”, „Python”, „Python” itp. Wszystkie są różnymi wpisami.

Jeśli nie pamiętasz sprawy, po prostu powiedz Vimowi, aby stał!

/\C
:%S/\C//G

Ta niewrażliwość może być również bezpośrednio włączona z pliku VIMRC.

Ustaw ignorCase

Oto kolejna interesująca opcja.

Ustaw SmartCase

„IgnorCase” zmusi Vima do zignorowania wrażliwości na sprawę. Jeśli jednak w wyszukiwaniu będzie jakiś liter, „inteligentka” umożliwi Vimowi znów stać się wrażliwy na sprawę.

Uwaga: Aby „smartcase” działało, najpierw potrzebujesz „ignorcase”.

Końcowe przemyślenia

Jest wiele rzeczy, które możesz wykonać z VIM. To jest jak najlepszy edytor tekstu, którego kiedykolwiek potrzebujesz. Wszystko, czego potrzebujesz, to tylko cierpliwość i praktyka.

Cieszyć się!