Как я могу сделать этот поиск и заменить VIM? - PullRequest
0 голосов
/ 23 августа 2011

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

options [15] = new Option ("text1", "25");

options [16] = new Option ("text2 "," 23 ");

options [17] = новый Option (" text3 "," 12 ");

(и более ...)

Как я могу заменить каждую строку текстом #?. Например, первая строка должна быть заменена на text1, вторая строка - на text2 и т. Д.

Ответы [ 3 ]

3 голосов
/ 23 августа 2011

В качестве альтернативы :s и использования макроса я иногда нахожу :normal очень приятным.

%norm df"f"d$

Мы можем сократить это, но используя движение ;, которое будет повторять движение f", и использовать D, которое совпадает с d$

%norm df";D
2 голосов
/ 23 августа 2011

Похоже, они у вас уже есть в источнике. Предполагая, что у вас есть такие строки:

options [15] = новая опция («text #», «25»);
...

И вы хотите изменить на это:

options [15] = новая опция («text15», «25»);
...

Вот что вы делаете: измените первую строку на text1 дергать "text1"

create a macro (qq)
/text
dw
p
ctrl+a
b
vwly
q

Тогда, если у вас 25 строк: сделайте 23 @ q

23 вызова макроса, поскольку вы сделали первые два вручную.

2 голосов
/ 23 августа 2011

Чтение :h /\(

%s/\Voptions[\d\+]=new Option("\(text\d\+\)","\d\+");/\1/g
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...