Как я могу перейти к следующему «абзацу»?

19

Сейчас я работаю с некоторыми блоками текста длиной более 1000 строк. Есть ли простой способ перейти к началу следующего абзаца?

Мой обходной путь на данный момент - поиск двух последовательных символов новой строки:

/\n\n

Другой обходной путь будет vip Esc j

  • vip v isually выберите I ˝n˝ р aragraph (который также принимает вас до конца абзаца)

  • Esc Побег из визуального выбора

  • j двигаться вниз

Кристофер Боттомс
источник

Ответы:

35

Да, вы можете использовать движения }и для {абзаца, чтобы переместить абзац вперед или назад.

От :help paragraph:

Абзац начинается после каждой пустой строки, а также в каждом из набора макросов абзаца, указанных парами символов в 'paragraphs' опции. По умолчанию IPLPPPQPP TPHPLIPpLpItpplpipbp, что соответствует макросов .IP, .LPи т.д. (Эти nroffмакросы, так что точка должна быть в первом столбце). Граница раздела также является границей абзаца. Обратите внимание, что пустая строка (только с пробелами) НЕ является границей абзаца.
Также обратите внимание, что это не включает '{'или '}'в первом столбце. Когда '{'флаг в 'cpoptions'то '{'в первом столбце используется в качестве пограничного пункта POSIX.

Как и следовало ожидать, вы, конечно, можете добавить счетчик и / или оператор; например. 2}переместить 2 параграпа вперед. Или удалить предыдущие 2 абзаца, которые вы можете использовать 3d{.

Также см :help object-motions

Мартин Турной
источник
3
Примечание: очень полезно для программистов также [[и ]](а также []и ][) переходить между началом (и концом) функций.
Шахбаз
1
К сожалению, эти функциональные движения действительно работают, только если открывающая скобка находится в первом столбце. Я работал где-то, что ставило открывающие скобки функций в конце строки описания функции, и предлагаемые изменения в документах никогда не работали ужасно хорошо. :(
dash-tom-bang