42

Vimperatorを一時的に無効にできますか?たとえば、ウェブメールアプリを使用しているときにVimperatorを一時的に無効にしたい。そのためのコマンドはありますか?

4

5 に答える 5

53

Shift+を使用EscしてVimperatorを一時的に無効にします。もう一度押すと機能します

于 2013-05-02T20:58:43.560 に答える
35

一時的にvimperatorを無効にするShift-Escについてはすでにご存知だと思います。だから私はあなたの現在の場所に基づいて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はフィルタリングしません。

私が提供したソリューションは、すべてのWebサイトを定義してVimperatorを有効にし、次にWebサイトごとに選択的に無効にするカスケードアプローチです。したがって、gTaskはgmailと同じ親サイトを使用しますが、vimperatorが有効になっています。

今説明:

これらのコマンドは、ホームディレクトリの.vimperatorrcにあります。.vimperatorrcの場所は次の方法で変更できます

source! *directory*

.vimperatorrcファイルにありますが、デフォルトの場所はホームディレクトリの.vimperatorrcファイルです。(Windowsでは%userprofile%)

代替ソリューション:

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)

ご覧のとおり、除外するWebサイトが多数ある場合、これは複雑になる可能性があります。

ドキュメント: http: //vimperator.sourceforge.net/help/vimperator/autocommands.xhtml
ソリューションのソース: http ://code.google.com/p/vimperator-labs/issues/detail?id = 406

于 2013-02-21T21:07:49.643 に答える
10

:ignorekeysコマンドを使用できます

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

それらのドメインですべてのvimperatorキーバインディングを無効にします。

于 2015-07-20T21:15:22.337 に答える
1

gmail / feedlyのキーボードショートカットをfeedSomeKeys(Vimperatorのプラグイン)で使用できます。

どのように?

  • これこのファイルを入手してください。
  • 両方のファイルを〜/ .vimperator / pluginsにコピーします(存在しない場合は作成します)。
  • 〜/.vimperatorrcファイルに次の行を追加します。

    :source〜/ .vimperator / plugin_libly.js:command!-nargs = + lazy autocmd VimperatorEnter。*:lazy fmaps -u ='mail.google.com/mail' c / jknpouexsra#[]?gi gs gt gd ga gc

  • それを試してみてください!

于 2013-07-10T05:12:11.547 に答える
0

autocmdソリューションでは、 「...のLocationChangeAutoコマンドを実行しています」というメッセージが表示されるたびに煩わしい場合があります。

最新バージョンのvimperator(3.8.3)では、このメッセージはデフォルトでは表示されず、冗長モードでのみ表示されます。
ただし、Firefoxアドオンの現在のバージョンは3.8.2であるため、手動でインストールする必要があります。単純なもの:

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

次に、ディレクトリからvimperatorをインストールしdownloadsます。

于 2014-10-24T20:40:42.103 に答える