サポンテ 勉強ノート

サポンテの勉強ノート・読書メモなどを晒します。

キーバインディングソフト「のどか」の仕事で使っている設定

はじめに

派遣社員をしています。次の職場では Windows 10 になってのどか再購入となるのか、macOSKarabiner-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 などを別のものにして、左手だけで操作するものをなるべく廃しています。左手の負担をなるべく軽減するためです。

そんなわけでかなり環境依存な身体になっています。