私は、オペレーティング システムを代替キーボード レイアウトに設定して vimperator を使用しています。 と を使用して、挿入モードと通常モードで再マップするのは非常に簡単ですinoremap
がnnoremap
、.vimperatorrc
キャレット モードまたはテキスト エリア モードでキーを再マップする方法が見つかりません。どうすればいいですか?
答え1
また、Vimperator をさらに発展させた Pentadactyl を使用すると、通常、ビジュアル、キャレット、テキスト編集の各モードで同じマッピングが必要な場合でも、キャレット モードとテキストエリア モードでキーを簡単に再マッピングできること:map -modes caret,text-edit
も知っておくと:map -modes command
便利です。
答え2
編集: このような高度なカスタマイズを行う場合は、多くの使用すればもっと簡単になります五指類Vimperator の代わりに。完全性のためにここに残しておきます。
Vimperator 自体のソース コードを編集する必要がありますが、それほど大変な作業ではありません。必要な作業は次のとおりです。
vimperatorのxpiファイルを見つける
Firefoxは拡張機能のコードを
.xpi
ファイルに保存します。基本的にはアドオンのコードを含むzipファイルです。vimperator xpiを見つける最も簡単な方法は、超小型アドオンをインストールすることです。プロファイルフォルダを開くを押して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 fFirefoxでVimperatorをアンインストールします。これで古いxpiが削除され、編集したxpiが使用できるようになります。
zipファイルの拡張子をxpiに戻します
Firefox で を押してAlt f、デスクトップ上の新しい xpi に移動し、[開く] を選択します。Firefox はそれを新しいアドオンとしてインストールします。
Firefox を再起動して、新しいバインディングをお楽しみください。
1 つの問題は、vimperator を更新すると、新しい xpi でこれを再度実行する必要があることですが、新しいバージョンのこのセクションを、古いバージョンから編集したバージョンに置き換えるだけで済むはずです。