Как временно отключить Vimperator? Например, я хотел бы временно отключить Vimperator, когда я использую приложение электронной почты. Есть ли для этого команда?
Временно отключить Vimperator
Ответ 1
Я предполагаю, что вы уже знаете о Shift-Esc, чтобы временно отключить vimperator. Поэтому я написал, как отключить vimperator на основе вашего текущего местоположения.
Во-первых, решение:
autocmd LocationChange .* js modes.passAllKeys = false
autocmd LocationChange mail\\.google\\.com js modes.passAllKeys = true
autocmd LocationChange www\\.google\\.com/calendar js modes.passAllKeys = true
autocmd LocationChange www\\.google\\.com/reader js modes.passAllKeys = true
autocmd LocationChange mail\\.google\\.com/tasks js modes.passAllKeys = false
Этот фильтр gMail, gCalendar, gReader, но не gTask.
Решение, которое я дал, - это каскадный подход, когда вы определяете все веб-сайты, чтобы включить vimperator, затем он выборочно отключается для каждого веб-сайта. Таким образом, несмотря на то, что gTask использует тот же родительский сайт, что и gmail, он активирован vimperator.
Теперь объяснение:
Эти команды входят в ваш .vimperatorrc в домашнем каталоге. Вы можете изменить расположение .vimperatorrc на
source! *directory*
в файле .vimperatorrc, но по умолчанию это файл .vimperatorrc в вашем домашнем каталоге. (% userprofile% в Windows)
Альтернативное решение:
autocmd LocationChange .* js modes.passAllKeys = /mail\.google\.com/.test(buffer.URL)
* Обратите внимание на обратную косую черту, чтобы избежать точки.
Проблема с этим подходом заключается в том, что только последняя строка команды с autocmd будет работать. Значение последней команды autocmd перезаписывает первую. Таким образом, в результате вы получите логическую операцию над командой:
autocmd LocationChange .* js modes.passAllKeys = /(mail\.google\.com|google\.com\/reader)/.test(buffer.URL)
Как вы можете видеть, это может усложниться, когда у вас есть много сайтов, которые вы хотите отфильтровать.
Документация:
http://vimperator.sourceforge.net/help/vimperator/autocommands.xhtml
Источник решения:
http://code.google.com/p/vimperator-labs/issues/detail?id=406
Ответ 2
Используйте Shift + Esc, чтобы временно отключить Vimperator. Нажмите его еще раз, чтобы заставить его работать.
Ответ 3
вы можете использовать команду ignorekeys
ignorekeys add mail.yahoo.com
ignorekeys add mail.google.com
чтобы отключить все виртуальные ключи vimperator в тех доменах.
Ответ 4
Вы можете использовать клавиатуру-shorcuts для gmail/feedly с помощью feedSomeKeys (плагин для Vimperator).
Как?
- Получить this и этот файл.
- Скопируйте оба файла в ~/.vimperator/plugins (если его не существует)
-
Добавьте эти строки в файл ~/.vimperatorrc:
: источник ~/.vimperator/plugin_libly.js : Команда! -nargs = + lazy autocmd VimperatorEnter. * : lazy fmaps -u = 'mail.google.com/mail' c/j k n p o u e x s r a # []? gi gs gt gd ga gc
-
Попробуйте!
Ответ 5
Используя решение autocmd, может возникнуть раздражение, возникающее при каждом появлении сообщения "Выполнение команд LocationChange Auto для...".
В последней версии vimperator (3.8.3) это сообщение не отображается по умолчанию, только в подробном режиме.
Но текущая версия в Firefox Addons - 3.8.2, поэтому нам нужно установить ее вручную. Просто:
git clone https://github.com/vimperator/vimperator-labs.git .
make xpi
Затем установите vimperator из каталога downloads
.