vim
Znajdź i zamień
Szukaj…
Zastępstwo Dowodzenia
To polecenie:
:s/foo/bar/g
zastępuje każde wystąpienie foo
bar
w bieżącej linii.
fool around with a foodie
staje się
barl around with a bardie
Jeśli zrezygnujesz z ostatniego /g
, zastąpi to tylko pierwsze wystąpienie na linii. Na przykład,
:s/foo/bar
W poprzedniej linii stałoby się
barl around with a foodie
To polecenie:
:5,10s/foo/bar/g
dokonuje tego samego podstawienia w liniach od 5 do 10.
To polecenie
:5,$s/foo/bar/g
wykonuje to samo podstawienie od wiersza 5 do końca pliku.
To polecenie:
:%s/foo/bar/g
wykonuje to samo podstawienie w całym buforze.
Jeśli jesteś w trybie wizualnym i naciśniesz dwukropek, pojawi się symbol '<,'>
. Możesz to zrobić
:'<,'>s/foo/bar/g
i spraw, aby zmiana nastąpiła w ramach wybranego trybu wizualnego.
To polecenie:
:%s/foo/bar/gc
jest równoważne powyższemu poleceniu, ale prosi o potwierdzenie przy każdym wystąpieniu dzięki opcji /c
(dla „potwierdzenia”).
Zobacz :help :s
and :help :s_flags
.
Zobacz także tę sekcję dotyczącą zakresów wiersza poleceń .
Zamień na lub bez wyrażeń regularnych
To polecenie zastępcze może używać wyrażeń regularnych i będzie pasować do każdego wystąpienia foo
po którym następuje dowolny (jeden) znak od tego okresu .
w wyrażeniach regularnych pasuje do dowolnego znaku, dlatego następujące polecenie dopasuje wszystkie wystąpienia foo
po których następuje dowolny znak w bieżącym wierszu.
:s/foo./bar/g
1 fooing fooes fool foobar foosup
stanie się
1 barng bars bar barar barup
Jeśli chcesz dopasować dosłowność .
kropkę możesz uciec w polu wyszukiwania ukośnikiem odwrotnym \
.
:s/foo\./bar/g
1 fooing fooes foo.l foo.bar foosup
stanie się
1 fooing fooes barl barbar foosup
Lub wyłącz wszystkie dopasowania wzorca, wykonując polecenie s
no
.
:sno/foo./bar/g
1 fooing fooes foo.l foo.bar foosup
zgłosi błąd
E486: Pattern not found