Блог

Помни, VIM: Поиск и замена

Vim содержит в наличии команду для поиска и замены (:substitute), он достаточно прост в использовании команда даёт возможность вставки текста в строку поиска или замены полей.

:substitute (:s) команда выполняет поиск текста по шаблону, и заменяет её текстовой строкой. Есть много вариантов, но это то, что вы, вероятно, хотите:

:%s/foo/bar/g
Найти каждое вхождение ‘foo’, и заменить его на ‘bar’.

:%s/foo/bar/gc
Изменение каждого ‘foo’ на ‘bar’, но запрос на подтверждение в первую очередь.

:%s/\<foo\>/bar/gc
Изменение только целые слова точно соответствующие ‘foo’ в ‘bar’, запрос на подтверждение.

:%s/foo/bar/gci
Изменение каждого ‘foo’ (без учета регистра) на ‘bar’, запрос на подтверждение.

:%s/foo/bar/gcI
Изменение каждого ‘foo’ (с учетом регистра), на ‘bar’, запрос на подтверждение.

Флаг ‘g’ средства глобальной – каждое появление в линии изменяется, а не просто в первую очередь. И ещё примеры:

:s/foo/bar/g
Изменение каждого ‘foo’ в ‘bar’ в текущей строке

:%s/foo/bar/g
Изменение каждого ‘foo’ в ‘bar’ во всех линиях

:5,12s/foo/bar/g
Изменение каждого ‘foo’ в ‘bar’ для всех линий от линии 5 в строку 12 включительно.

:.,+2s/foo/bar/g
Изменение каждого ‘foo’ в ‘bar’ для текущей строки и две следующие строки (+2)

:g/^baz/s/foo/bar/g
Изменение каждого ‘foo’ в ‘bar’ в каждой строке, начиная с ‘baz’.

Более подробно можно ознакомится здесь:
http://vim.wikia.com/wiki/Search_and_replace