vimperator for firefox

 

Vimperator是什麼?從虛來說,它是一種信仰,一種生活方式;從實來說,它是一個把Firefox(fx)的操作變成Vim式的fx擴展,它給fx提供了與Vim相似的快捷鍵,使fx變成了有“模”的瀏覽器。從而無論是 fx 的外觀,還是 fx 的行爲,都像極了 Vim。詳情可以查看它的官方網頁:http://vimperator.mozdev.org。可以說,有了Vimperator,就有了幾乎完控fx的一切。當然,要耍酷,得付出點代價,得記住各種命令和快捷鍵,若你是vim的熟手,那就太容易不過了;若不是,估計你安裝完vimperator,重啓fx後就會傻眼:面對既沒有菜單欄,也沒有工具欄的 Firefox,可能會感到無所適從。開啓方法是輸入:set guioptions=mTm表示menu(菜單),T表示Toolbar(工具欄)。如果需要顯示狀態欄的話,就輸入:set laststatus=2。即使這樣,你也會發覺以前熟悉的fx快捷鍵幾乎都沒啦,咋辦:按下Ctrl-q,你就會發現fx默認的快捷鍵又可以用了。要重新回到vimperator下,只需要按下Esc鍵;也可以先按Ctrl-v,這樣執行一個fx默認快捷鍵後,又自動回到vimperator下。這裏以vimperator1.1版來詳細介紹下它的用法!先約定下表達方式:

¨        Ctrl-x的另一種表示<C-x>Alt-x 表示爲 <A-x>Shift-x 表示爲 <S-x>

¨        很多操作既可以在normal mode下運行,又可以在command mode下運行,這裏用“/”來表示,如:u對應的是:undo,就表示爲 u/:undo

¨        有些操作有相反兩個方向,這裏用<-->表示,如:左右移動滾軸  h <--> l

¨        命令前後的數字,都可以換成任何數字

    1. 打開鏈接,文件,或使用搜索引擎

:o[pen]/o     /*在當前標籤頁打開*/   |/      /frome/to/file.txt  /*打開本地文件*/

:t[abopen]/t  /*在新標籤頁裏打開*/   | |==>  [engine] keyword    /*在引擎裏搜索關鍵詞*/

:winopen      /*新開窗口實例打開*/   |/      bbs.newsmth.net     /*打開一個網頁*/

 

例子:

:o  ../user/file.txt       /*打開$HOME目錄下的file.txt文件*/

:t  google 水木        /*在新的標籤頁打開谷歌並搜索“水木”*/

:o 水木社區      /*fx默認搜索引擎裏搜索“水木社區”,由’defsearch’來設定默認引擎 */

:t  bbs.newsmth.net, bbs.lqqm.net, news.sina.com.cn    /*3個新標籤後臺打開這三個網頁*/

2. 關掉或重新打開標籤頁

:2bd/:2tabc/2d    /* 關掉當前標籤及右邊緊鄰的標籤;2D是關掉當前及左邊的標籤 */

:3u[ndo]/3u      /* 重新打開最近關掉的3個標籤;恢復全部被關掉的標籤用 :undoall,最多恢復10*/

:qall/:winclose/ZQ    /* 退出fx,不保存各tab地址 */

:xall/ZZ                    /* 保存tab地址退出,重啓fx後可以重新打開這些標籤 */

注:文中的tab、標籤、buffer、緩衝區指的都是同一個東西

  3. 移動

卷屏  <C-f> <--> <C-b>    /* 上下捲動一屏 */

              <C-d> <--> <C-u>    /* 上下捲動半屏;可由’scroll’來定製 */

              gg <--> G    /* 到頁面頂部/尾部;45gg/45G 指到頁面45%*/

              0 <--> $     /* 到頁面最左端/最右端 */ 

              hjkl   /* 上下左右移動頁面 */

             gg

             3k

              |

0, 3h ----+----- 3l, $

              |

              3j

              G

