Vim понимает понятие «параграф». Определение 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 + }? Простой}движется. Смотрите другие ответы.