2012-12-22 8 views
10

Czy istnieje metoda porównywania wielu słów naraz w wyszukiwaniu i zamianie vim? Coś jak:Dopasowanie foo lub paska vim regex

:%s/foo|bar//g 

szukać foo lub bar i zastąpić niczym (to wyszukuje wzorca foo|bar, co nie jest to, co chcę). mogę wyszukać wiele znaki ten sposób:

abcdef 
:%s/[ace]//g 

wyniki w:

bdf 

mogę zrobić to samo ze słowami?

jestem w pełni świadoma co mogłem zrobić to tak:

:%s/foo//g 
:%s/bar//g 

szukam rozwiązania jednej linii, jeśli coś takiego istnieje.

Odpowiedz

18

W wyrażeniach regularnych operator zmian musi zostać zastąpiony ukośnikiem odwrotnym: użyj foo\|bar.

9

Zamiast ucieczki | z odwrotnym ukośnikiem, można użyć vim na "very magic" mode z sekwencją \v:

:%s/\vfoo|bar//g 
Powiązane problemy