gvim не оператор в замещающей команде - PullRequest
2 голосов
/ 28 декабря 2010

У меня есть несколько файлов, которые выглядят так, как показано ниже:

HR0100001012010093001
EF0000120100930000000
HR0200001012010093001
EF0000120100930000000
HR0900001012010093001
EF000012010093000000
HR1000001012010093001
EF000012010093000000
HR1100001012010093001
text
EF000012010093000000
HR1200001012010093001
EF000012010093000000
HR1300001012010093001
EF000012010093000000
HR0100001012010093001
text
EF0000120100930000000
HR2000001012010093001
EF000012010093000000
HR2200001012010093001
EF000012010093000000

Я бы хотел снять все блоки, начиная с HRxx и заканчивая EF *, за исключением тех, которые начинаются с HR01, т.е. я хотел бы получить результат ниже:

HR0100001012010093001
EF0000120100930000000
HR0100001012010093001
text
EF0000120100930000000

Используя команду ниже:

:%s/HR01\_.\{-}EF.*$//g

Я могу УДАЛИТЬ строки, которые ищу; В качестве последнего шага я хотел бы использовать «не оператор», чтобы отменить результат и получить строки, которые мне действительно нужны. К сожалению, я не понимаю, как это сделать.

Любая помощь очень ценится.

Спасибо, Francesco

1 Ответ

2 голосов
/ 28 декабря 2010

Решение найдено:

%s/HR\(01\)\@!\_.\{-}EF.*$//g
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...