Візуальний вибір від курсору до наступного порожнього рядка?


11

Як вибирається з поточного рядка до наступного порожнього рядка?

Я знаю про SHIFT+, Vале тоді мені доведеться або перейти до наступного порожнього рядка, або натиснути клавішу вниз кілька разів. Я знаю, як це зробити добре, коли є такий відповідний персонаж, як, }але я не маю уявлення, як це зробити для порожнього рядка.

Відповіді:


19

Вім розуміє поняття «абзацу». Визначення абзацу 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.