Element2gi       /* 光標定位到當前frame的第二個輸入框 */

]f/[f      /* 前進後退一個frame */

]]/[[      /* 瀏覽一些論壇時的“下一頁/上一頁”,可由’nextpattern’定製 */

 

標籤欄 g0/:tabfirst <--> g$/:tablast              /* 到第一個或最後一個標籤 */

                  gT/<C-p>/:tabp <--> gt/<C-n>/:tabn        /* 到前一個或後一個標籤  */

                  b5<CR>                  /* 到第五個標籤,<CR>指回車,這個結合我的

“給tab編個號”一文,那簡直是絕配   */

                 <C-o>/:ba <--> <C-i>/:fo  /* 當前標籤頁的前後一個歷史標籤 */

              <C-6>                   /* 可在標籤欄上來回切換最近瀏覽過的兩個標籤 */                   

                 i      /* caret modefx默認快捷鍵是F7;此時按下v,就可以選擇文本,然後按下y,就把選擇的文本拷貝到系統粘貼板上了 */

 

4. 搜索當前頁面

          /pattern<CR> <--> ?pattern<CR>       /* 往下/上搜索pattern,支持正則 */

          * <--> #      /* 往下/上搜索當前光標處的詞,最好進入caret mode,好操作 */

            注:上面兩種情形都可以用 n/N來下/上尋找下一個匹配

 

     5. 鏈接地址:URL

        gu          /* URL的上一層目錄 */

        gU          /* URL的根目錄    */

         <C-a>/<C-x>   /* URL最後一個數字增加/減少1,然後打開 */

 

例如:

2gu 是指從http://www.example.com/dir1/dir2/file.htm http://www.example.com/dir1/

               <C-a>是指從 http://www.example.com/2008.htm http://www.example.com/2009.htm

 

        y/p          /* 把當前URL拷貝到粘貼板或把粘貼板上的URL在當然頁打開 */

          P           /* 大寫的P是在新標籤頁打開粘貼板裏的URL   */

    6. 頁面

        g<C-g>/:pageinfo          /* 查看當前頁面信息 */

        gf/:viewsource             /* 查看當前頁源代碼 */

        zi <--> zo                 /* 放大/縮小當前頁,zoom in/out */

        r/:reload <--> <C-c>/:stop    /* 重新載入當前頁或停止載入當前頁 */

 

    7. 調用fx的各種屬性

         :pref                     /* 調出fxoption對話框 */

         :pref!                     /* 調出fxabout:config  */

         :addon                    /* 調出fx的擴展對話框  */

 

                                addons          /*  調出fx的擴展對話框 */

:dialog    checkupdates      /* 調出升級對話框 */

                                console          /* 調出控制檯 */

                                downloads        /* 調出歷史下載列表 */

 

    8. 怎麼打開鏈接?

    在一個頁面按f鍵,進入QuickHint mode(作者給取了這個名字),就會發現所有的鏈接都被數字編號了,此時只要你輸入那個數字或者鏈接中部分關鍵詞,就可以在當前頁進入那個鏈接了(F是在新標籤裏打開)。Vimperator1.0之前的版本是用一個或者幾個字母來編號的,如果你喜歡這樣子的編號,可以下載個vimperator的插件:char-hints.js

除此之外,作者還給出了另外一種“模”: ExtendedHint mode,它在一些情況下,如保存圖片,拷貝鏈接地址等方面很有用,形式是:  ;{mode}{hint}

 

例如:

;y23             /* 拷貝編號爲23的鏈接地址到粘貼板 */

       ;t35             /* 後臺在新標籤中打開編號爲35的鏈接 */

 

    9. ex命令、選項、配置文件及插件

A)  ex命令,也就是按下冒號後輸入的命令,下面介紹幾個最常用的

:cd           /* 切換當前目錄 */

            :pwd          /* 顯示當前目錄 */

            :restart         /* 重啓fx */

            :saveas        /* 保存頁面 */

            :hardcopy      /* 打印當前頁面 */

            :set           /* 設置選項 */

             :mkv          /* 建立配置文件 */

            :!cmd          /* 可以執行系統命令 */

 

             B) 選項設置

