Czy istnieje jakaś alternatywa w wyszukiwaniu vim i zamianie ciągów, niż konieczność ucieczki od każdego znaku specjalnego w ciągu.
Na przykład, jeśli chcę dopasować następujący ciąg i zastąpić czymś
[ERROR] Login unsucessful
Więc muszę to zrobić
:%s/\[ERROR\]\ Login\ unsucessful/something/g
I staje się o wiele bardziej brzydsze i bolesne w przypadku złożonych ciągów znaków zawierających wiele znaków specjalnych
Chciałbym zrobić coś takiego
:%s/"[ERROR] Login unsucessful"/something/g
co pozwoliłoby uniknąć ucieczki. Czy jest jakaś funkcja tego typu?
źródło
/
aby/\v
włączyć „bardzo magia” dla większości wyszukiwań, więc mam zmapowany//
do/
rozpocząć wyszukiwanie niezmodyfikowanej (przydatne dla przeżywa historię wyszukiwania ignorując modyfikatory) i/v/
aby/\V
szybko wyłączyć wszystkie magiczne dla poszukiwań.Nie musisz uciekać przed spacjami. Więc to:
powinno faktycznie być:
I oczywiście możesz włączyć bardzo nomagiczny „tryb”, aby te znaki specjalne były mniej wyjątkowe:
Zobaczyć
:help /magic
.źródło
Oprócz flag nomagicznych wspomnianych w innych odpowiedziach.
Często zdarza się, że nie musisz precyzować swojego ciągu wyszukiwania
Na przykład, aby dopasować
Możesz użyć tego wyrażenia
Oczywiście musisz wiedzieć, że twoje dane nie będą zawierać innych ciągów, różniących się od zamierzonego celu, ale pasujących do wyrażenia.
źródło