vim - Как удалить большой блок текста без подсчета строк? - PullRequest
189 голосов
/ 19 марта 2011

В vim я часто удаляю (или копирую) большие блоки текста. Можно посчитать строки текста и сказать (например) 50dd, чтобы удалить 50 строк.

Но как удалить этот большой блок текста, не зная, сколько строк удалить?

Ответы [ 13 ]

3 голосов
/ 19 марта 2011

Вы можете поместить курсор в начало или конец блока и войти в визуальный режим (shift-v).Затем просто двигайтесь вверх или вниз, пока не будет выделен нужный блок.Наконец, скопируйте текст, нажав клавишу y, или обрежьте текст, нажав кнопку d.

.
1 голос
/ 15 августа 2014

Удаление блока текста

Предполагается, что курсор находится в начале блока:

V/^$<CR>d (where <CR> is the enter/return key)

Пояснение

  • Введите "linewise-visual"режим: V
  • Выделите до следующей пустой строки: /^$<CR>
  • Удалить: d

Связывание клавиш

Более надежное решение:

:set nowrapscan
:nnoremap D V/^\s*$\\|\%$<CR>d

Объяснение

  • Отключить поиск в поиске: :set nowrapscan
  • Переопределить клавишу D (для следующих команд): :nnoremap D
  • Войдите в режим «linewise-visual»: V
  • Выделите до следующей пустой / пробельной строки или EOF: /^\s*$\\|\%$<CR>
  • Удалить: d
1 голос
/ 08 июня 2014

Вы также можете ввести очень большое число, а затем нажать dd, если хотите удалить все строки под курсором.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...