【AutoHotkey】OneNoteでemacsやevernoteのキーバインドを使う

Microsoft officeOneNoteは,
なんともキーバインドが使いにくい.

windowsでもAutohotkeyで通常emacsキーバインドによる入力をしている.

でもOneNoteでは,
左右←→のカーソル移動はAutohotkeyで他のキーに割り当てられるものの,
なぜか上下↑↓のカーソル移動は変更できず,ストレスが溜まっていた.

調べてみたところ,
ユーザアカウント制御をオフにして,
autohotkeyで(send命令ではなく)sendplay命令を書けば,
OneNoteでも左右カーソル移動を好きなキーにバインドできる.

ユーザアカウント制御オフ

これをしないとsendplay命令が効かない.
ここを見ればできるはず.
windows.microsoft.com

.ahkスクリプト

;OneNoteでのみ有効
#IfWinActive, ahk_class Framework::CFrame

^n::Sendplay,{Down} ;Ctrl+nでDown
^p::Sendplay,{Up} ;Ctrl+pでUp

#IfWinActive


個人的にはevernoteに適応してしまっていたので,

  • 箇条書きをCtrl+Shift+Bで行いたい.

他にも,

  • 全角半角のキーもCtrl+¥に置き換えたり,
  • undoをCtrl+/に置き換えたりしたい.

ってことで下記に修正.

;OneNoteでのみ有効
#IfWinActive, ahk_class Framework::CFrame

^n::Sendplay,{Down} ;Ctrl+nでDown
^p::Sendplay,{Up} ;Ctrl+pでUp

^+b::send ^. ;Ctrl+Shift+bで箇条書き開始

^¥::send,{F3sc029} ;Ctrl+¥で全角半角変換キー
^/::send ^z ; Ctrl+/でundo 

#IfWinActive

これでだいぶOneNoteの操作が,手に馴染むようになる.