Wyszukaj i zamień Vima

Vim Search Replace



Vim to zaawansowany i popularny edytor tekstu, który jest preinstalowany w większości dystrybucji Linuksa. Jest to edytor tekstu oparty na wierszu poleceń, który jest najczęściej używany w systemach operacyjnych innych niż GUI. Jest wysoce konfigurowalny i zawiera wiele funkcji. Ważnym punktem dotyczącym Vima jest to, że jest wysoce zoptymalizowany pod kątem powtarzania.

W tym artykule wyjaśnimy jedną z najbardziej przydatnych funkcji, jaką jest wyszukiwanie i zastępowanie. Dzięki kilku konfiguracjom możesz wyszukiwać wszystko, co chcesz, z niesamowitą prędkością i z większą szczegółowością.







Metoda nr 1 Znajdź i zamień jedno wystąpienie na raz (przy użyciu polecenia ukośnik i kropka)

Najprostszym sposobem wyszukiwania i zastępowania słowa w Vimie jest użycie polecenia ukośnika i kropki. Ukośnika (/) można użyć do wyszukania słowa, a kropki (.) do zastąpienia tego słowa.



Wykonaj poniższe proste kroki, aby wyszukać i zamienić dowolne słowo w edytorze Vima:



  • Otwórz plik w Vim
  • Naciśnij klawisz ukośnika (/) wraz z wyszukiwanym terminem, takim jak / search_term i naciśnij Enter. Podświetli wybrane słowo.
  • Następnie naciśnij klawisz cgn aby zamienić podświetlone słowo i wprowadź replace_term
  • Wróć do normalnego trybu. Następnie naciśnij n, aby przejść do następnego wystąpienia wyszukiwanego terminu.
  • Następnie naciśnij kropkę (.), jeśli chcesz zastąpić następne wystąpienie tym samym replace_term, w przeciwnym razie ponownie naciśnij klawisz n, aby przejść do następnego wystąpienia.

Jest to najszybsza i najlepsza metoda podstawowego wyszukiwania i zastępuje funkcje, ponieważ wymaga tylko kilku naciśnięć klawiszy i mniej zakłóceń w bieżącej pracy. Jednak wyszukiwanie słowa, które pojawia się zbyt wiele razy, stanie się zadaniem powtarzalnym i czasochłonnym.





Z Vimem jest inny lepszy sposób na uniknięcie tego powtarzającego się zadania, którym jest użycie polecenia zastępowania.

Metoda nr 2 Znajdź i zamień za pomocą polecenia Zastąp

Polecenie zastępowania może służyć do wykonywania wyszukiwania podstawowego lub zaawansowanego oraz zastępowania funkcji jednym poleceniem. Składnia tego polecenia to:



$:s/<szukany termin> /<replace_term> /opcja

Zauważ, że musisz wprowadzić to polecenie w trybie normalnym.

Gdzie

  • S: oznacza substytut
  • search_term: słowo, które chcesz wyszukać i zamienić
  • replace_term: słowo, którym chcesz je zastąpić
  • Opcja: c (dla potwierdzenia), g (zamień wszystkie wystąpienia w jednym wierszu), i (dla zignorowania wielkości liter)

Wyszukaj i zamień

Aby wykonać podstawowe wyszukiwanie i zamienianie za pomocą polecenia zastępowania, użyj następującej składni:

:%s/<szukany termin> /<replace_term> /g

To polecenie zastąpi wszystkie wystąpienia search_term na replace_term.

Na przykład to jest nasz przykładowy tekst:

Ubuntu jest jednym z najczęściej używanych systemów operacyjnych Linux. Ubuntu zawiera tysiące przydatnych programów. Dzięki wierszowi poleceń Ubuntu możesz wykonać prawie każde zadanie.

Aby zastąpić każde wystąpienie Ubuntu Debianem w poniższym tekście, użyjemy następującego polecenia:

:%s/Ubuntu/Debiana/g

Wyszukaj i zamień w jednym wierszu

Aby wyszukać i zamienić wystąpienie słowa tylko w jednym wierszu zamiast w całym pliku, użyj następującej składni:

:s/<szukany termin> /replace_term/g

Na przykład, aby zamienić wystąpienie Ubuntu na Debian w powyższym przykładowym tekście, należy użyć następującego polecenia bez symbolu %:

:s/Ubuntu/Debiana/g

Wyszukaj i zastąp potwierdzeniem

Jeśli chcesz zostać zapytany o potwierdzenie przed zastąpieniem wyszukiwanego terminu, użyj c na końcu polecenia wyszukiwania w następujący sposób:

:s/<szukany termin> /<replace_term> /gc

Powyższe polecenie poprosi o potwierdzenie przed każdą zamianą (wprowadź y dla tak, a n dla nie).

Wyszukiwanie i zamienianie bez rozróżniania wielkości liter

Kiedy wykonujesz wyszukiwanie i zamianę w Vimie, domyślnie rozróżniana jest wielkość liter. Możesz przeprowadzić wyszukiwanie bez rozróżniania wielkości liter, dodając i na końcu polecenia w następujący sposób:

:s/<szukany termin> /<replace_term> /dawać

Na przykład, aby wyszukać termin Ubuntu niezależnie od jego przypadku (UBUNTU, Ubuntu, ubuntu, uBuntu), należy użyć następującego polecenia:

:s/ubuntu/debian/dawać

Wyszukaj i zamień całe słowo

Domyślnie polecenie zastępcze wyszukuje dowolne dopasowanie, niezależnie od tego, czy jest częściowe, czy pełne. Aby dokładnie dopasować search_term, a następnie zastąpić go replace_term, umieść wyszukiwane _term w .

Na przykład w niektórych dokumentach chcesz wyszukać i zamienić dokładnie słowo „ty” przeze mnie. W takim przypadku użyto by następującego polecenia:

:s/<ty> /i/

Znajdzie to słowo i zamieni je na mnie. Nie zastąpi jednak słów takich jak twoje.

Wyszukaj i zamień słowa w poszczególnych wierszach

W celu wyszukania słowa wśród poszczególnych linii zamiast tylko jednej linii lub całego pliku, można użyć następującej składni:

:<linia startowa>,<koniec linii>s/<szukany termin> /<replace_term> /g

Na przykład, aby wyszukać i zamienić wystąpienie Ubuntu na Debian z linii od 3 do 8 w jakimś pliku, polecenie to:

:1,10s/ubuntu/debian/g

Aby wyszukać i zamienić wystąpienie słowa z bieżącego wiersza na następną liczbę x wierszy, użyjemy następującej składni:

:s/szukany termin/replace_term/g x

Podobnie, aby wyszukać i zamienić wystąpienie słowa z bieżącego wiersza na ostatni wiersz: użyjemy następującej składni:

:.,$s/szukany termin/replace_term/g

WNIOSEK

W tym artykule poznaliśmy dwa sposoby wyszukiwania i zastępowania dowolnego słowa w edytorze Vima z wiersza poleceń. Pierwsze polecenie, które używało ukośnika i kropki, jest najprostszą i najłatwiejszą metodą, ale okazuje się, że jest powtarzalne, gdy szukasz i zamieniasz słowo, które występuje zbyt wiele razy. Inne polecenie, które kiedyś jest poleceniem zastępowania, może wydawać się trudne i złożone, ale gdy zaczniesz je ćwiczyć, okaże się ono niezwykle przydatne w wielu scenariuszach.