na marginesie, zamiast wpisywać numery linii, tylko podkreślenie linii gdzie chcesz znaleźć/zastąpić w jednym z trybów optyczny:
VISUAL
tryb (V)
VISUAL BLOCK
tryb (Ctrl + V)
VISUAL LINE
tryb (Przesunięcie + V, najlepiej działa w Twoim przypadku)
Po wybraniu linii do zamiany, ty pe swoją komendę:
:s/<search_string>/<replace_string>/g
Będziesz pamiętać, że zakres '<,'>
zostanie wstawiony automatycznie dla Ciebie:
:'<,'>s/<search_string>/<replace_string>/g
Tutaj '<
oznacza po prostu podświetlony pierwszy wiersz i '>
oznacza ostatni zaznaczony wiersz.
Należy zauważyć, że zachowanie może być nieoczekiwany gdy w NORMAL
trybie: '<
i '>
punkt do rozpoczęcia i zakończenia ostatniego podświetleniem wykonanej w jednym z VISUAL
trybach. Zamiast tego w trybie NORMAL
można użyć specjalnego numeru linii .
, który po prostu oznacza bieżącą linię. Stąd można znaleźć/wymienić tylko na aktualną linię:
:.s/<search_string>/<replace_string>/g
Inną rzeczą, aby pamiętać, że wstawienie drugiego :
w przedziale a find/polecenia robi nic złego, innymi słowy, te zastępują polecenia będą nadal działać:
:'<,'>:s/<search_string>/<replace_string>/g
:.:s/<search_string>/<replace_string>/g
Zobacz także [vim zaznacz/edytuj wiele niesekwencyjnych linii naraz] (http://stackoverflow.com/q/16439297). – glts
http://vim.wikia.com/wiki/Search_and_replace – MrRolling