Умный поиск / замена в Vim - PullRequest
1 голос
/ 17 июня 2010

У меня есть файл со следующими выражениями:

что-то [0]

Где вместо 0 могут быть разные числа. Я хочу заменить все эти вхождения на

somethingElse0

Где число должно быть таким же, как в замененном мною выражении. Как мне это сделать?

Ответы [ 2 ]

6 голосов
/ 17 июня 2010

Используйте группировку шаблонов так:

:%s/something\[\(\d\+\)\]/somethingElse\1/g
1 голос
/ 17 июня 2010

Для этого вы должны использовать комбинацию групп совпадений и классов персонажей. Ваш пример, если вы имеете в виду замену Something (numbers-here) на SomethingElse (same-numbers), решается с помощью следующей команды:

:%s/Something\(\d\+\)/SomethingElse\1/g

Это находит все места в файле, которые имеют Something (кучу цифр), и заменяет Something на SomethingElse. + Означает одну или несколько цифр; Вы можете заменить это на *, если хотите получить ноль или более цифр.

...