Vimium: Разрешить сопоставление любой клавиши с «режимом выхода», а не просто<esc/>

Созданный на 18 февр. 2011  ·  21Комментарии  ·  Источник: philc/vimium

Я переназначил jj нав vim, так как его легче набрать. Можно ли было бы сделать переназначение, подобное этой работе, чтобы выйти из режима вставки?

Спасибо

help-wanted verified

Самый полезный комментарий

Повторное открытие и удаление ярлыка _wont-fix_.

Это действительно функция, которую очень много просят. Он был закрыт в рамках устранения давних открытых проблем.

Все 21 Комментарий

Да, у нас должна быть команда, эквивалентная побегу - это было бы полезно.

Согласовано.

Вы также можете использовать <C-[> в vim; он поддерживается "из коробки" и фактически считается тем же ключом, что и <ESC> . Возможно, мы могли бы добавить это вместо введения другого сопоставления команд.

Я также считаю эту функцию полезной. Я читал, что клавиша ESC на клавиатуре, когда был впервые написан vi, была ближе к тому месту, где сейчас находится q, а не в углу. В этом есть смысл, поскольку так часто доходить до угла не так уж и удобно.

Есть новости по этому поводу? Это слишком сложно реализовать? Для меня это несоответствие между vim и vimium, поскольку vim также отображается на jj для меня.

Это не так уж сложно. Это отличная стартовая ошибка, если кто-то захочет попробовать свои силы в этом улучшении.

Хотим ли мы реализовать это только для нормального режима или для всех режимов (например, ввода и поиска)? Если последнее, то все будет не так просто.

Чтобы быть последовательным, любое переназначениедолжен применяться ко всем режимам. Почему это может быть особенно сложно, помимо обеспечения того, чтобы пути кода для каждого режима ссылались на одну и ту же переменную "exitKey"?

Прямо сейчас код, который позволяет настраивать сопоставление клавиш с командами, находится на фоновой странице и обрабатывает нажатия клавиш только в обычном режиме. Переназначение ключей, по сути, осуществляется путем изменения нашей «таблицы маршрутизации» от ключа к команде. С другой стороны, выход в режимах поиска или вставки зависит от пути кода особого случая в сценарии содержимого ( KeyboardUtils.isEscape ), который явно проверяет, является ли событие нажатия клавиши тем, что мы считаем событием выхода, и нажатие клавиши никогда не достигает фоновой страницы. Чтобы реализовать эту ошибку, мы могли бы либо: а) заставить фоновую страницу информировать сценарии содержимого заранее, как должно выглядеть событие `` escape '', или б) иметь нажатия клавиш записи фоновой страницы даже в режимах поиска и вставки, но ничего не делать если это не событие «escape», и в этом случае оно сообщает сценариям содержимого выйти из того режима, который в данный момент активен.

Я предпочитаю последнее, так как считаю более элегантным использовать одну и ту же настраиваемую логику сопоставления клавиш для всех режимов. Более того, это открывает возможность эмуляции команд Vim nmap и imap , посредством чего пользователь может определять сопоставления, которые активны только в нормальном режиме или режиме вставки соответственно.

Хорошая вещь. Спасибо, что написали. Может, это не мелочь для новичка =)

У меня нет особых предпочтений, но первое предложение кажется более простым для реализации.

Я бы хотел увидеть это в дополнение к командам Vim nmap и imap ,

Я попытался реализовать это в PR №1140. Из-за характера режима ввода он принимает только отдельные ключи, привязанные к exitInsertMode .

+1

+1

👎

Привет @ smblott-github, просто любопытно, почему это было помечено как won't-fix ? Я стал чаще использовать режим вставки с Vimium (вместо того, чтобы отключать плагин для определенных страниц), но было бы неплохо, если бы люди могли выйти, используя свою предпочтительную привязку, в моем случае <C-c> .

Повторное открытие и удаление ярлыка _wont-fix_.

Это действительно функция, которую очень много просят. Он был закрыт в рамках устранения давних открытых проблем.

Ребята, см. # 2253.

Большое спасибо, ваши старания ценятся!

Ребята, смотрите здесь . PR # 2253 натолкнулся на небольшую неровность дороги. Вход будет оценен.

Закрытие, см. Этот комментарий .

Была ли эта страница полезной?
0 / 5 - 0 рейтинги