web-dev-qa-db-fra.com

désactiver temporairement Vimperator

Comment puis-je désactiver temporairement Vimperator? Par exemple, j'aimerais désactiver temporairement Vimperator lorsque j'utilise une application de messagerie Web. Y a-t-il une commande pour cela?

42
blue123

Je suppose que vous connaissez déjà Shift-Esc pour désactiver temporairement vimperator. J'ai donc écrit comment désactiver vimperator en fonction de votre emplacement actuel.

Tout d'abord, la solution:

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

Cela filtre gMail, gCalendar, gReader, mais pas gTask.

La solution que j'ai donnée est une approche en cascade où vous définissez tous les sites Web pour activer vimperator, puis il est désactivé de manière sélective pour chaque site Web. Ainsi, même si gTask utilise le même site parent que gmail, il a activé vimperator.

Maintenant l'explication:

Ces commandes vont dans votre .vimperatorrc dans le répertoire personnel. Vous pouvez modifier l'emplacement du .vimperatorrc en

source! *directory*

dans le fichier .vimperatorrc, mais l'emplacement par défaut est le fichier .vimperatorrc dans votre répertoire personnel. (% userprofile% sous Windows)

La solution alternative:

autocmd LocationChange .* js modes.passAllKeys = /mail\.google\.com/.test(buffer.URL)

* Remarquez la barre oblique inverse pour échapper au point.

Le problème avec cette approche est que seule la dernière ligne de commande avec autocmd fonctionnera. Cela signifie que la dernière commande autocmd écrase la première. Vous finirez donc par aboutir à une opération booléenne sur la commande, comme ceci:

autocmd LocationChange .* js modes.passAllKeys = /(mail\.google\.com|google\.com\/reader)/.test(buffer.URL)

Comme vous pouvez le voir, cela peut devenir compliqué lorsque vous avez de nombreux sites Web que vous souhaitez filtrer.

La documentation: http://vimperator.sourceforge.net/help/vimperator/autocommands.xhtml
Source de la solution: http://code.google.com/p/vimperator-labs/issues/detail?id=406

35
Forethinker

Utilisation Shift+Esc pour désactiver temporairement Vimperator. Appuyez à nouveau pour le faire fonctionner

53
William

vous pouvez utiliser: commande ignorekeys

ignorekeys add mail.yahoo.com
ignorekeys add mail.google.com

pour désactiver tous les raccourcis clavier de vimperator sur ces domaines.

10
nuaimat

Vous pouvez utiliser les raccourcis clavier pour gmail /feedly avec feedSomeKeys ( un plugin pour Vimperator).

Comment?

  • Récupérez les fichiers this et this .
  • Copiez les deux fichiers dans ~/.vimperator/plugins (s'il n'existe pas, créez-le).
  • Ajoutez ces lignes dans votre fichier ~/.vimperatorrc:

    : source ~/.vimperator/plugin_libly.js: commande! -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

  • Essayez!

1
David

Avec solution autocmd , il peut être gênant que chaque message "Exécution des commandes Auto LocationChange pour ..." apparaisse.

Dans la dernière version de vimperator (3.8.3), ce message n'est pas affiché par défaut, uniquement en mode verbeux.
Mais la version actuelle de Firefox Addons est 3.8.2, nous devons donc l'installer manuellement. Simple comme:

git clone https://github.com/vimperator/vimperator-labs.git . 
make xpi

Installez ensuite vimperator à partir du répertoire downloads.

0
Grisha Pushkov