2012-04-04 2 views
1

У меня есть текстовый файл, содержащий два или более типов линий. Я хотел бы разделить его на два разных файла. я, что с этим списком команд:Как разбить файл по два с помощью регулярных выражений

:%g/myregexpforlinetype1/ . w >> file1 
:%g/myregexpforlinetype1/d 
:w file2 

Но я думаю, что это не является оптимальным. Как я могу сделать это более общим, более надежным, более эффективным?

Благодаря

ответ

1

Вы можете использовать тот факт, что :v матчей всех строк, не соответствующее выражение поиска в сочетании с тем, что // будет повторять предыдущий поиск:

:%g/myregexpforlinetype1/ . w >> file1 
:%v// . w >> file2 
+0

Спасибо, это решение хорошо меня. Тем более, что это заставило меня открыть новую команду vim »: v //». –

Смежные вопросы