Было бы неплохо, если бы я мог сделать комбинацию клавиш, которая временно отключила бы vimium на текущей странице; кроме того, было бы неплохо иметь редактируемый список доменов в настройках, на которых vimium не будет работать.
В настройках уже есть редактируемый список доменов, на которых не запускается vimium.
Что касается временного отключения vimium, подходит ли ввод «i» (режим вставки)?
@philc Я
Я протестировал его, и режим вставки определенно работает на сайтах с супер AJAX, таких как GMail. Спасибо!
@DeadDork , вы находите, что GMail иногда заставляет Vimium выходить из режима вставки? Например, предположим, что у вас открыто два окна чата.
Нажмите «i», чтобы войти в режим вставки
Введите С-. (Ярлык GMail для перехода к следующему окну, в данном случае к чату 1)
Введите С-. (фокус чат 2)
На данный момент для меня режим вставки больше не вызывается. Есть идеи, почему это происходит?
Поле изменения фокуса GMail каким-то образом вызывает событие, подобное «экранированию», которое отменяет режим вставки?
Точно так же в большинстве случаев (но не всегда) нажатие «/» для перехода к строке поиска GMail в режиме вставки выводит меня из режима вставки.
@philc Мне бы понравилось, если бы в дополнение к режиму вставки у нас было еще одно отображаемое нажатие клавиши (вероятно, довольно причудливый аккорд), которое отключало бы vimium и оставалось выключенным, пока он не был снова включен. Это позволило бы мне использовать escape-последовательности и подобные вещи в GMail без того, чтобы vimium иногда отменял режим вставки. Похоже на #186
Обходной путь в режиме вставки работает, но было бы очень неплохо иметь отключаемую функцию. Vimperator в Firefox использует Shift+Esc, что очень удобно для таких сайтов, как Google docs. Shift+Esc включает и выключает Vimperator, и это было бы здорово для Vimium, особенно для сайтов, которые используют Esc в качестве горячей клавиши (игры HTML5 и тому подобное).
@beatgammit это кажется довольно приятной функцией. Интересно, сколько кода вам придется рефакторить...
@dankessler Я не знаком с кодовой базой vimium, поэтому понятия не имею. Это должно быть так же просто, как:
if (shift && escape) enabled = !enabled;
if (!enabled) return;
Я также не знаком с расширениями Chromium, поэтому это может быть сложнее...
Я просмотрел код и нашел флаг isEnabled
. Я постараюсь реализовать эту функцию, когда у меня будет время, и никто другой ее не реализовал.
Только что получил PL с этой функциональностью: https://github.com/philc/vimium/pull/959
Надеюсь, вам понравится!
+1
Я читаю различные повторяющиеся проблемы, кажется, что одним из основных вариантов использования является использование этого в Gmail. Мы собираемся отправить № 491 в ближайшее время; уменьшит ли это потребность в этом глобальном переключателе, или переключатель по-прежнему важен даже для сопоставлений, специфичных для сайта?
@филк
Однако это не только такие сайты, как Gmail. Мне интересно писать игры для WebGL, поэтому я часто играю в демоверсии. Эти демонстрации часто находятся на сайтах, которые я посещаю только один раз, поэтому исключать эти сайты вручную утомительно и не совсем то, что я хочу делать. Однако временное отключение вполне решит проблему.
Помимо игр, сайты становятся все более сложными. Я работаю над приложением HTML5 (с ярлыками) на встроенной платформе, поэтому мне часто приходится обращаться к одному и тому же приложению с разных IP-адресов. Как и в случае с игрой, добавление исключений для каждого из этих IP-адресов требует слишком много усилий, и я обычно пытаюсь просто проковылять, переходя в режим вставки (что не является реальным решением).
@филк
Та же проблема с гугл документом.
Это, конечно, не только Gmail. Любой веб-сайт имеет возможность привязки пользовательских ярлыков. Кроме того, другие плагины Chrome могут сопоставлять любой из этих ключей. Например, плагин Vimsert позволяет открывать редактор vim в любой текстовой области. Это не работает с Vimium, потому что оба привязаны к одним и тем же клавишам. Я не могу представить пользователя, отключающего Vimium для каждого сайта, на котором может быть форма, которую он может заполнить, но я мог представить пользователя, просто нажимающего Shift + Escape и отключающего Vimium перед использованием Vimsert. Это может показаться маловероятным сценарием, но, по моему мнению, вполне вероятно, что у пользователей Vimium могут быть другие плагины, которые обеспечивают большую «vim-подобную» функциональность и могут столкнуться с такими типами конфликтов.
Это только один пример, но я уверен, что есть много других. Суть в том, что я не думаю, что имеет смысл предполагать, что пользователь будет предусмотрительно знать, когда Vimium будет конфликтовать с сайтом или плагином.
@тандроид1. Может здесь проверить?
Редактировать: Ах, хорошо. Я взглянул на вимсерт. Ваша проблема с Escape
, да?
@ smblott-github Да, клавиша escape - одна из проблем, но, поскольку она использует редактор ace vim, я полагаю, что большинство привязок клавиш будут конфликтовать.
@tandroid1 расширение, на которое вы <textarea>
, поэтому мы автоматически переходим в режим вставки, когда оно находится в фокусе. Единственная привязка во вставке more — это <esc>
/ <c-[>
, так что это должно быть единственное (но существенное) столкновение.
@philc @idf Несмотря на то, что документы Google являются исключенной страницей:
https?://docs.google.com/*
с исключенными ключами *
, побег по-прежнему не работает должным образом. Это поведение возвращается к нормальному состоянию, когда vimium отключен.
@drwl. Чтобы полностью отключить Vimium, следует оставить «Ключи» пустыми. Может ли это быть вашей проблемой? Если нет, возможно, откройте новую проблему и объясните, что вы ожидаете, и что происходит на самом деле.
@ smblott-github Интересно исключить * (все ключи) вместо того, чтобы оставить его пустым, что отключит Vimium на странице. Тем не менее, оставить его пустым работает!
Отлично, @drwl.
Пожалуй, стоит закрыть эту тему.
Он охватывает множество функций и проблем, которые были реализованы с момента появления протектора.
Если есть определенные проблемы с определенными функциями, откройте новую проблему.
Спасибо @drwl @smblott-github за исправление.
Когда будет новый выпуск vimium для этого исправления?
@idf Если вы хотите отключить Vimium для документов Google, просто оставьте поле исключения ключей пустым.
В противном случае вы спрашиваете о чем-то другом?
@drwl есть ли комбинация клавиш для переключения vimium, а не для полного отключения его по URL-адресу. Я пробовал ESC, он работает в электронной таблице Google, но не в Google Word.
Даже если он отключен, css и js для vimium спамят мою сетевую вкладку в инструментах разработчика.
Даже если он отключен, css и js для vimium спамят мою сетевую вкладку в инструментах разработчика.
@philc поднимал этот вопрос ранее... #1838.
а, ок спасибо!
@smblott-github Насколько я вижу, запрошенная исходная функция все еще недоступна. Невозможно включить vimium на странице, где он в данный момент отключен, без перезагрузки страницы. Было бы полезно иметь возможность переключать его, щелкнув значок расширения vimium.
Еще +1 за это. Я только что снова удалил vimium из-за этой проблемы ... режим вставки работает нормально, но он показывает тост «режим вставки». Кроме того, очень раздражает, когда я делаю свои собственные игры WebGL. Простое глобальное временное отключение сделало бы меня счастливым (фактически более быстрое удаление/переустановка, я думаю, с сохранением настроек)! Я собираюсь попробовать трюк с исключением, я думаю ... но это довольно тяжело для общего случая использования.
Самый полезный комментарий
@smblott-github Насколько я вижу, запрошенная исходная функция все еще недоступна. Невозможно включить vimium на странице, где он в данный момент отключен, без перезагрузки страницы. Было бы полезно иметь возможность переключать его, щелкнув значок расширения vimium.