はじめに
派遣社員をしています。次の職場では Windows 10 になってのどか再購入となるのか、macOS で Karabiner-Element に切り替えとなるのか、まだ定かではありませんが、現在の「のどか」の設定を備忘録として記しておきます。
基本方針としては、以下のようなものがあります。
- 基本 Mac 側にあわせたい。
- だから Windows の Ctrl キーは Cmd キーの位置。
- だからアンダースコアは Shift 不要。
- オレオレ Emacs キーバインド。
- SandS 必須。
そんなこんなで長年使い込んだ設定が以下のようになっています。
ベース.nodoka
まず、自分で絶対に設定するものを記します。
# アンダースコアを Shift 不要に key BackSlash = S-BackSlash key IC-BackSlash = S-BackSlash # ウィンドウ最小化のためのキーシーケンス keyseq $HideWindow = A-Space U-Space A-N # スペースを Shift(SandS) に mod Shift += !!Space key R-*Space = &Ignore
キーボードごと設定
キーボードごとの設定です。これらが nodoka の右クリックメニューの「選択」に表示すべきリスト項目としての設定です。
はじめにベース設定を、最後に拡張設定をインクルードしています。拡張設定については後で述べます。
HHKB Lite2 JP
これは HHKB Lite2 JP 用の設定です。
include "Base.nodoka" # HHKB の場合、半角/全角が Command の位置にある。 # 半角/全角を Control に mod control += 半角/全角 key *半角/全角 = *LeftControl # 変換キーを Control に。ただし、リピート時のみ mod control += !!変換 key R-*変換 = &Ignore # HHKB ひらがなキー(右コマンド)を Control に。 mod control += ひらがな # Control キーをモディファイア0に mod mod0 += !LeftControl mod control -= LeftControl include "Extends.nodoka"
標準的な JIS キーボード
ノート PC に内蔵の JIS キーボードです。
include "Base.nodoka" # ひらがなをモディファイアに mod mod2 += !ひらがな key M2-C = C-S key M2-K = S-End C-X key M2-Slash = C-Period # 変換キーを Control に mod control += !!変換 key R-*変換 = *変換 # 半角全角を ESC に key *半角/全角 = *Esc # 英数をモディファイアに mod mod0 += !英数 # Control を Alt に mod control += LeftAlt key *LeftAlt = *LeftControl mod control -= LeftControl key *LeftControl = *LeftAlt mod alt -= LeftAlt mod alt += LeftControl # Win を Alt に mod alt += LeftWindows key *LeftWindows = *LeftAlt key *LeftControl = *LeftWindows mod windows -= LeftWindows mod windows += LeftControl include "Extends.nodoka"
拡張.nodoka
キーボードごとに異なるモディファイア設定をした後、以下の設定を読み込みます。この設定ファイルが主に追記していく設定ファイルです。
# Emacs カーソル移動で(自分が)使うもの key M0-A = Home key M0-E = End key M0-K = S-End C-X key M0-Y = C-V key M0-N = Down key M0-S-N = Down Down Down Down Down Down Down Down Down Down key M0-P = Up key M0-S-P = Up Up Up Up Up Up Up Up Up Up key M0-U = C-Z key M0-J = End Right Home S-Home S-Left Del key M0-F = Right key M0-B = Left key M0-Comma = Left key M0-Period = Right key IC-M0-Comma = Left key IC-M0-Period = Right key IC-S-M0-Comma = S-Left key IC-S-M0-Period = S-Right key IC-M0-N = Down key IC-M0-P = Up key M0-Right = End key M0-Left = Home key M0-Colon = C-Left key M0-Semicolon = Home key M0-H = End key M0-BackSpace = Delete # 単語移動 key M0-S-Period = C-Right key M0-S-Comma = C-Left # 単語移動 key L0-M0-S-Period = C-S-Right key L0-M0-S-Comma = C-S-Left # M0-Space で SetMark key M0-*Space = &Toggle(Lock0) key L0-Right = S-Right key L0-Left = S-Left key L0-Up = S-Up key L0-Down = S-Down key L0-M0-Comma = S-Left key L0-M0-Period = S-Right key L0-M0-Semicolon = S-Home key L0-M0-H = S-End key L0-M0-P = S-Up key L0-M0-N = S-Down key L0-M0-K = C-X &Toggle(Lock0,off) key L0-M0-J = C-C &Toggle(Lock0,off) key L0-C-C = C-C &Toggle(Lock0,off) key L0-M0-Y = C-V &Toggle(Lock0,off) key L0-C-V = C-V &Toggle(Lock0,off) key L0-Delete = &Toggle(Lock0,off) Delete key L0-BackSpace = &Toggle(Lock0,off) BackSpace key L0-Return = &Toggle(Lock0,off) Return key L0-Tab = &Toggle(Lock0,off) Tab key L0-S-Tab = &Toggle(Lock0,off) S-Tab key L0-W = C-Right C-S-Left key L0-C-F = C-F &Toggle(Lock0,off) ESC key ESC = &Toggle(Lock0,off) Left Right ESC #M0-D D で行削除 #keymap2 DDCut key M0-D = End Right S-Up C-X #M0 + S で保存 key M0-S = C-S # M0 + I で F2 key M0-I = F2 # 単語登録 key IC-S-M0-N = C-F10 W #ウィンドウの最小化 key C-H = $HideWindow #かわりに置換 key C-R = C-H #デリート key S-BS = Del key S-Del = Del #Ctrl + 矢印キー key C-Right = End key C-Left = Home key C-Up = C-Home key C-Down = C-End key C-S-Right = S-End key C-S-Left = S-Home key C-S-Up = S-C-End key C-S-Down = S-C-Home # ------------------ 特定のアプリケーションのための設定 ------------------ # Launchy の起動 key A-*Space = A-C-Space # DF、ペイント、Outlook で、Ctrl + W でウィンドウを閉じる window OutlookCloseWindow /OUTLOOK\.EXE/ : Global key C-W = ESC # M-0 @ で送信 key M0-AtMark = A-S window DFCloceWindow /DF\.exe/ : Global key C-W = A-F C Enter window PaintCloseWindow /mspaint\.exe/ : Global key C-W = A-F X window VisualStudio6 /MSDEV\.EXE/ : Global key C-W = A-W O window VisualStudio2008and2015 /devenv\.exe/ : Global key C-W = A-F A-C key C-J = C-W &Toggle(Lock0,on) # VBE のコードウィンドウ window EXCEL_VBE /EXCEL\.EXE:.*:MDIClient:VbaWindow/ : Global key C-W = C-F4 # VBE のイミディエイトウィンドウ window EXCEL_VBE_IMIDIATE /EXCEL\.EXE:wndclass_desked_gsk:VbaWindow/ : Global key C-W = Applications H #keymap2 NetBeansCM window NetBeans /dk1\.6\.0_26\\\\jre\\\\bin\\\\javaw\.exe:SunAwtFrame/ : Global key C-Minus = C-Q # Excel の場合は Ctrl + 矢印で、今までどおりが良い window NoExcel /EXCEL\.EXE/ : Global key C-Right = C-Right key C-Left = C-Left key C-Up = C-Up key C-Down = C-Down key C-S-Right = C-S-Right key C-S-Left = C-S-Left key C-BS = Del key ESC = &Toggle(Lock0,off) ESC # コンソール系アプリケーション window ConsoleApps /ConsoleWindowClass/ : Global key ESC = ESC key IC-ESC = ESC key C-V = A-Space E P key C-C = A-Space E Y key C-W = A-Space C key M0-C = C-C key C-P = A-Space E P key M0-Y = A-Space E P window CMDEXE /cmd\.exe/ : ConsoleApps window TeraTerm /ttermpro\.exe/ : ConsoleApps window VNCViewer /vncviewer\.exe/ : ConsoleApps window QEMU /QEMU/ : ConsoleApps window PuTTYjp /puttyjp\.exe/ : ConsoleApps window PuTTY /putty\.exe/ : ConsoleApps window PuTTy /putty\.exe:PuTTY/ : ConsoleApps # SQL 実行 window A5SQLMk2 /A5M2\.exe/ : Global key M0-AtMark = F5 window SqlDeveloperW /sqldeveloperW\.exe/ : Global key M0-AtMark = F9 window SqlDeveloper /sqldeveloper\.exe/ : Global key M0-AtMark = F9 # 効かない window MySQL /MySQLWorkbench\.exe/ : Global key M0-AtMark = C-S-Enter window Access /MSACCESS\.EXE/ : Global key M0-AtMark = A-J Q G window LINQPad /LINQPad\.exe/ : Global key M0-AtMark = F5 window RegexDesigner /RegexDesigner\.NET/ : Global key M0-AtMark = C-M # Ctrl + J で単語選択 window EmEditor /EmEditor\.exe/ : Global key C-J = A-F8 &Toggle(Lock0,on) # IE の Ctrl + R で画面更新 window InternetExplorer /IEXPLORE\.EXE/ : Global key C-R = F5 # Explorer.EXE で、Ctrl + Backspace でファイル削除 window ExplorerFileDelete /Explorer\.EXE/ : Global key C-BS = Del key C-L = A-D # OneNote 保存(同期) window ONENOTE /ONENOTE\.EXE/ : Global key C-S = S-F9 key IC-C-S = S-F9
おわりに
オレオレ Emacs キーバインドは C-A とか C-E などを別のものにして、左手だけで操作するものをなるべく廃しています。左手の負担をなるべく軽減するためです。
そんなわけでかなり環境依存な身体になっています。