LoginSignup
5
6

More than 5 years have passed since last update.

sublime text を快適につかうためのkeymap4macbookの個人的な設定

Posted at

わたしのキーマップのファジーな基準

1.ひとまず学習コストは低め
2.emacsは興味あるけど微妙に使ってない
3.多少癖のある配置にしてもいいけど癖が強すぎるのは避ける

対応

1.sublime対応&ついでにほかアプリ対応
2.デフォルト設定を可能な範囲で使う
3.実装作業はシンプルにデフォ設定の文字置換とちょっと程度

内容

emacsmodeの好きなところだけ有効にする。
だいたい親指で手元のキーでmodiferする。
タッチパッドはとりあえずmodiferにしない。
vkじゃなくてfnでやってみる。
sublime,iterm2,aptanaなどはfnで、他はctrlLとしてスペースキーを利用する。
あとはデフォルトから使いたいモノを選ぶ。
ちなみにバージョンふるいの使ってる。

private.xml

<?xml version="1.0"?> 
<root>
  <!-- 参考 -->
  <!-- /Applications/KeyRemap4MacBook.app/Contents/Resources -->
  <!-- https://pqrs.org/macosx/keyremap4macbook/document.html.ja#privatexml -->
  <!-- https://pqrs.org/macosx/keyremap4macbook/xml.html.ja -->
    <symbol_map type="KeyCode" name="[" value="0x21" />
    <appdef>
      <appname>SUBLIMETEXT</appname>
      <equal>com.sublimetext.2</equal>
      <equal>com.sublimetext.3</equal>
    </appdef>

    <appdef>
      <appname>APTANASTUDIO3</appname>
      <equal>com.aptana.studio3</equal>
    </appdef>

    <appdef>
        <appname>ITERM2</appname>
        <equal>com.googlecode.iterm2</equal>
    </appdef>

    <appdef>
        <appname>MACVIM</appname>
        <equal>org.vim.MacVim</equal>
    </appdef>

    <replacementdef>
      <replacementname>EMACS_MODE_IGNORE_APPS</replacementname>
      <replacementvalue>
          ECLIPSE,
          EMACS,
          REMOTEDESKTOPCONNECTION,
          TERMINAL,
          VI,
          VIRTUALMACHINE,
          X11,
          SUBLIMETEXT,
          ITERM2,
          MACVIM,
          APTANASTUDIO3,
      </replacementvalue>
    </replacementdef>
    <replacementdef>
      <replacementname>MY_EMACS_MODE_IGNORE_APPS</replacementname>
      <replacementvalue>
          ECLIPSE,
          EMACS,
          REMOTEDESKTOPCONNECTION,
          TERMINAL,
          VI,
          VIRTUALMACHINE,
          X11,
          SUBLIMETEXT,
          ITERM2,
          MACVIM,
          APTANASTUDIO3,
      </replacementvalue>
    </replacementdef>
    <replacementdef>
      <replacementname>MY_EMACS_MODE_C_X_EXTRA</replacementname>
      <replacementvalue></replacementvalue>
    </replacementdef>
    <replacementdef>
      <replacementname>MY_EMACS_MODE_MARKSET_EXTRA</replacementname>
      <replacementvalue></replacementvalue>
    </replacementdef>
  <item>
    <name>MY Change Space Key</name>
    <item>
      <name>MY Space to Control_L (not myemacsmode)</name>
      <appendix>(+ When you type Space only, send Space)</appendix>
      <identifier>remap.my_space2controlL_space</identifier>
      <not>{{MY_EMACS_MODE_IGNORE_APPS}}</not>
      <autogen>__KeyOverlaidModifier__ KeyCode::SPACE, KeyCode::CONTROL_L, KeyCode::SPACE</autogen>
    </item>
    <item>
      <name>MY Space to Fn (only myemacsmode)</name>
      <appendix>(+ When you type Space only, send Space)</appendix>
      <identifier>remap.my_space2fn_space</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyOverlaidModifier__ KeyCode::SPACE, KeyCode::FN, KeyCode::SPACE</autogen>
    </item>
  </item>
  <item>
    <name>My Emacs Mode</name>
    <item>
      <name>My Fn+D to Forward Delete</name>
      <identifier>option.my_emacsmode_fnD</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::D, ModifierFlag::FN, KeyCode::FORWARD_DELETE</autogen>
    </item>
    <item>
      <name>My Fn+D to Forward Delete</name>
      <appendix>(when there are no other modifiers)</appendix>
      <identifier>option.my_emacsmode_fnD_nomodifiers</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::D, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::FORWARD_DELETE</autogen>
    </item>
    <item>
      <name>My Fn+H to Delete</name>
      <identifier>option.my_emacsmode_fnH</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::H, ModifierFlag::FN, KeyCode::DELETE</autogen>
    </item>
    <item>
      <name>My Fn+I to Tab</name>
      <identifier>option.my_emacsmode_fnI</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::I, ModifierFlag::FN, KeyCode::TAB</autogen>
    </item>
    <item>
      <name>My Fn+[ to Escape</name>
      <identifier>option.my_emacsmode_fnLeftbracket</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::BRACKET_LEFT, ModifierFlag::FN, KeyCode::ESCAPE</autogen>
    </item>
    <item>
      <name>My Fn+J to Return</name>
      <identifier>remap.my_controlJ2return</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::J, ModifierFlag::FN, KeyCode::RETURN</autogen>
    </item>
    <item>
      <name>My Fn+J to Enter</name>
      <identifier>remap.my_controlJ2enter</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::J, ModifierFlag::FN, KeyCode::ENTER</autogen>
    </item>
    <item>
      <name>My Fn+M to Return</name>
      <identifier>option.my_emacsmode_fnM</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::M, ModifierFlag::FN, KeyCode::RETURN</autogen>
    </item>
    <item>
      <name>My Fn+PNBF to Up/Down/Left/Right</name>
      <identifier>option.my_emacsmode_fnPNBF</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <include path="snippets/emacsmode_fnPNBF.xml" />
    </item>
    <item>
      <name>My Fn+PNBF to Up/Down/Left/Right</name>
      <appendix>(when there are no other modifiers)</appendix>
      <identifier>option.my_emacsmode_fnPNBF_nomodifiers</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <include path="snippets/emacsmode_fnPNBF_nomodifiers.xml" />
    </item>
    <item>
      <name>My Fn+PNBF to Up/Down/Left/Right</name>
      <appendix>(+ Fn+AE to Command+Left/Right)</appendix>
      <appendix>(+ Command+Fn+PNBF to Shift+Up/Down/Left/Right)</appendix>
      <appendix>(+ Command+Fn+AE to Shift+Command+Left/Right)</appendix>
      <appendix>(+ retain Fn+Shift+PNBF)</appendix>
      <appendix>(+ retain Fn+Shift+AE)</appendix>
      <identifier>option.my_emacsmode_fnPNBF_ex</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <include path="snippets/emacsmode_fnPNBF_ex.xml" />
    </item>
    <item>
      <name>My Fn+V to PageDown</name>
      <identifier>option.my_emacsmode_fnV</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::V, ModifierFlag::FN, KeyCode::PAGEDOWN</autogen>
    </item>
    <item>
      <name>My Option+V to PageUp</name>
      <identifier>option.my_emacsmode_optionV</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::V, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION, KeyCode::PAGEUP</autogen>
    </item>
    <item>
      <name>My Command+V to PageUp</name>
      <identifier>option.my_emacsmode_commandV</identifier>
      <!-- Do not use "not filter" on changing Command+XXX -->
      <autogen>__KeyToKey__ KeyCode::V, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND, KeyCode::PAGEUP</autogen>
    </item>
    <item>
      <name>My Fn+Y to Command+V</name>
      <identifier>option.my_emacsmode_fnY</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::Y, ModifierFlag::FN, KeyCode::V, ModifierFlag::COMMAND_L</autogen>
    </item>
    <item>
      <name>My Fn+AE to Command+Left/Right</name>
      <identifier>option.my_emacsmode_fnAE</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::A, ModifierFlag::FN, KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L</autogen>
      <autogen>__KeyToKey__ KeyCode::E, ModifierFlag::FN, KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L</autogen>
    </item>
    <item>
      <name>My Fn+AE to Command+Shift+Left/Right,Left/Right</name>
      <appendix>(An Alternative way if you use Command+Left/Right for Spaces)</appendix>
      <identifier>option.my_emacsmode_fnAE_alternative</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::A, ModifierFlag::FN, KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L</autogen>
      <autogen>__KeyToKey__ KeyCode::E, ModifierFlag::FN, KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L</autogen>
    </item>
    <item>
      <name>My Fn+K to Command+Shift+Right,Forward Delete</name>
      <identifier>option.my_emacsmode_fnK_ex</identifier>
      <block>
        <only>{{MY_EMACS_MODE_IGNORE_APPS}}, DICTIONARY</only>
        <autogen>__KeyToKey__ KeyCode::K, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L, KeyCode::FORWARD_DELETE</autogen>
      </block>
      <block>
        <only>DICTIONARY</only>
        <autogen>__KeyToKey__ KeyCode::K, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::E, ModifierFlag::FN | ModifierFlag::SHIFT_L, KeyCode::FORWARD_DELETE</autogen>
      </block>
    </item>
    <item>
      <name>My Fn+K to Command+Shift+Right,Command+X</name>
      <identifier>option.my_emacsmode_fnK</identifier>
      <block>
        <only>{{MY_EMACS_MODE_IGNORE_APPS}}, DICTIONARY</only>
        <autogen>__KeyToKey__ KeyCode::K, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L, KeyCode::X, ModifierFlag::COMMAND_L</autogen>
      </block>
      <block>
        <only>DICTIONARY</only>
        <autogen>__KeyToKey__ KeyCode::K, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::E, ModifierFlag::FN | ModifierFlag::SHIFT_L, KeyCode::X, ModifierFlag::COMMAND_L</autogen>
      </block>
    </item>
    <item>
      <name>My Fn+W to Command+X</name>
      <identifier>option.my_emacsmode_fnW</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::W, ModifierFlag::FN, KeyCode::X, ModifierFlag::COMMAND_L</autogen>
    </item>
    <item>
      <name>My Option+W to Command+C</name>
      <identifier>option.my_emacsmode_OptionWCopy</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::W, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION, KeyCode::C, ModifierFlag::COMMAND_L</autogen>
    </item>
    <item>
      <name>My Option+BF to Option+Left/Right</name>
      <identifier>option.my_emacsmode_optionBF</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::B, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION, KeyCode::CURSOR_LEFT, ModifierFlag::OPTION_L</autogen>
      <autogen>__KeyToKey__ KeyCode::F, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION, KeyCode::CURSOR_RIGHT, ModifierFlag::OPTION_L</autogen>
    </item>
    <item>
      <name>My Option+D to Option+Forward Delete</name>
      <identifier>option.my_emacsmode_optionD</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::D, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION, KeyCode::FORWARD_DELETE, ModifierFlag::OPTION_L</autogen>
    </item>
    <item>
      <name>My Option+&lt; to Home / Option+&gt; to End</name>
      <identifier>option.my_emacsmode_optionLtGt</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::COMMA, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION | MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_SHIFT, KeyCode::HOME, ModifierFlag::OPTION_L</autogen>
      <autogen>__KeyToKey__ KeyCode::DOT,   MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION | MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_SHIFT, KeyCode::END, ModifierFlag::OPTION_L</autogen>
    </item>
    <item>
      <name>My Fn+/ to Command_Z</name>
      <identifier>option.my_emacsmode_fnSlash</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::SLASH, ModifierFlag::FN, KeyCode::Z, ModifierFlag::COMMAND_L</autogen>
    </item>
    <item>
      <name>My Fn+S to Command+F</name>
      <identifier>option.my_emacsmode_fnS</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::S, ModifierFlag::FN, KeyCode::F, ModifierFlag::COMMAND_L</autogen>
    </item>
    <item>
      <name>My [ex] Fn+1 to Home / Fn+2 to End</name>
      <identifier>option.my_emacsmode_ex_control12</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::KEY_1, ModifierFlag::FN, KeyCode::HOME</autogen>
      <autogen>__KeyToKey__ KeyCode::KEY_2, ModifierFlag::FN, KeyCode::END</autogen>
    </item>
    <item>
      <name>My [ex] Fn+Comma(,)/Dot(.) to Home/End</name>
      <identifier>option.my_emacsmode_ex_controlcommadot</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::COMMA, ModifierFlag::FN, KeyCode::HOME</autogen>
      <autogen>__KeyToKey__ KeyCode::DOT,   ModifierFlag::FN, KeyCode::END</autogen>
    </item>
    <item>
      <name>My [ex] Fn+Q to PageUp</name>
      <identifier>option.my_emacsmode_ex_controlQ</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::Q, ModifierFlag::FN, KeyCode::PAGEUP</autogen>
    </item>
    <item>
      <name>My [ex] Fn+W to Option+Delete</name>
      <identifier>option.my_emacsmode_ex_controlW</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::W, ModifierFlag::FN, KeyCode::DELETE, ModifierFlag::OPTION_L</autogen>
    </item>
    <item>
      <name>My [ex] Fn+U to Command+Shift+Left,Command+X</name>
      <identifier>option.my_emacsmode_ex_controlU</identifier>
      <block>
        <only>EXCEL</only>
        <autogen>
          __KeyToKey__
          KeyCode::U, ModifierFlag::FN | ModifierFlag::NONE,
          KeyCode::HOME, ModifierFlag::SHIFT_L,
          KeyCode::X, ModifierFlag::COMMAND_L,
          Option::NOREPEAT
        </autogen>
      </block>
      <block>
        <only>{{MY_EMACS_MODE_IGNORE_APPS}}, DICTIONARY</only>
        <autogen>__KeyToKey__ KeyCode::U, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L, KeyCode::X, ModifierFlag::COMMAND_L, Option::NOREPEAT</autogen>
      </block>
      <block>
        <only>DICTIONARY</only>
        <autogen>__KeyToKey__ KeyCode::U, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::A, ModifierFlag::FN | ModifierFlag::SHIFT_L, KeyCode::X, ModifierFlag::COMMAND_L, Option::NOREPEAT</autogen>
      </block>
    </item>
    <item>
      <name>My [ex] Fn+U to Command+Shift+Left,Delete</name>
      <identifier>option.my_emacsmode_ex_controlU_delete</identifier>
      <block>
        <only>EXCEL</only>
        <autogen>
          __KeyToKey__
          KeyCode::U, ModifierFlag::FN | ModifierFlag::NONE,
          KeyCode::HOME, ModifierFlag::SHIFT_L,
          KeyCode::DELETE,
          Option::NOREPEAT
        </autogen>
      </block>
      <block>
        <only>{{MY_EMACS_MODE_IGNORE_APPS}}, DICTIONARY</only>
        <autogen>__KeyToKey__ KeyCode::U, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L, KeyCode::DELETE, Option::NOREPEAT</autogen>
      </block>
      <block>
        <only>DICTIONARY</only>
        <autogen>__KeyToKey__ KeyCode::U, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::A, ModifierFlag::FN | ModifierFlag::SHIFT_L, KeyCode::DELETE, Option::NOREPEAT</autogen>
      </block>
    </item>
    <item>
      <name>My [ex] Fn+U to Command+Shift+Left,Forward Delete</name>
      <identifier>option.my_emacsmode_ex_controlU_forwarddelete</identifier>
      <block>
        <only>EXCEL</only>
        <autogen>
          __KeyToKey__
          KeyCode::U, ModifierFlag::FN | ModifierFlag::NONE,
          KeyCode::HOME, ModifierFlag::SHIFT_L,
          KeyCode::FORWARD_DELETE,
          Option::NOREPEAT
        </autogen>
      </block>
      <block>
        <only>{{MY_EMACS_MODE_IGNORE_APPS}}, DICTIONARY</only>
        <autogen>__KeyToKey__ KeyCode::U, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L, KeyCode::FORWARD_DELETE, Option::NOREPEAT</autogen>
      </block>
      <block>
        <only>DICTIONARY</only>
        <autogen>__KeyToKey__ KeyCode::U, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::A, ModifierFlag::FN | ModifierFlag::SHIFT_L, KeyCode::FORWARD_DELETE, Option::NOREPEAT</autogen>
      </block>
    </item>
    <item>
      <name>My [ex] Fn+U to PageUp</name>
      <identifier>remap.my_controlU2pageup</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::U, ModifierFlag::FN, KeyCode::PAGEUP</autogen>
    </item>
    <item>
      <name>My [ex] Fn+G to Escape</name>
      <identifier>option.my_emacsmode_ex_controlG</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::G, ModifierFlag::FN, KeyCode::ESCAPE</autogen>
    </item>
    <item>
      <name>My [ex] Fn+AE to Home/End</name>
      <identifier>option.my_emacsmode_ex_controlAE</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::A, ModifierFlag::FN, KeyCode::HOME</autogen>
      <autogen>__KeyToKey__ KeyCode::E, ModifierFlag::FN, KeyCode::END</autogen>
    </item>
    <item>
      <name>My [ex] Command+W to Command+C</name>
      <identifier>option.my_emacsmode_ex_commandW</identifier>
      <!-- Do not use "not filter" on changing Command+XXX -->
      <autogen>__KeyToKey__ KeyCode::W, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND, KeyCode::C, ModifierFlag::COMMAND_L</autogen>
    </item>
    <item>
      <name>My [ex] Command+W to Fn+X,Fn+M,Command+C (only in Xcode)</name>
      <appendix>(+ Command+W to Command+C (except Xcode))</appendix>
      <identifier>option.my_emacsmode_ex_commandW_xcode</identifier>
      <block>
        <only>XCODE</only>
        <autogen>__KeyToKey__ KeyCode::W, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND, KeyCode::X, ModifierFlag::CONTROL_L, KeyCode::M, ModifierFlag::CONTROL_L, KeyCode::C, ModifierFlag::COMMAND_L</autogen>
      </block>
      <block>
        <!-- Do not use "not filter" on changing Command+XXX -->
        <autogen>__KeyToKey__ KeyCode::W, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND, KeyCode::C, ModifierFlag::COMMAND_L</autogen>
      </block>
    </item>
    <item>
      <name>My [ex] Fn+W to Fn+X,Fn+M,Command+X (only in Xcode)</name>
      <appendix>(+ Fn+W to Command+X (except Xcode))</appendix>
      <identifier>option.my_emacsmode_ex_controlW_xcode</identifier>
      <block>
        <only>XCODE</only>
        <autogen>__KeyToKey__ KeyCode::W, ModifierFlag::FN, KeyCode::X, ModifierFlag::CONTROL_L, KeyCode::M, ModifierFlag::CONTROL_L, KeyCode::X, ModifierFlag::COMMAND_L</autogen>
      </block>
      <block>
        <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
        <autogen>__KeyToKey__ KeyCode::W, ModifierFlag::FN, KeyCode::X, ModifierFlag::COMMAND_L</autogen>
      </block>
    </item>
    <item>
      <name>My [ex] Option+W to Command+W</name>
      <identifier>option.my_emacsmode_ex_optionW</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::W, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION, KeyCode::W, ModifierFlag::COMMAND_L</autogen>
    </item>
    <item>
      <name>My [ex] Option+E to Command+W</name>
      <identifier>option.my_emacsmode_ex_optionE</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::E, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION, KeyCode::W, ModifierFlag::COMMAND_L</autogen>
    </item>
    <item>
      <name>My [ex] Option+T to Command+T</name>
      <identifier>option.my_emacsmode_ex_optionT</identifier>
      <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
      <autogen>__KeyToKey__ KeyCode::T, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION, KeyCode::T, ModifierFlag::COMMAND_L</autogen>
    </item>
    <item>
      <name>My [ex] Use Fn+X as prefix key</name>
      <item>
        <!-- C-x Mode Core -->
        <name>My Fn+X detail</name>
        <appendix>C-x C-s to Command_L+S</appendix>
        <appendix>C-x C-f to Command_L+O</appendix>
        <appendix>C-x k to Command_L+W</appendix>
        <appendix>C-x C-c to Command_L+Q</appendix>
        <appendix>C-x C-g to turn off Fn+X Mode</appendix>
        <identifier vk_config="true">notsave.my_emacsmode_ex_controlX_core</identifier>
        {{ MY_EMACS_MODE_C_X_EXTRA }}
        <autogen>__ShowStatusMessage__ C-x Mode</autogen>
        <autogen>__KeyToKey__ KeyCode::S, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::S, ModifierFlag::COMMAND_L, KeyCode::VK_CONFIG_FORCE_OFF_notsave_emacsmode_ex_controlX_core</autogen>
        <autogen>__KeyToKey__ KeyCode::C, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::Q, ModifierFlag::COMMAND_L, KeyCode::VK_CONFIG_FORCE_OFF_notsave_emacsmode_ex_controlX_core</autogen>
        <autogen>__KeyToKey__ KeyCode::F, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::O, ModifierFlag::COMMAND_L, KeyCode::VK_CONFIG_FORCE_OFF_notsave_emacsmode_ex_controlX_core</autogen>
        <autogen>__KeyToKey__ KeyCode::K, ModifierFlag::NONE,              KeyCode::W, ModifierFlag::COMMAND_L, KeyCode::VK_CONFIG_FORCE_OFF_notsave_emacsmode_ex_controlX_core</autogen>
        <autogen>__KeyToKey__ KeyCode::G, ModifierFlag::FN | ModifierFlag::NONE,                                      KeyCode::VK_CONFIG_FORCE_OFF_notsave_emacsmode_ex_controlX_core</autogen>
      </item>
      <item>
        <name>My Enable Fn+X</name>
        <identifier>option.my_emacsmode_ex_controlX</identifier>
        <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
        <autogen>__KeyToKey__ KeyCode::X, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::VK_CONFIG_FORCE_ON_notsave_emacsmode_ex_controlX_core</autogen>
      </item>
    </item>
    <item>
      <name>My [ex] Use Fn+Space as MarkSet</name>
      <item>
        <!-- MarkSet Mode Core -->
        <name>My MarkSet Mode detail</name>
        <appendix>Fn+W to Command_L+X</appendix>
        <appendix>Option+W to Command_L+C</appendix>
        <appendix>Fn+G to turn off MarkSet</appendix>
        <appendix>Fn+Space to turn off MarkSet</appendix>
        <identifier vk_config="true">notsave.my_emacsmode_ex_controlSpace_core</identifier>
        <autogen>__ShowStatusMessage__ MarkSet</autogen>
        {{ MY_EMACS_MODE_MARKSET_EXTRA }}
        <autogen>
          __KeyToKey__
          KeyCode::W, ModifierFlag::FN | ModifierFlag::SHIFT_L | ModifierFlag::NONE,
          KeyCode::VK_LOCK_SHIFT_L_FORCE_OFF,
          KeyCode::X, ModifierFlag::COMMAND_L,
          KeyCode::VK_CONFIG_FORCE_OFF_notsave_emacsmode_ex_controlSpace_core
        </autogen>
        <autogen>
          __KeyToKey__
          KeyCode::W, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION  | ModifierFlag::SHIFT_L | ModifierFlag::NONE,
          KeyCode::VK_LOCK_SHIFT_L_FORCE_OFF,
          KeyCode::C,
          ModifierFlag::COMMAND_L,
          KeyCode::VK_CONFIG_FORCE_OFF_notsave_emacsmode_ex_controlSpace_core
        </autogen>
        <autogen>
          __KeyToKey__
          KeyCode::G, ModifierFlag::FN | ModifierFlag::SHIFT_L | ModifierFlag::NONE,
          KeyCode::VK_LOCK_SHIFT_L_FORCE_OFF,
          KeyCode::VK_CONFIG_FORCE_OFF_notsave_emacsmode_ex_controlSpace_core
        </autogen>
        <autogen>
          __KeyToKey__
          KeyCode::SPACE, ModifierFlag::FN | ModifierFlag::SHIFT_L | ModifierFlag::NONE,
          KeyCode::VK_LOCK_SHIFT_L_FORCE_OFF,
          KeyCode::VK_CONFIG_FORCE_OFF_notsave_emacsmode_ex_controlSpace_core
        </autogen>
      </item>
      <item>
        <name>My Enable Fn+Space</name>
        <identifier>option.my_emacsmode_ex_controlSpace</identifier>
        <only>{{MY_EMACS_MODE_IGNORE_APPS}}</only>
        <autogen>
          __KeyToKey__
          KeyCode::SPACE, ModifierFlag::FN | ModifierFlag::NONE,
          KeyCode::VK_LOCK_SHIFT_L_FORCE_ON,
          KeyCode::VK_CONFIG_FORCE_ON_notsave_emacsmode_ex_controlSpace_core
        </autogen>
      </item>
    </item>
    <item>
      <name>My Behavior in Emacs, Terminal, X11, VMware, Parallels, RDC, Eclipse</name>
      <item>
        <name>My Force change C-d to Forward Delete</name>
        <item>
          <name>My In Emacs, Terminal</name>
          <identifier>option.my_emacsmode_force_controlD_term</identifier>
          <only>EMACS, TERMINAL</only>
          <autogen>__KeyToKey__ KeyCode::D, ModifierFlag::FN, KeyCode::FORWARD_DELETE</autogen>
        </item>
        <item>
          <name>My In X11</name>
          <identifier>option.my_emacsmode_force_controlD_x11</identifier>
          <only>X11</only>
          <autogen>__KeyToKey__ KeyCode::D, ModifierFlag::FN, KeyCode::FORWARD_DELETE</autogen>
        </item>
        <item>
          <name>My In VMware Fusion, Parallels Desktop, Remote Desktop Connection</name>
          <identifier>option.my_emacsmode_force_controlD_vm</identifier>
          <only>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</only>
          <autogen>__KeyToKey__ KeyCode::D, ModifierFlag::FN, KeyCode::FORWARD_DELETE</autogen>
        </item>
        <item>
          <name>My In Eclipse</name>
          <identifier>option.my_emacsmode_force_controlD_eclipse</identifier>
          <only>ECLIPSE</only>
          <autogen>__KeyToKey__ KeyCode::D, ModifierFlag::FN, KeyCode::FORWARD_DELETE</autogen>
        </item>
      </item>
      <item>
        <name>My Force change C-h to Delete</name>
        <item>
          <name>My In Emacs, Terminal</name>
          <identifier>option.my_emacsmode_force_controlH_term</identifier>
          <only>EMACS, TERMINAL</only>
          <autogen>__KeyToKey__ KeyCode::H, ModifierFlag::FN, KeyCode::DELETE</autogen>
        </item>
        <item>
          <name>My In X11</name>
          <identifier>option.my_emacsmode_force_controlH_x11</identifier>
          <only>X11</only>
          <autogen>__KeyToKey__ KeyCode::H, ModifierFlag::FN, KeyCode::DELETE</autogen>
        </item>
        <item>
          <name>My In VMware Fusion, Parallels Desktop, Remote Desktop Connection</name>
          <identifier>option.my_emacsmode_force_controlH_vm</identifier>
          <only>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</only>
          <autogen>__KeyToKey__ KeyCode::H, ModifierFlag::FN, KeyCode::DELETE</autogen>
        </item>
        <item>
          <name>My In Eclipse</name>
          <identifier>option.my_emacsmode_force_controlH_eclipse</identifier>
          <only>ECLIPSE</only>
          <autogen>__KeyToKey__ KeyCode::H, ModifierFlag::FN, KeyCode::DELETE</autogen>
        </item>
      </item>
      <item>
        <name>My Force change C-i to Tab</name>
        <item>
          <name>My In Emacs, Terminal</name>
          <identifier>option.my_emacsmode_force_controlI_term</identifier>
          <only>EMACS, TERMINAL</only>
          <autogen>__KeyToKey__ KeyCode::I, ModifierFlag::FN, KeyCode::TAB</autogen>
        </item>
        <item>
          <name>My In X11</name>
          <identifier>option.my_emacsmode_force_controlI_x11</identifier>
          <only>X11</only>
          <autogen>__KeyToKey__ KeyCode::I, ModifierFlag::FN, KeyCode::TAB</autogen>
        </item>
        <item>
          <name>My In VMware Fusion, Parallels Desktop, Remote Desktop Connection</name>
          <identifier>option.my_emacsmode_force_controlI_vm</identifier>
          <only>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</only>
          <autogen>__KeyToKey__ KeyCode::I, ModifierFlag::FN, KeyCode::TAB</autogen>
        </item>
        <item>
          <name>My In Eclipse</name>
          <identifier>option.my_emacsmode_force_controlI_eclipse</identifier>
          <only>ECLIPSE</only>
          <autogen>__KeyToKey__ KeyCode::I, ModifierFlag::FN, KeyCode::TAB</autogen>
        </item>
      </item>
      <item>
        <name>My Force change C-m to Return</name>
        <item>
          <name>My In Emacs, Terminal</name>
          <identifier>option.my_emacsmode_force_controlM_term</identifier>
          <only>EMACS, TERMINAL</only>
          <autogen>__KeyToKey__ KeyCode::M, ModifierFlag::FN, KeyCode::RETURN</autogen>
        </item>
        <item>
          <name>My In X11</name>
          <identifier>option.my_emacsmode_force_controlM_x11</identifier>
          <only>X11</only>
          <autogen>__KeyToKey__ KeyCode::M, ModifierFlag::FN, KeyCode::RETURN</autogen>
        </item>
        <item>
          <name>My In VMware Fusion, Parallels Desktop, Remote Desktop Connection</name>
          <identifier>option.my_emacsmode_force_controlM_vm</identifier>
          <only>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</only>
          <autogen>__KeyToKey__ KeyCode::M, ModifierFlag::FN, KeyCode::RETURN</autogen>
        </item>
        <item>
          <name>My In Eclipse</name>
          <identifier>option.my_emacsmode_force_controlM_eclipse</identifier>
          <only>ECLIPSE</only>
          <autogen>__KeyToKey__ KeyCode::M, ModifierFlag::FN, KeyCode::RETURN</autogen>
        </item>
      </item>
      <item>
        <name>My Force change C-[ to Escape</name>
        <item>
          <name>My In Emacs, Terminal</name>
          <identifier>option.my_emacsmode_force_controlLeftbracket_term</identifier>
          <only>EMACS, TERMINAL</only>
          <autogen>__KeyToKey__ KeyCode::BRACKET_LEFT, ModifierFlag::FN, KeyCode::ESCAPE</autogen>
        </item>
        <item>
          <name>My In X11</name>
          <identifier>option.my_emacsmode_force_controlLeftbracket_x11</identifier>
          <only>X11</only>
          <autogen>__KeyToKey__ KeyCode::BRACKET_LEFT, ModifierFlag::FN, KeyCode::ESCAPE</autogen>
        </item>
        <item>
          <name>My In VMware Fusion, Parallels Desktop, Remote Desktop Connection</name>
          <identifier>option.my_emacsmode_force_controlLeftbracket_vm</identifier>
          <only>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</only>
          <autogen>__KeyToKey__ KeyCode::BRACKET_LEFT, ModifierFlag::FN, KeyCode::ESCAPE</autogen>
        </item>
        <item>
          <name>My In Eclipse</name>
          <identifier>option.my_emacsmode_force_controlLeftbracket_eclipse</identifier>
          <only>ECLIPSE</only>
          <autogen>__KeyToKey__ KeyCode::BRACKET_LEFT, ModifierFlag::FN, KeyCode::ESCAPE</autogen>
        </item>
      </item>
      <item>
        <name>My Force change C-pnbf to Up/Down/Left/Right</name>
        <item>
          <name>My In Emacs, Terminal</name>
          <identifier>option.my_emacsmode_force_controlPNBF_term</identifier>
          <only>EMACS, TERMINAL</only>
          <include path="snippets/emacsmode_fnPNBF.xml" />
        </item>
        <item>
          <name>My In X11</name>
          <identifier>option.my_emacsmode_force_controlPNBF_x11</identifier>
          <only>X11</only>
          <include path="snippets/emacsmode_fnPNBF.xml" />
        </item>
        <item>
          <name>My In VMware Fusion, Parallels Desktop, Remote Desktop Connection</name>
          <identifier>option.my_emacsmode_force_controlPNBF_vm</identifier>
          <only>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</only>
          <include path="snippets/emacsmode_fnPNBF.xml" />
        </item>
        <item>
          <name>My In Eclipse</name>
          <identifier>option.my_emacsmode_force_controlPNBF_eclipse</identifier>
          <only>ECLIPSE</only>
          <include path="snippets/emacsmode_fnPNBF.xml" />
        </item>
      </item>
      <item>
        <name>My Force change C-pnbf to Up/Down/Left/Right</name>
        <appendix>(+ Fn+AE to Command+Left/Right)</appendix>
        <appendix>(+ Command+Fn+PNBF to Shift+Up/Down/Left/Right)</appendix>
        <appendix>(+ Command+Fn+AE to Shift+Command+Left/Right)</appendix>
        <appendix>(+ retain Fn+Shift+PNBF)</appendix>
        <appendix>(+ retain Fn+Shift+AE)</appendix>
        <item>
          <name>My In Emacs, Terminal</name>
          <identifier>option.my_emacsmode_force_controlPNBF_ex_term</identifier>
          <only>EMACS, TERMINAL</only>
          <include path="snippets/emacsmode_fnPNBF_ex.xml" />
        </item>
        <item>
          <name>My In X11</name>
          <identifier>option.my_emacsmode_force_controlPNBF_ex_x11</identifier>
          <only>X11</only>
          <include path="snippets/emacsmode_fnPNBF_ex.xml" />
        </item>
        <item>
          <name>My In VMware Fusion, Parallels Desktop, Remote Desktop Connection</name>
          <identifier>option.my_emacsmode_force_controlPNBF_ex_vm</identifier>
          <only>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</only>
          <include path="snippets/emacsmode_fnPNBF_ex.xml" />
        </item>
        <item>
          <name>My In Eclipse</name>
          <identifier>option.my_emacsmode_force_controlPNBF_ex_eclipse</identifier>
          <only>ECLIPSE</only>
          <include path="snippets/emacsmode_fnPNBF_ex.xml" />
        </item>
      </item>
      <item>
        <name>My Fn+AE to Home/End</name>
        <item>
          <name>My In VMware Fusion, Parallels Desktop, Remote Desktop Connection</name>
          <identifier>option.my_emacsmode_fnAE_vm</identifier>
          <only>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</only>
          <autogen>__KeyToKey__ KeyCode::A, ModifierFlag::FN, KeyCode::HOME</autogen>
          <autogen>__KeyToKey__ KeyCode::E, ModifierFlag::FN, KeyCode::END</autogen>
        </item>
      </item>
      <item>
        <name>My [Terminal] Fn+/ to C-_ and Fn+' to C-M-_</name>
        <identifier>option.my_emacsmode_fnSlashTerminal</identifier>
        <only>TERMINAL</only>
        <autogen>__KeyToKey__ KeyCode::SLASH, ModifierFlag::FN, KeyCode::MINUS, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L</autogen>
        <autogen>__KeyToKey__ KeyCode::QUOTE, ModifierFlag::FN, KeyCode::MINUS, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L | ModifierFlag::OPTION_L</autogen>
      </item>
    </item>
  </item>





  <item>
    <name>My Something</name>
    <item> 
      <name>Use PC Style Copy/Paste</name> 
      <appendix>(Fn+C to Command_L+C)</appendix> 
      <appendix>(Fn+V to Command_L+V)</appendix> 
      <appendix>(Fn+X to Command_L+X)</appendix> 
      <appendix>(Except in Terminal, VM, RDC, Emacs, X11, Eclipse, Sublime)</appendix> 
      <identifier>private.remap.my_copy_paste_winstyle_no_term_and_sublime</identifier> 
      <only>EMACS, TERMINAL, VIRTUALMACHINE, REMOTEDESKTOPCONNECTION, X11, ECLIPSE, SUBLIMETEXT</only> 
      <autogen>--KeyToKey-- KeyCode::C, VK_CONTROL, KeyCode::C, ModifierFlag::COMMAND_L</autogen> 
      <autogen>--KeyToKey-- KeyCode::V, VK_CONTROL, KeyCode::V, ModifierFlag::COMMAND_L</autogen> 
      <autogen>--KeyToKey-- KeyCode::X, VK_CONTROL, KeyCode::X, ModifierFlag::COMMAND_L</autogen> 
    </item>


    <item> 
      <name>Use PC Style Undo</name> 
      <appendix>(Fn+Z to Command_L+Z)</appendix> 
      <appendix>(Except in Terminal, VM, RDC, Emacs, X11, Eclipse, Sublime)</appendix> 
      <identifier>private.remap.my_undo_winstyle_no_term_and_sublime</identifier> 
      <only>EMACS, TERMINAL, VIRTUALMACHINE, REMOTEDESKTOPCONNECTION, X11, ECLIPSE, SUBLIMETEXT</only> 
      <autogen>--KeyToKey-- KeyCode::Z, VK_CONTROL, KeyCode::Z, ModifierFlag::COMMAND_L</autogen> 
    </item>

    <item> 
      <name>Use PC Style Select All</name> 
      <appendix>(Fn+A to Command_L+A)</appendix> 
      <appendix>(Except in Terminal, VM, RDC, Emacs, X11, Eclipse, Sublime)</appendix> 
      <identifier>private.remap.my_select_all_winstyle_no_term_and_sublime</identifier> 
      <only>EMACS, TERMINAL, VIRTUALMACHINE, REMOTEDESKTOPCONNECTION, X11, ECLIPSE, SUBLIMETEXT</only> 
      <autogen>--KeyToKey-- KeyCode::A, VK_CONTROL, KeyCode::A, ModifierFlag::COMMAND_L</autogen> 
    </item>

    <item> 
      <name>Use PC Style Save</name> 
      <appendix>(Fn+S to Command_L+S)</appendix> 
      <appendix>(Except in Terminal, VM, RDC, Emacs, X11, Eclipse, Sublime)</appendix> 
      <identifier>private.remap.my_save_winstyle_no_term_and_sublime</identifier> 
      <only>EMACS, TERMINAL, VIRTUALMACHINE, REMOTEDESKTOPCONNECTION, X11, ECLIPSE, SUBLIMETEXT</only> 
      <autogen>--KeyToKey-- KeyCode::S, VK_CONTROL, KeyCode::S, ModifierFlag::COMMAND_L</autogen> 
    </item>

    <item>
        <name>LeaveInsMode with EISUU(vim keybind apps)</name>
        <identifier>private.vim_keybind_apps_esc_with_eisuu</identifier>
        <only>ITERM2,TERMINAL,MACVIM,VI,SUBLIMETEXT</only>
        <autogen>--KeyToKey-- KeyCode::ESCAPE, KeyCode::ESCAPE, KeyCode::JIS_EISUU</autogen>
        <autogen>--KeyToKey-- KeyCode::[, VK_CONTROL, KeyCode::[, VK_CONTROL, KeyCode::JIS_EISUU</autogen>
        <autogen>--KeyToKey-- KeyCode::C, VK_CONTROL, KeyCode::C, VK_CONTROL, KeyCode::JIS_EISUU</autogen>
    </item>
  </item>

</root>

emacsmode_fnPNBF_ex.xml

<?xml version="1.0"?>
<root>
  <!-- retain -->
  <autogen>
    __KeyToKey__
    KeyCode::P, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL | ModifierFlag::FN,
    KeyCode::P, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L
  </autogen>
  <autogen>
    __KeyToKey__
    KeyCode::N, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL | ModifierFlag::FN,
    KeyCode::N, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L
  </autogen>
  <autogen>
    __KeyToKey__
    KeyCode::B, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL | ModifierFlag::FN,
    KeyCode::B, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L
  </autogen>
  <autogen>
    __KeyToKey__
    KeyCode::F, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL | ModifierFlag::FN,
    KeyCode::F, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L
  </autogen>
  <autogen>
    __KeyToKey__
    KeyCode::A, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL | ModifierFlag::FN,
    KeyCode::A, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L
  </autogen>
  <autogen>
    __KeyToKey__
    KeyCode::E, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL | ModifierFlag::FN,
    KeyCode::E, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L
  </autogen>

  <autogen>__KeyToKey__ KeyCode::P, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND | MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_UP,    ModifierFlag::SHIFT_L</autogen>
  <autogen>__KeyToKey__ KeyCode::N, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND | MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_DOWN,  ModifierFlag::SHIFT_L</autogen>
  <autogen>__KeyToKey__ KeyCode::B, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND | MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_LEFT,  ModifierFlag::SHIFT_L</autogen>
  <autogen>__KeyToKey__ KeyCode::F, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND | MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_RIGHT, ModifierFlag::SHIFT_L</autogen>
  <autogen>__KeyToKey__ KeyCode::A, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND | MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_LEFT,  ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L</autogen>
  <autogen>__KeyToKey__ KeyCode::E, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND | MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L</autogen>

  <autogen>__KeyToKey__ KeyCode::P, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_UP</autogen>
  <autogen>__KeyToKey__ KeyCode::N, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_DOWN</autogen>
  <autogen>__KeyToKey__ KeyCode::B, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_LEFT</autogen>
  <autogen>__KeyToKey__ KeyCode::F, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_RIGHT</autogen>
  <autogen>__KeyToKey__ KeyCode::A, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L</autogen>
  <autogen>__KeyToKey__ KeyCode::E, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L</autogen>
</root>

emacsmode_fnPNBF.xml

<?xml version="1.0"?>
<root>
  <autogen>__KeyToKey__ KeyCode::P, ModifierFlag::FN, KeyCode::CURSOR_UP</autogen>
  <autogen>__KeyToKey__ KeyCode::N, ModifierFlag::FN, KeyCode::CURSOR_DOWN</autogen>
  <autogen>__KeyToKey__ KeyCode::B, ModifierFlag::FN, KeyCode::CURSOR_LEFT</autogen>
  <autogen>__KeyToKey__ KeyCode::F, ModifierFlag::FN, KeyCode::CURSOR_RIGHT</autogen>
</root>

emacsmode_fnPNBF_nomodifer.xml

<?xml version="1.0"?>
<root>
  <autogen>__KeyToKey__ KeyCode::P, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::CURSOR_UP</autogen>
  <autogen>__KeyToKey__ KeyCode::N, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::CURSOR_DOWN</autogen>
  <autogen>__KeyToKey__ KeyCode::B, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::CURSOR_LEFT</autogen>
  <autogen>__KeyToKey__ KeyCode::F, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::CURSOR_RIGHT</autogen>
</root>
5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6