Вім розуміє поняття «абзацу». Визначення абзацу Vim - це блок тексту, оточений порожніми рядками * . Для цього є кілька рухів і текстових об’єктів.
[count]}- Перемістіть [count]абзаци вперед. Ви можете використовувати <S-v>}для вибору всіх рядків від поточного рядка до наступного порожнього рядка. Це буде включати порожній рядок, тому ви можете скористатися <S-v>}k.
[count]ip- Виберіть [count]абзаци. Це як iw(внутрішнє слово) за винятком, ну, абзаців. При використанні vipбуде виділено весь абзац, а не з поточного рядка до кінця абзацу.
[count]ap- як ip, за винятком того, що це буде включати порожні рядки, що оточують абзац.
Одним із застережень є те, що Vim не розглядає лінію з лише пробілом як "порожню лінію". Тому обов'язково перевірте це (наприклад, за допомогою :set list), якщо воно, здається, не працює.
Також пам’ятайте, що ви завжди можете шукати потрібний шаблон. Ви можете отримати порожній рядок за допомогою /^$; або якщо ви не хочете вибирати порожній рядок, ви можете використовувати \n\nкурсор у кінці рядка перед першим порожнім рядком:
<S-v>/^$<CR>
<S-v>/\n\n<CR>
* Є деякі винятки, дивіться :help paragraphповну логіку. Але для більшості намірів і цілей це визначення чудово працює.
Shift + }? Простий}робить хід. Дивіться інші відповіді.