Vimperatorを一時的に無効にできますか?たとえば、ウェブメールアプリを使用しているときにVimperatorを一時的に無効にしたい。そのためのコマンドはありますか?
5 に答える
Shift+を使用EscしてVimperatorを一時的に無効にします。もう一度押すと機能します
一時的に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
:ignorekeysコマンドを使用できます
ignorekeys add mail.yahoo.com
ignorekeys add mail.google.com
それらのドメインですべてのvimperatorキーバインディングを無効にします。
gmail / feedlyのキーボードショートカットをfeedSomeKeys(Vimperatorのプラグイン)で使用できます。
どのように?
autocmdソリューションでは、 「...のLocationChangeAutoコマンドを実行しています」というメッセージが表示されるたびに煩わしい場合があります。
最新バージョンのvimperator(3.8.3)では、このメッセージはデフォルトでは表示されず、冗長モードでのみ表示されます。
ただし、Firefoxアドオンの現在のバージョンは3.8.2であるため、手動でインストールする必要があります。単純なもの:
git clone https://github.com/vimperator/vimperator-labs.git .
make xpi
次に、ディレクトリからvimperatorをインストールしdownloads
ます。