2013-01-11 127 views
42

如何暫時禁用Vimperator?例如,我想在使用Web電子郵件應用程序時暫時禁用Vimperator。有沒有一個命令呢?暫時禁用Vimperator

+0

''或''鍵暫時禁用所有Vimperator鍵,再次按下鍵啓用它。此功能可能會在2013年1月11日之後引入Vimperator。 – CodyChan

回答

35

我猜你已經知道了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在主目錄。您可以通過

source! *directory* 

在.vimperatorrc文件改變.vimperatorrc的位置,但默認位置是在你的home目錄.vimperatorrc文件。 (在Windows%USERPROFILE%)

的替代解決方案:

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

*注意反斜槓逃脫點。

這種方法的問題是,隨着自動命令的命令只有最新的線路將採取的工作。這意味着最後一個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

53

使用 + Esc鍵暫時禁用Vimperator的。再次按下它,使其工作

+0

任何想法Pentadactyl的等同物是什麼? – winchendonsprings

+0

@winchendonsprings使用** passkeys **命令 ':set passkeys + = gmail.com:' 這將忽略Gmail網站上的Escape鍵。 –

1

可以使用鍵盤shorcuts的Gmail /資訊提供ly與feedSomeKeys(用於Vimperator的插件)。

如何?

  • 獲取thisthis文件。
  • 拷貝到〜/ .vimperator /插件,這兩個文件(如果不存在,創建它)。
  • 加入這行你的〜/。vimperatorrc文件:

    :source〜/ .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

  • 試試看!

+0

我無法添加兩個以上的鏈接,所以你必須谷歌gmail的快捷鍵。我建議克隆vimperator-plugin目錄,這樣你可以找到一個像你這樣的人:git clone https://github.com/vimpr/vimperator-plugins.git – David

0

隨着autocmd solution,也可能是煩人,每次出現消息「爲...執行LocationChange自動命令」。

在最新版本的vimperator(3.8.3)中,默認情況下不會顯示此消息,只能在詳細模式下顯示。
但Firefox插件中的當前版本是3.8.2,所以我們需要手動安裝它。簡單如:

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

然後從downloads目錄安裝vimperator。

10

你可以使用:ignorekeys命令

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

這些域的時候禁用所有Vimperator的鍵綁定。

+0

這比其他解決方案有什麼優勢? –