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 + }
? Простой}
движется. Смотрите другие ответы.