Ответ 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