我使用 vimperator,並將作業系統設定為備用鍵盤佈局。在 my 中使用inoremap
和重新映射插入和正常模式下的內容非常容易,但我找不到如何在插入符號模式或文字區域模式下重新映射鍵。我怎樣才能做到這一點?nnoremap
.vimperatorrc
答案1
此外,了解 Pentadactyl(Vimperator 的進一步開發)可能對您有用,它允許您輕鬆地重新映射插入符號和文字區域模式中的鍵,:map -modes caret,text-edit
或者即使:map -modes command
您想要正常、視覺、插入符號和文字編輯模式具有相同的映射。
答案2
編輯:如果您想進行這樣的高級自定義,您將有一個很多如果你使用的話比較容易五指而不是 Vimperator。為了完整起見,請將其留在這裡。
您將需要編輯 Vimperator 本身的原始程式碼,但這確實並不可怕。您需要執行以下操作:
找到 vimperator 的 xpi 文件
Firefox 將其擴充功能的程式碼儲存在
.xpi
檔案中,這些檔案基本上是包含附加元件程式碼的 zip 檔案。找到 vimperator xpi 最簡單的方法是安裝 super-tiny 附加元件開啟設定檔資料夾,alt t按 開啟工具選單,選擇“開啟設定檔資料夾”,然後導覽至子目錄extensions
。在這裡您可以找到所有插件的 xpi 檔案;尋找名稱中帶有“vimperator”的產品。對我來說,它的[email protected]
.如果您有一個好的搜尋工具,例如一切或 Mac 上的 Spotlight,您可能只需搜尋「vimperator」並尋找具有
.xpi
副檔名的檔案。將 xpi 檔案複製到桌面並將副檔名變更
.xpi
為.zip
開啟 zip 檔案並導航至
common/content/
.editor.js
在文字編輯器中開啟文件搜尋“addMovementMap”
你應該找到這樣的東西:
// KEYS COUNT CARET TEXTAREA VISUAL_TEXTAREA addMovementMap(["k", "<Up>"], true, "lineMove", false, "cmd_linePrevious", selectPreviousLine); addMovementMap(["j", "<Down>", "<Return>"], true, "lineMove", true, "cmd_lineNext", selectNextLine); addMovementMap(["h", "<Left>", "<BS>"], true, "characterMove", false, "cmd_charPrevious", "cmd_selectCharPrevious"); addMovementMap(["l", "<Right>", "<Space>"], true, "characterMove", true, "cmd_charNext", "cmd_selectCharNext"); addMovementMap(["b", "B", "<C-Left>"], true, "wordMove", false, "cmd_wordPrevious", "cmd_selectWordPrevious"); addMovementMap(["w", "W", "e", "<C-Right>"], true, "wordMove", true, "cmd_wordNext", "cmd_selectWordNext"); addMovementMap(["<C-f>", "<PageDown>"], true, "pageMove", true, "cmd_movePageDown", "cmd_selectNextPage"); addMovementMap(["<C-b>", "<PageUp>"], true, "pageMove", false, "cmd_movePageUp", "cmd_selectPreviousPage"); addMovementMap(["gg", "<C-Home>"], false, "completeMove", false, "cmd_moveTop", "cmd_selectTop"); addMovementMap(["G", "<C-End>"], false, "completeMove", true, "cmd_moveBottom", "cmd_selectBottom"); addMovementMap(["0", "^", "<Home>"], false, "intraLineMove", false, "cmd_beginLine", "cmd_selectBeginLine"); addMovementMap(["$", "<End>"], false, "intraLineMove", true, "cmd_endLine" , "cmd_selectEndLine" );
引號中的字母是插入符號模式和文字區域模式的對應。將它們更改為您想要的任何內容並保存文件。用於
<C-f>
將函數映射到Control f進入 Firefox 並卸載 vimperator。這將擺脫舊的 xpi,以便您可以使用我們剛剛編輯的 xpi
將 zip 檔案的副檔名更改回 xpi
按Alt fFirefox,導覽至桌面上的新 xpi,然後選擇開啟。 Firefox 將把它作為新的附加元件安裝。
重新啟動 Firefox 並享受新的綁定!
一個問題是,如果您更新 vimperator,您將需要使用新的 xpi 再次執行此操作,但您應該能夠用您在舊版本中編輯的版本替換新版本中的此部分。