Vim jest zaawansowanym i popularnym edytorem 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 nie opartych na GUI. Jest on wysoce konfigurowalny i posiada wiele funkcji. Istotnym punktem dotyczącym Vima jest to, że jest on wysoce zoptymalizowany do powtarzania.
W tym artykule wyjaśnimy jedną z jego najbardziej użytecznych funkcji, jaką jest wyszukiwanie i zamiana. Z garścią konfiguracji, możesz wyszukać wszystko co chcesz z ogromną prędkością i dokładnością.
Metoda #1 Znajdź i zamień jedno wystąpienie na raz (Używając ukośnika i kropki)
Najprostszym sposobem wyszukiwania i zamiany słów w Vimie jest użycie ukośnika i kropki. Ukośnik (/) może być użyty do wyszukania słowa, podczas gdy kropka (.) może być użyta do zastąpienia tego słowa.
Postępuj zgodnie z poniższymi prostymi krokami, aby wyszukać i zastąpić dowolne słowo w edytorze Vim:
- Otwórz plik w Vim
- Naciśnij ukośnik (/) wraz z wyszukiwanym terminem jak „/ search_term” i naciśnij Enter. Spowoduje to podświetlenie wybranego słowa.
- Następnie naciśnij klawisz cgn, aby zastąpić podświetlone słowo i wprowadź replace_term
- Powróć 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 dla podstawowych funkcji wyszukiwania i zastępowania, ponieważ obejmuje tylko kilka naciśnięć klawiszy i mniej zakłóceń w bieżącej pracy. Jednakże, dla szukania słowa, które występuje zbyt wiele razy, stanie się to powtarzalnym i czasochłonnym zadaniem.
W Vimie, jest inny lepszy sposób na uniknięcie tego powtarzalnego zadania, którym jest użycie polecenia zastępczego.
Metoda #2 Znajdź i zamień używając polecenia zastępczego
Polecenie zastępcze może być użyte do wykonania podstawowych do zaawansowanych funkcji wyszukiwania i zastępowania za pomocą jednego polecenia. Składnia tego polecenia jest następująca:
Zauważ, że to polecenie musisz wprowadzić w trybie normalnym.
Gdzie
- S: oznacza zastępowanie
- search_term: słowo, które chcesz wyszukać i zastąpić
- replace_term: słowo, którym chcesz je zastąpić
- Opcja: c (dla potwierdzenia), g (zamień wszystkie wystąpienia w jednym wierszu), i (dla ignorowania wielkości liter)
Szukaj i zamieniaj
Aby wykonać podstawowe wyszukiwanie i zamienianie za pomocą polecenia zastępuj, użyj następującej składni:
To polecenie zastąpi wszystkie instancje search_term terminem 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 zamienić każde wystąpienie „Ubuntu” na „Debian” w poniższym tekście, należałoby użyć następującego polecenia:
Wyszukaj i zamień w pojedynczym wierszu
Aby wyszukać i zamienić wystąpienie słowa tylko w pojedynczym wierszu zamiast w całym pliku, użyj następującej składni:
Na przykład, aby zastąpić wystąpienie Ubuntu na Debian w powyższym przykładowym tekście, należałoby użyć następującego polecenia bez symbolu %:
Wyszukaj i zamień z potwierdzeniem
Jeśli chcesz być poproszony o potwierdzenie przed zastąpieniem wyszukiwanego terminu, użyj litery „c” na końcu polecenia wyszukiwania w następujący sposób:
Powyższe polecenie poprosi o potwierdzenie przed każdą zamianą (Wprowadź y dla tak, a n dla nie).
Wyszukiwanie i zamiana bez rozróżniania wielkości liter
Gdy wykonujesz wyszukiwanie i zamianę w Vimie, domyślnie rozróżniana jest wielkość liter. Możesz wykonać wyszukiwanie bez rozróżniania wielkości liter przez dodanie „i” na końcu polecenia, jak poniżej:
Na przykład, aby wyszukać termin „Ubuntu” niezależnie od jego przypadku (UBUNTU, Ubuntu, ubuntu, uBuntu), należałoby użyć następującego polecenia:
Wyszukiwanie i zastępowanie całego słowa
Domyślnie polecenie zastępowania wyszukuje każde dopasowanie, niezależnie od tego, czy jest ono częściowe, czy pełne. W celu dopasowania dokładnego szukanego_terminu, a następnie zastąpienia go przez zastępowany_termin, należy zawrzeć szukany _termin wewnątrz „<>”.
Na przykład, w niektórych dokumentach, chcesz wyszukać i zastąpić dokładne słowo „ty” przez „ja”. W takim przypadku należałoby użyć następującego polecenia:
Znajdzie ono słowo „ty” i zastąpi je słowem „ja”. Nie zastąpi jednak słów takich jak „twój”.
Wyszukiwanie i zastępowanie słów w poszczególnych liniach
Aby wyszukać słowo w poszczególnych liniach, a nie tylko w jednej linii lub w całym pliku, można użyć następującej składni:
Na przykład, aby wyszukać i zamienić wystąpienie Ubuntu na Debian z linii od 3 do 8 w jakimś pliku, polecenie brzmiałoby:
Aby wyszukać i zastąpić wystąpienie słowa od bieżącej linii do następnej x liczby linii, należałoby użyć następującej składni:
Podobnie, aby wyszukać i zastąpić wystąpienie słowa od bieżącej linii do ostatniej linii: użyto by następującej składni:
PODSUMOWANIE
W tym artykule poznaliśmy dwa sposoby na wyszukiwanie i zastępowanie dowolnego słowa w edytorze Vim z linii poleceń. Pierwsze polecenie, które było przy użyciu ukośnika i kropki jest najprostszą i najłatwiejszą metodą, ale okazuje się być powtarzalne, gdy szukasz i zastępujesz słowo, które występuje zbyt wiele razy. Drugie polecenie, które jest komendą zastępczą, może wydawać się trudne i skomplikowane, ale gdy zaczniesz je ćwiczyć, przekonasz się, że jest niezwykle przydatne w wielu scenariuszach.