удалить содержимое .txt с VIM между конкретными словами - PullRequest
1 голос
/ 05 марта 2012

Я хочу удалить содержимое .txt между двумя строками, чем ключевые слова содержимого.Это возможно с vim?

Ответы [ 2 ]

6 голосов
/ 05 марта 2012

Вы можете использовать эту команду:

:g/BEGIN/,/END/d

Если вам не нужно удалять ключевые слова:

:g/BEGIN/+1,/END/-1d
1 голос
/ 05 марта 2012

Учитывая

последняя строка, которую я хочу удалить, находится в конце файла, но первая строка, которую я хочу удалить, не первая из файла

Я бы использовал:

%s/\_.*\zs\n\=.*BEGIN\_.*END.*//

-> :h /\_., :h /\zs => до \zs, все (и новые строки / CR), которые могут быть сопоставлены, сопоставляется(включены первые появления BEGIN, которые вы, кажется, хотите игнорировать).Затем выполняется сопоставление всей строки (и ее предыдущей \n) удаляемой строки до конца (и ее полной строки).

...