Визуальный выбор от курсора до следующей пустой строки?


11

Как выбрать из текущей строки следующую пустую строку?

Я в курсе SHIFT+ , Vно тогда я должен либо прыгайте на следующую пустую строку или нажмите клавишу вниз кучу раз. Я знаю , как сделать это хорошо , когда есть соответствующий символ вроде , }но я понятия не имею , как это сделать для пустой строки.

Ответы:


19

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Полную логику. Но для большинства намерений и целей это определение прекрасно работает.


12

Ярлык для следующей пустой линии }. Таким образом , вы просто можете использовать SHIFT+v}


1

Простое нажатие Shift + }приведет к следующей пустой строке без выделения текста.

С помощью Sift + v + }vim выделяет текст с текущей позиции курсора на следующую пустую строку, и вы должны нажать, ESCчтобы выйти из режима выбора


Почему Shift + }? Простой }движется. Смотрите другие ответы.
Ральф

@Ralf Sift + }для вызова / ввести фигурные скобки , }если ваша клавиатура напрямую не поддерживает вставку }без нажимаShift
Junaid
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.