vim風キーバインド for KeyRemap4MacBook

KeyRemap4MacBook で、 vim 風?の配列をするハック。 小Hack Vim風キーバインド for 窓使いの憂鬱Mac

ようは、VIMっぽいキーバインドを、何かのキー(英数かスペース)との組み合わせで、あらゆるアプリ上で使いたい、という話です。
キーバインドは以下の通り

  • 全て、EXは、英数キーを押しながら操作(設定で、スペースを押しながらにも出来る)
  • EX+H 左
  • EX+J 下
  • EX+K 上
  • EX+L 右
  • EX+N 日本語入力のトグル
  • EX+M 改行
  • EX+W Command+W
  • EX+Q Command+Q
  • EX+T Command+T
  • EX+1 F1
  • EX+2 F2
  • EX+3 F3
  • EX+4 F4
  • EX+5 F5
  • EX+6 F6
  • EX+7 F7
  • EX+8 F8
  • EX+9 F9
  • EX+10 F10
  • ※F11 は、ミスタイプが多いので省略
  • EX+= F12 (英語キーボードのため)
  • EX+F Command+F
  • EX+G HOME
  • EX+G END
  • EX+Tab Option+Tab (Witchなどウインドウ切り替えユーティリティ用)

画像の下にあるXMLファイルを、KeyReamp4MacBook のPrivate.xmlに設定して ReloadXML すると、以下の設定が増える(Private.xmlは、"Misic & Uninstall"のタブにある)

<?xml version="1.0"?>
<root>
  <item>
    <name>Vi Mode extra</name>
    <list>
      <item>
        <name>Eisuu+hjkl to Left/Down/Up/Right</name>
        <identifier>option.vimode_eisuu_hjkl</identifier>
	<autogen>--KeyOverlaidModifier-- KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::JIS_EISUU</autogen>
        <autogen>--KeyToKey-- KeyCode::H, ModifierFlag::EXTRA1, KeyCode::CURSOR_LEFT</autogen>
        <autogen>--KeyToKey-- KeyCode::J, ModifierFlag::EXTRA1, KeyCode::CURSOR_DOWN</autogen>
        <autogen>--KeyToKey-- KeyCode::K, ModifierFlag::EXTRA1, KeyCode::CURSOR_UP</autogen>
        <autogen>--KeyToKey-- KeyCode::L, ModifierFlag::EXTRA1, KeyCode::CURSOR_RIGHT</autogen>
        <autogen>--KeyToKey-- KeyCode::V, ModifierFlag::EXTRA1, KeyCode::DELETE</autogen>
        <autogen>--KeyToKey-- KeyCode::N, ModifierFlag::EXTRA1, KeyCode::VK_JIS_TOGGLE_EISUU_KANA</autogen>
        <autogen>--KeyToKey-- KeyCode::M, ModifierFlag::EXTRA1, KeyCode::RETURN</autogen>
        <autogen>--KeyToKey-- KeyCode::D, ModifierFlag::EXTRA1, KeyCode::PAGEDOWN</autogen>
        <autogen>--KeyToKey-- KeyCode::U, ModifierFlag::EXTRA1, KeyCode::PAGEUP</autogen>
        <autogen>--KeyToKey-- KeyCode::W, ModifierFlag::EXTRA1, KeyCode::W, ModifierFlag::COMMAND_L</autogen>
        <autogen>--KeyToKey-- KeyCode::Q, ModifierFlag::EXTRA1, KeyCode::Q, ModifierFlag::COMMAND_L</autogen>
        <autogen>--KeyToKey-- KeyCode::T, ModifierFlag::EXTRA1, KeyCode::T, ModifierFlag::COMMAND_L</autogen>
        <autogen>--KeyToKey-- KeyCode::KEY_1, ModifierFlag::EXTRA1, KeyCode::F1</autogen>
        <autogen>--KeyToKey-- KeyCode::KEY_2, ModifierFlag::EXTRA1, KeyCode::F2</autogen>
        <autogen>--KeyToKey-- KeyCode::KEY_3, ModifierFlag::EXTRA1, KeyCode::F3</autogen>
        <autogen>--KeyToKey-- KeyCode::KEY_4, ModifierFlag::EXTRA1, KeyCode::F4</autogen>
        <autogen>--KeyToKey-- KeyCode::KEY_5, ModifierFlag::EXTRA1, KeyCode::F5</autogen>
        <autogen>--KeyToKey-- KeyCode::KEY_6, ModifierFlag::EXTRA1, KeyCode::F6</autogen>
        <autogen>--KeyToKey-- KeyCode::KEY_7, ModifierFlag::EXTRA1, KeyCode::F7</autogen>
        <autogen>--KeyToKey-- KeyCode::KEY_8, ModifierFlag::EXTRA1, KeyCode::F8</autogen>
        <autogen>--KeyToKey-- KeyCode::KEY_9, ModifierFlag::EXTRA1, KeyCode::F9</autogen>
        <autogen>--KeyToKey-- KeyCode::KEY_0, ModifierFlag::EXTRA1, KeyCode::F10</autogen>
	<!-- <autogen>- -KeyToKey- - KeyCode::MINUS, ModifierFlag::EXTRA1, KeyCode::F11</autogen> -->
        <autogen>--KeyToKey-- KeyCode::EQUAL, ModifierFlag::EXTRA1, KeyCode::F12</autogen>
        <autogen>--KeyToKey-- KeyCode::F, ModifierFlag::EXTRA1, KeyCode::F, ModifierFlag::COMMAND_L</autogen>
      </item>
      <item>
        <name>Eisuu+ge to Commnad+Right/Left</name>
        <identifier>option.vimode_eisuu_ge</identifier>
        <not>TERMINAL</not>
        <autogen>--KeyToKey-- KeyCode::E, ModifierFlag::EXTRA1, KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L</autogen>
        <autogen>--KeyToKey-- KeyCode::G, ModifierFlag::EXTRA1, KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L</autogen>
      </item>
      <item>
      <name>Eisuu+ge to Home/End on terminal</name>
        <identifier>option.vimode_eisuu_ge_terminal</identifier>
        <only>TERMINAL</only>
        <autogen>--KeyToKey-- KeyCode::E, ModifierFlag::EXTRA1, KeyCode::END</autogen>
        <autogen>--KeyToKey-- KeyCode::G, ModifierFlag::EXTRA1, KeyCode::HOME</autogen>
      </item>
      <item>
        <name>Eisuu+tab to Alt+Tab</name>
        <identifier>option.vimode_eiduu_tab</identifier>
        <not>REMOTEDESKTOPCONNECTION</not>
        <autogen>--KeyToKey-- KeyCode::TAB, ModifierFlag::EXTRA1, KeyCode::TAB, ModifierFlag::OPTION_L</autogen>
      </item>
      <item>
        <name>Vi Mode extra RDC exception</name>
        <identifier>option.vimode_rdc_except</identifier>
        <only>REMOTEDESKTOPCONNECTION</only>
        <autogen>--KeyToKey-- KeyCode::COMMAND_L, KeyCode::CONTROL_L</autogen>
        <autogen>--KeyToKey-- KeyCode::TAB, ModifierFlag::EXTRA1, KeyCode::TAB, ModifierFlag::COMMAND_L</autogen>
      </item>
      <item>
        <name>Space+hjkl to Left/Down/Up/Right (hhk hack) (Please use with Eisuu+hijk)</name>
        <identifier>option.vimode_space_hjkl</identifier>
	<autogen>--KeyOverlaidModifier-- KeyCode::SPACE, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::SPACE</autogen>
      </item>
    </list>
  </item>
</root>