Ответ 1
В нормальном режиме:
G100kdgg
Другими словами:
G -> go to last line
100k -> go up 100 lines
dgg -> delete to top of file
В vim, когда мой курсор находится в первой строке, я могу нажать:
100dd
чтобы удалить первые 100 строк.
Но как удалить все строки, кроме последних 100 строк?
В нормальном режиме:
G100kdgg
Другими словами:
G -> go to last line
100k -> go up 100 lines
dgg -> delete to top of file
В режиме ex:
:1,$-100d
Объяснение: ":" помещает редактор в "ex mode". Команда d в режиме ex удаляет строки, указанные как номер одной строки, или диапазон строк. $- последняя строка, а арифметика может быть применена к номерам строк.
Альтернативное решение общего назначения:
:%!tail -100
Вы можете использовать любую команду оболочки после !
для произвольного изменения текущего буфера. Vim запускает команду и передает текущий файл в stdin
и считывает новый буфер из stdout
.