В vim я часто удаляю (или копирую) большие блоки текста. Можно посчитать строки текста и сказать (например) 50dd, чтобы удалить 50 строк.
50dd
Но как удалить этот большой блок текста, не зная, сколько строк удалить?
Вы можете поместить курсор в начало или конец блока и войти в визуальный режим (shift-v).Затем просто двигайтесь вверх или вниз, пока не будет выделен нужный блок.Наконец, скопируйте текст, нажав клавишу y, или обрежьте текст, нажав кнопку d.
Предполагается, что курсор находится в начале блока:
V/^$<CR>d (where <CR> is the enter/return key)
V
/^$<CR>
d
Более надежное решение:
:set nowrapscan :nnoremap D V/^\s*$\\|\%$<CR>d
:set nowrapscan
D
:nnoremap D
/^\s*$\\|\%$<CR>
Вы также можете ввести очень большое число, а затем нажать dd, если хотите удалить все строки под курсором.
dd