Я думаю, що це дозволило б функції візуального вибору vim перевершити ефективність навіть миші, надавши можливість "перемикати" поточний кінець вибору:
Illustrated (The |
представляють курсор (Vim має його працювати на лівій стороні персонажа він включений) і [text]
являє собою виділений текст, просто робити вигляд , що вони займають нульову ширину. Фон простору між [ ]
виглядає сірим, і характер відразу наступний |
зелений):
Починати з
Some |text here
Some second line of text
Some more text in the third line
Натисніть v2j
; Зверніть увагу, що m
символ включений у виділення (він виділений курсором зараз):
Some [text here
Some second line of text
Some |m]ore text in the third line
Натисніть 10l
:
Some [text here
Some second line of text
Some more text |i]n the third line
Саме в цей момент я можу вирішити, що хочу почати вибір з іншого місця розташування. наприклад, включаючи "Some"
перший рядок.
У мене немає вибору в типовому редакторі / IDE. Мені, мабуть, доведеться перенести руку мишею, зазвичай вибирати текст традиційними методами занадто боляче, використання перескакування слів через Ctrl
перегляд сторінки та вгору / вниз дещо допомагає, але незалежно від того, що я маю зробити до однієї з моїх кінцевих точок вибору, перш ніж розпочати вибір .
Тож у Vim мені б хотілося за здатність прийняти свій сучасний стан і довести його до цього, потрапивши в таємничу прив'язку:
Some [|text here
Some second line of text
Some more text i]n the third line
Тоді я можу просто натиснути ^
або <Home>
(і те й інше зробити те саме в цьому випадку, коли немає провідного пробілу), щоб перетворити його
[|Some text here
Some second line of text
Some more text i]n the third line
Скажіть, я знову передумав , хочу налаштувати інший кінець!
[Some text here
Some second line of text
Some more text |i]n the third line
Попадання e
:
[Some text here
Some second line of text
Some more text i|n] the third line
Гарний! Зараз я можу робити все, що хочу далі, з цим вибором.
То що це за таємнича прив’язка?
Крім того, ще більш потенційно ефективним був би набір альтернативних прив’язок для деяких найбільш використовуваних команд руху до іншого рядка клавіш, і вони завжди (у візуальному режимі) завжди переміщують інший кінець вибору. Тож у цій операції вибору візуального режиму, якби клавіші переміщення для іншого кінця вибору були встановлені на "yuio" (можливо, це не вдалий вибір, оскільки нам це потрібно, y
але просто мати з собою), ми могли б набрати
v2j10l5ye
а не
v2j10lX^Xe
Гей, ти знаєш що, це навіть не так багато покращення. Просто дайте цю функцію X. :)
Ідеальні відповіді, які я шукаю:
- Гей, дивись
:help some_awesome_vim_feature_that_just_does_this
- Гей, дивись
https://github.com/awesome_user/vim_plugin_that_does_this
- Гей, дивись
:help vimscript_functions_that_allow_mutation_of_visual_selections
Я досить новий у захопленні від Vim, тому я дуже зелений, коли мова йде про Vimscript, і, чесно кажучи, я хотів би триматися подалі від спроб вивчити ще одну мову, тому, сподіваюся, я не змушу будувати це як плагін.
:help
? :help visual-mode
містить всю інформацію, яка вам може знадобитися про візуальний режим, в тому числі o
.
O
робить столиця O, але я згадаю o
. Друге, про що йдеться, - це, мабуть, :help
більше використовувати . І я використовую його більше, ніж коли я починав.