Мені подобається використовувати віртуальну функцію Vim's virtualedit = all, але мені також подобається мати можливість натиснути після закінчення рядка, а курсор перейти безпосередньо до кінця рядка (замість того, щоб переходити до точної позиції, яку я натиснув). Чи є плагін або щось, що може зробити розміщення курсора Vim після клацання миші більш розумним? В ідеалі, я хотів би зробити це з наступного:
- Ігнорувати налаштування virtualedit на клацання миші: Якщо клацнути мишкою, якщо клік стався після останнього символу в рядку, Vim розмістив би курсор у кінці рядка, незалежно від того, чи віртуальнийапарат включений.
- Залежне від режиму поведінка миші: У звичайному режимі натисканням миші після завершення рядка курсор переходить до останнього символу; у режимі вставки курсор розташований під мишкою.
- Поведінка стилю MS-Word (бажано): Курсор переходить до кінця рядка на одному клацанні або віртуальному положенні на подвійне клацання
Я знаю, що я можу просто перейти від virtualedit-all до virtualedit-блоку, але я віддаю перевагу virtualedit = все для всього, крім поведінки миші. (Насправді, мені навіть подобається можливість розташувати курсор у середині символу табуляції за допомогою клацання миші, так що це дійсно лише поведінка клацання після останнього символу в рядку.)
P.S. Будь ласка, будь-які коментарі та відповіді, які я пропоную, я просто навчаю себе не використовувати мишу. Використання миші - одна з причин, з якої я перейшов з Vim на gVim, тому що відверто іноді дуже зручно, навіть якщо ваш основний метод переміщення у файлі є тільки клавіатурою.
EDIT: Додано залежну від режиму ідею.
nnoremap <silent> <2-LeftMouse> <LeftMouse>i
. З якихось причин "подвійний клік для введення режиму вставки" мені здається логічним. В ідеалі я хотів би це зробити, лише якщо курсор проходить повз кінця рядка і зберігає стандартну поведінку інакше, що має бути досить простимcol('$')
іgetpos
, але поки я залишу його як є. Знову дякую!