程序人生

          撰寫生活代碼,等待編譯美好人生
          隨筆 - 48, 文章 - 0, 評論 - 29, 引用 - 0
          數據加載中……

          VIM & Firefox


          今天整個下午都給了Firefox和VIM。一開始看了一篇VIM的文章,學習和復習了一些VIM的技巧,VIM永遠都是這么強大,似乎總是有學不完的有趣的東西。搞了半個小時的VIM習慣了“hjkl”的操作,竟然看網頁的時候習慣性是去按h、j,試圖通過這兩個按鈕來滾動網頁。于是便突發奇想能不能修改Firefox的熱鍵像VIM一樣。Google了一下,竟然有我這樣的想法的人還真不少。在一位老兄的Blog上列出了三種方法。我用了第一種,使用keyconfig擴展。
          1. 首先到 http://mozilla.dorando.at 上安裝keyconfig.xpi插件(本文附件)
          2. 進入~/.mozilla/firefox/[yours].default/目錄,編輯文件prefs.js,將一下內容插入到文件末尾: user_pref("keyconfig.main.xxx_key_ScrollPageUp", "!][][][goDoCommand('cmd_scrollPageUp');"); user_pref("keyconfig.main.xxx_key_ScrollPageDown", "!][][][goDoCommand('cmd_scrollPageDown');"); user_pref("keyconfig.main.xxx_key_ScrollLineUp", "!][][][goDoCommand('cmd_scrollLineUp');"); user_pref("keyconfig.main.xxx_key_ScrollLineDown", "!][][][goDoCommand('cmd_scrollLineDown');"); user_pref("keyconfig.main.xxx_key_ScrollLeft", "!][][][goDoCommand('cmd_scrollLeft');"); user_pref("keyconfig.main.xxx_key_ScrollRight", "!][][][goDoCommand('cmd_scrollRight');"); user_pref("keyconfig.main.xxx_key_ScrollTop", "!][][][goDoCommand('cmd_scrollTop');"); user_pref("keyconfig.main.xxx_key_ScrollBottom", "!][][][goDoCommand('cmd_scrollBottom');"); user_pref("keyconfig.main.xxx_key_findTypeLinks", "!][][][goDoCommand('cmd_findTypeLinks');");
          3. 先關閉firefox,然后再保存修改過的prefs.js文件。否則,firefox關閉后會清空 firefox的剪貼板,同時重寫prefs.js文件,所以需要先復制上面的代碼,再關閉firefox,最后保存prefs.js文件。
          4. 重新啟動firefox,在tools->keyconfig中設置相應的快捷鍵。
          hjkl解決了,但是我還希望能像vim那樣有命令模式,這似乎網上還沒有人實現,有空想研究一下Firefox的插件把這功能搞出來。:)

          順便把今天下午看的VIM文章Efficient Editing With vim學到的新知識總結一下:

          1.可視模式的新發現:
          • 剛接觸VIM得時候就已經開始使用“V”了,但是<C - v>這特性幾天才知道。這個快捷鍵按下之后可以選定任意的文字塊。注意,是任意的,不會受行的限制。
          • 使用ma可以在某一行創建標記,在普通模式則直接m后跟字幕就可以創建一個標記,例如:mk,在當前行創建了一個名為k的標記
          • 普通模式使用'(單引號)后跟標記名,可以快速轉到標記的行。例如: 'k,光標會自動定位到標記名為k的行
          • 在命令模式使用:marks可以查看當前的所有標記
          • '.可以跳轉到最后一次的編輯點。
          3.重復
          • 普通模式下使用.(句號)可以重復上一次的命令。
          4.使用多剪貼板
          • 操作方式:使用"(雙引號)+寄存器名+操作。
          • 把內容存入剪貼板:例如:"qyy,使用名為q的寄存器作為剪貼板保存當前行。
          • 從剪貼板中取內容:例如:"qp, 從名為q的寄存器中取出內容,作為粘貼的內容來粘貼。
          5.編寫代碼時常用命令
          • ]p 自適應粘貼,跟普通p的功能一樣。
          • % 在普通模式,當光標處于某個括號{},大括號(),中括號[]上時,按下%光標會跳到該括號,大括號,中括號的另一? 相匹配的部份。
          • >>和<< 向左、向右縮進。
          • gd Go to the definition (or declaration), 普通模式,在某個變量或者方法名上使用該命令,會高亮代碼中所有該變量或方法,然后可以通過n和N來跳轉光標到這些變量上。

          posted on 2007-01-11 20:45 405 Studio 閱讀(987) 評論(0)  編輯  收藏 所屬分類: LIVE 、LINUX

          主站蜘蛛池模板: 西丰县| 佛学| 罗源县| 北碚区| 安康市| 乐陵市| 长垣县| 夏邑县| 津市市| 姚安县| 璧山县| 西林县| 凌云县| 桦川县| 格尔木市| 长顺县| 高邮市| 临汾市| 忻城县| 通榆县| 永州市| 五大连池市| 郓城县| 云浮市| 肃南| 大连市| 安溪县| 竹溪县| 余庆县| 泊头市| 宝清县| 罗源县| 成武县| 长葛市| 淮北市| 光泽县| 阿克苏市| 康马县| 全州县| 调兵山市| 大厂|