Що таке режим вибору та коли його актуально використовувати?


37

Я випадково натиснув ghу звичайному режимі і розпочав вибір, тому я підняв документ і знайшов :h Select-mode.

З того, що я розумію, режим вибору близький до режиму візуального винятку, що:

  • Набравши символ для друку <CR>або <BS>видаливши виділення, запустіть режим вставки та замініть вибір на введення.
  • hjkl та інші звичайні або візуальні режими переміщення не розширять вибір, якщо вони не мають префіксу <Shift>
  • <CTRL-O>і <CTRL-G>перейде у візуальний режим.
  • Документ також говорить наступне, що, якщо я правильно зрозумів, означає, що можна робити лінійний відбір, який потім обробляється персонально:

    Під час використання оператора в режимі вибору та вибору лінійно, вибраними лініями керуються, але подібно до вибору символів. Наприклад, коли буде видалено цілий рядок, його можна пізніше вставити на половину рядка.

Я трохи розгублений, бо не розумію, для чого цей режим був створений: все, що я бачу, це те, що він менш зручний, ніж візуальний режим, і не дає більше функцій.

Крім того, всі пошукові запити дають результати щодо вибору у візуальному режимі, але не відносяться до режиму вибору.

Тому мої запитання:

  • Чому був створений режим вибору?
  • У чому його перевага порівняно з візуальним режимом?
  • Який випадок використання, коли цікавіше використовувати режим вибору?

MetaNote Я не маю уявлення, який тег має відношення до цього питання.


Для мене це звучить як те, чого ви очікували від більшості редакторів GUI. (Вибір рядка не означає, що він буде переходити до нового рядка, коли вставляти, Shift + стрілки розширюватимуть його, друкуючи замінюючи вибір, все, що я очікував би від, скажімо, блокнота).
муру

@muru: Я погоджуюся, що він нагадує подібний редактор, але чи означає це, що цей режим був би реалізований лише для того, щоб догодити деяким користувачам, які хочуть використовувати Vim як поганий текстовий редактор? Це здається мені дуже дивно.
statox

насправді, що властивість вставлення корисна в деяких випадках. Я впевнений, що хтось опублікував питання про таке вклеювання тут. Що стосується перезапису, то це зберігає натискання клавіші (не потрібно натискати c), тож залежно від того, що ви хочете зробити, режим вибору може бути корисним. Шкода, що я про це забуваю.
муру

Я спробую потім знайти це питання. Для перезапису я не відчуваю, що cце збережений натискання клавіші, оскільки вибір не такий зручний, як у візуальному режимі (оскільки ви не можете використовувати eчи iwбезпосередньо).
statox

1
Ви маєте рацію: коли 'selectmode'міститься mouseі 'mouse'міститься прапор для поточного режиму, вибравши мишкою, запуститься режим вибору (відповідно до документа).
statox

Відповіді:


23

Вся суть режиму вибору полягає у наданні поведінки вибору, подібної до тієї, що використовується у звичайних редакторах.

У цій же примітці є і mswin.vim, який змінює купу параметрів і відображень, щоб Vim відчував себе звичайним редактором.

Я можу лише припустити, що їх додано для задоволення підмножини користувачів Vim, ймовірно, у той час, коли Vim був перенесений у Windows (я можу відчути деяку зневагу до Windows у документі).

У будь-якому випадку, режим вибору має важливе значення для розширення плагінів розширення, і ним можна зловживати для розваги та отримання прибутку:

nnoremap § *``gn<C-g>
inoremap § <C-o>gn<C-g>
snoremap <expr> . @.

2
Я думаю, що дивувати Vim на Windows і створити такий режим, щоб сподобатися користувачам, досить дивно: якщо вони хотіли "класичного" редактора, чому б тоді вони використовували Vim? Але це здається єдиним поясненням, так що ... Також я не дуже розумію прибуток ваших відображень: наскільки я розумію, вони вибирають слово під курсором у вибраному режимі, як тільки ви це зробите, чому це так? корисний?
statox

1
Після вибору слова введіть щось, а потім натисніть, §щоб вибрати наступне явище, введіть щось інше, а потім натисніть §ще раз, щоб вибрати наступне явище тощо. Ви можете натиснути, .щоб повторити останню вставку. Це варіант "формули точки".
romainl

Я досі не розумію. Яким чином поведінка вибору схожа на звичайні редактори?
still_dreaming_1

7
@ still_dreaming_1 в звичайному редакторі введіть fooі виберіть його. Вам не потрібно натискати жодну клавішу, щоб замінити вибране, чи не так? Ось що емулює режим вибору.
romainl

1
@romainl, що це за "подвійний S" символ, який ти набираєш? Як ви вводите цього персонажа?
Майкл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.