l        5種數據類型:

布爾型        例如:  set ic            /* 忽略大小寫;反之則set noic */

數字型        例如: set ls=2         /* 總是顯示狀態欄 */

字符串型      例如: set titlestring=fx    /* 把標題欄名字改爲“fx */

單字符串型    例如: set go=mT         /* 顯示菜單欄和工具欄 */

串列表型      例如: set act=tabopen,paste  /* 自動激活:tabopeny,Y命令 */

 

l        set命令的幾種用法

:set                     /* 顯示所有和默認不同的設置 */

:set all                   /* 顯示所有設置 */

:set {option}?             /* 顯示option的值 */

:set {option}&             /* 重新設定option的值爲默認的 */

:set all&                  /* 重新設定所有option的值爲默認的 */

:set {option}+={value}           /* option的值在原來基礎上加value */

:set {option}-= {value}      /* option的值在原來基礎上減value */

 

注:在配置文件裏set命令前的冒號可以省略

 

        C) 配置文件和插件

                     Vimperator可以有配置文件,文件名是.vimperatorrc或者_vimperatorrc,該文件所在的目錄是系統變量$HOME所定義的位置

unix/linux下一般爲:  ~/

Windows下一般爲:  C:/Documents and Settings/user/

   

  並且還可以設置一個用戶變量或者系統變量$VIMPERATOR_HOME來改變vimperatorrc所在目錄的位置,並且$VIMPERATOR_HOME優先度大於$HOME

 

(強烈建議作者把vimperator擴展所在的相對目錄也可存放配置文件,這樣把fx放在U盤裏,就不用麻煩還要拷貝配置文件到另外一臺機子上的$HOME目錄)

 

Vimperatorrc裏可以是ex命令,也可以是js腳本。你既可以新建這個文件,也可以在fx裏用命令 :mkv來自動建立這個文件。並且vimperator還可以擁有插件,全放在vimperator目錄下,插件都是些js腳本。而“vimperator目錄”與配置文件所在目錄一樣。例如如果你需要hint mode下的鏈接編號爲字母的話,就需要在http://vimperator.mozdev.org/scripts.html 下載插件char-hints.js 放入vimperator目錄中,然後重啓fx,或者用:source命令使之生效。目前絕大多數網上的插件都是日本人寫的。

 

 

 

Vimperator擴展還在快速發展中,作者開發也非常積極。這裏只介紹了vimperator一些主要用法,如autocommand命令,宏等都沒有涉及,主要覺得離瀏覽器遠了些;另外書籤也“忘”了說,個人覺得其添加/編輯書籤的方式實在太笨拙了,還是用fx默認的方法方便。另外,使用中若遇到迷惑的地方,一定要勤看幫助,用F1或者:h調出,至於如何使用幫助以及如何在幫助裏調出那些關鍵詞,可以看本人在水木社區vim版置地文章:“細說如何使用幫助”,雖然是vim的,但完全通用(http://vim.board.newsmth.net/ 

 

 

注意:本文適合對vim至少有一點點了解,並且對用鍵盤操縱fx感興趣的人士閱讀

 

附錄我的簡單vimperatorrc文件:

 

"------------------------------------------file begin-----------------------------------------------------

"About.vimperatorrc for Vimperator 1.1

"Authorrunsnake

"DateJune 12, 2008

 

set wildmode=list:longest

set visualbell

set laststatus=0

set history=1000

set titlestring=

set showmode

set nextpattern+=^下一頁$

set previouspattern+=^上一頁$

map <BS> gu

map <C-Up> :set go=mT<CR>

map <C-Down> :set go=<CR>

map <A-Up> :set ls=2<CR>

map <A-Down> :set ls=0<CR>

map ,s :so _vimperatorrc<CR>

 

" vim:set sw=2 ts=2 sts=0 syntax=vimperator:

"------------------------------------------file  end-----------------------------------------------------

 

原文地址:http://blog.chinaunix.net/u/9465/showart_1001741.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章