Ctrl キーは、Emacs 的なキーバインド。
Windows キーは、オリジナルの Windows での Ctrl キーのように振舞う。
Windows キーと Ctrl キーを区別するために、 Ctrl キーについては mod0 という新しいモディファイアとして扱うようにして、 emacsedit.nodoka ファイルを修正して、C- となっている部分をすべて M0- に置き換えた。
| # Make the left Windows key behave like the Command key on the Mac OS | |
| # (i.e. like the Ctrl on a normal Windows). | |
| keymap Global | |
| mod windows -= LeftWindows | |
| mod control += LeftWindows | |
| key *LeftWindows = *LeftControl | |
| # Create a new modifire key called mod0 to dealing with the Ctrl. | |
| mod control -= LeftControl | |
| mod mod0 += LeftControl | |
| # On a Emacs, put every thing back to original. | |
| keymap Emacsen : Global | |
| key LeftControl = &Default | |
| mod mod0 -= LeftControl | |
| mod control += LeftControl | |
| key *LeftWindows = &Default | |
| mod mod0 -= LeftWindows | |
| mod windows += LeftWindows | |
| key *LeftControl = &Default | |
| # On Google Chrome Ctrl+Tab and Shift+Ctrl+Tab works as normal | |
| keymap GoogleChrome : EmacsEdit | |
| key M0-Tab = C-Tab | |
| key M0-S-Tab = C-S-Tab | |
| window Chrome_Address /:Chrome_AutocompleteEditView$/ : GoogleChrome | |
| window Chrome_Edit /:Chrome_RenderWidgetHostHWND$/ : GoogleChrome |
| #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| # のどか - emacsedit.nodoka | |
| # Copyright (C) 1999-2005, TAGA Nayuta <nayuta@users.sourceforge.net> | |
| # | |
| # Modify by applet on Jul. 26, 2008 | |
| # Mac 風改造版 | |
| #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| # Emacs 風移動コマンド | |
| # | |
| keymap EmacsMove : Global | |
| key Home = C-Home # 文頭 | |
| key End = C-End # 文末 | |
| key M0-Space = &Undefined # Mark | |
| key M0-A = Home # 行頭 | |
| key M0-B = Left # ← | |
| key M-B = C-Left # ←(単語) | |
| key M0-E = End # 行末 | |
| key M0-F = Right # → | |
| key M-F = C-Right # →(単語) | |
| key M0-G = Escape # CANCEL | |
| key M0-L = &WindowRedraw &Recenter # 再描画 | |
| key M0-N = Down # ↓ | |
| key M0-P = Up # ↑ | |
| key M0-Q = &Prefix(KeymapDefault) # mayu に左右されないキー入力 | |
| key M0-S = C-F # 検索 | |
| if ( !ZXCV ) key M0-V = Next # 次頁 | |
| key M-V = Prior # 前頁 | |
| key S-Home = S-C-Home # 文頭(選択) | |
| key S-End = S-C-End # 文末(選択) | |
| key S-M-Comma = C-Home # 文頭 | |
| key S-M-Period = C-End # 文末 | |
| if ( EmacsMove/ShiftSelection ) | |
| key S-C-A = S-Home # 行頭(選択) | |
| key S-C-B = S-Left # ←(選択) | |
| key S-C-E = S-End # 行末(選択) | |
| key S-C-F = S-Right # →(選択) | |
| key S-C-N = S-Down # ↓(選択) | |
| key S-C-P = S-Up # ↑(選択) | |
| key S-C-V = S-Next # 次頁(選択) | |
| key S-M-V = S-Prior # 前頁(選択) | |
| endif | |
| #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| # Emacs 風編集コマンド | |
| # | |
| keyseq $EmacsEdit/kill-word = S-C-Right C-X | |
| keyseq $EmacsEdit/backward-kill-word = S-C-Left C-X | |
| keyseq $EmacsEdit/transpose-chars = S-Right C-X Left C-V Right | |
| keyseq $EmacsEdit/upcase-word = S-C-Right C-C *&Sync \ | |
| &ClipboardUpcaseWord C-V | |
| keyseq $EmacsEdit/downcase-word = S-C-Right C-C *&Sync \ | |
| &ClipboardDowncaseWord C-V | |
| keyseq $EmacsEdit/kill-line = &EmacsEditKillLineFunc S-End C-X \ | |
| &Sync &EmacsEditKillLinePred((Delete), (Return Left)) | |
| keyseq $EmacsMark/cancel = Left Right | |
| keymap EmacsEdit : EmacsMove | |
| keymap2 EmacsMark : EmacsEdit = $EmacsMark/cancel &KeymapWindow | |
| keymap2 EmacsMarkEscape : EmacsMark = &KeymapParent | |
| keymap2 EmacsC-X : EmacsEdit | |
| event prefixed = &HelpMessage("EmacsEdit C-x-", "C-x u\tundo") | |
| event before-key-down = &HelpMessage | |
| key *U = C-Z # UNDO | |
| keymap2 EmacsC-U0_9C-U : Global \ | |
| = &Repeat((&KeymapWindow), 100) &HelpMessage &Variable(0, 0) | |
| key M0-G = &HelpMessage &Variable(0, 0) &Ignore | |
| keymap2 EmacsC-U0_9 : EmacsC-U0_9C-U | |
| event prefixed = &HelpVariable("繰り返し") | |
| key _0 Num0 = &Variable(10, 0) &Prefix(EmacsC-U0_9) | |
| key _1 Num1 = &Variable(10, 1) &Prefix(EmacsC-U0_9) | |
| key _2 Num2 = &Variable(10, 2) &Prefix(EmacsC-U0_9) | |
| key _3 Num3 = &Variable(10, 3) &Prefix(EmacsC-U0_9) | |
| key _4 Num4 = &Variable(10, 4) &Prefix(EmacsC-U0_9) | |
| key _5 Num5 = &Variable(10, 5) &Prefix(EmacsC-U0_9) | |
| key _6 Num6 = &Variable(10, 6) &Prefix(EmacsC-U0_9) | |
| key _7 Num7 = &Variable(10, 7) &Prefix(EmacsC-U0_9) | |
| key _8 Num8 = &Variable(10, 8) &Prefix(EmacsC-U0_9) | |
| key _9 Num9 = &Variable(10, 9) &Prefix(EmacsC-U0_9) | |
| key M0-U = &Prefix(EmacsC-U0_9C-U) | |
| keymap2 EmacsC-U : EmacsC-U0_9C-U | |
| event prefixed = &HelpVariable("繰り返し") | |
| key _0 Num0 = &Variable(0, 0) &Prefix(EmacsC-U0_9) | |
| key _1 Num1 = &Variable(0, 1) &Prefix(EmacsC-U0_9) | |
| key _2 Num2 = &Variable(0, 2) &Prefix(EmacsC-U0_9) | |
| key _3 Num3 = &Variable(0, 3) &Prefix(EmacsC-U0_9) | |
| key _4 Num4 = &Variable(0, 4) &Prefix(EmacsC-U0_9) | |
| key _5 Num5 = &Variable(0, 5) &Prefix(EmacsC-U0_9) | |
| key _6 Num6 = &Variable(0, 6) &Prefix(EmacsC-U0_9) | |
| key _7 Num7 = &Variable(0, 7) &Prefix(EmacsC-U0_9) | |
| key _8 Num8 = &Variable(0, 8) &Prefix(EmacsC-U0_9) | |
| key _9 Num9 = &Variable(0, 9) &Prefix(EmacsC-U0_9) | |
| key M0-U = &Variable(4, 0) &Prefix(EmacsC-U) | |
| keymap EmacsEdit | |
| key M0-Space = &Prefix(EmacsMark) # Mark | |
| key M-BackSpace = $EmacsEdit/backward-kill-word # BS(単語) | |
| key M0-D = Delete # 削除 | |
| key M-D = $EmacsEdit/kill-word # 削除(単語) | |
| key M0-H = BackSpace # BS | |
| key M0-J = Return # RETURN | |
| key M0-K = $EmacsEdit/kill-line # 行末まで削除 | |
| key M0-M = Return # RETURN | |
| key M0-O = Return Left # 一行増やす | |
| if ( !GANA ) key M0-T = $EmacsEdit/transpose-chars # 文字入れ替え | |
| key M0-W = C-X # CUT | |
| key M-W = C-C # COPY | |
| key M0-U = &Variable(0, 4) &Prefix(EmacsC-U) | |
| if ( !ZXCV ) key M0-X = &Prefix(EmacsC-X) | |
| key M0-Y = C-V # PASTE | |
| key M0-Slash = C-Z # UNDO | |
| key M-U = $EmacsEdit/upcase-word # 大文字 | |
| key M-L = $EmacsEdit/downcase-word # 小文字 | |
| keymap2 EmacsMark | |
| key Home = S-C-Home &Prefix(EmacsMark) # 文頭 | |
| key End = S-C-End &Prefix(EmacsMark) # 文末 | |
| key M0-A = S-Home &Prefix(EmacsMark) # 行頭 | |
| key M0-B = S-Left &Prefix(EmacsMark) # ← | |
| key M-B = S-C-Left &Prefix(EmacsMark) # ←(単語) | |
| key M0-E = S-End &Prefix(EmacsMark) # 行末 | |
| key M0-F = S-Right &Prefix(EmacsMark) # → | |
| key M-F = S-C-Right &Prefix(EmacsMark) # →(単語) | |
| key M0-G = $EmacsMark/cancel &Undefined # キャンセル | |
| key M0-N = S-Down &Prefix(EmacsMark) # ↓ | |
| key M0-P = S-Up &Prefix(EmacsMark) # ↑ | |
| if ( !ZXCV ) key M0-V = S-Next &Prefix(EmacsMark) # 次頁 | |
| key M-V = S-Prior &Prefix(EmacsMark) # 前頁 | |
| key M0-W = C-X Left Right # CUT | |
| key M-W = C-C Left Right # COPY | |
| key S-M-Comma = S-C-Home &Prefix(EmacsMark) # 文頭 | |
| key S-M-Period = S-C-End &Prefix(EmacsMark) # 文末 | |
| key Left = S-Left &Prefix(EmacsMark) # ← | |
| key Up = S-Up &Prefix(EmacsMark) # ↑ | |
| key Right = S-Right &Prefix(EmacsMark) # → | |
| key Down = S-Down &Prefix(EmacsMark) # ↓ | |
| if ( MAP-ESCAPE-TO-META ) | |
| key Escape = &Prefix(EmacsMarkEscape) &EditNextModifier(M-) | |
| if ( KBD109 ) and ( ! KBD104on109 ) | |
| key 半角/全角 = &Prefix(EmacsMarkEscape) &EditNextModifier(M-) | |
| endif | |
| endif | |
| keymap2 EmacsMarkEscape | |
| event prefixed = &HelpMessage("EmacsMark ESC-", " ") | |
| event before-key-down = &HelpMessage | |
| key M-C-G = &Ignore |