以前、 Windowsでyamyを使ってVimっぽい動きをVim以外で再現する 方法を紹介しましたが、 今回はMacで、 ⌘-⌃などとの同時押しで カーソルやマウスポインタ、さらにウィンドウを動かす方法についてです。
カーソルキーを動かす
前回
紹介した通り、KeyRemap4MacBookには最初からいくつか
Vimっぽい動きを再現する設定が入っていますが、
⌘-⌃
という組み合わせを使いたいので、以下の設定をprivate.xml
に加えています。
1 2 3 4 5 6 7 8 9 |
|
これで、
- どの場所でも⌘-⌃-h/j/k/lによってカーソルを左下上右に動かせる
となります。
マウスカーソルを動かす
KeyRemap4MacBookではVK_MOUSEKEY_LEFT
等といったキー設定でキーバインドにマウスカーソルの移動を当てられます。
他にもPointingButton::RIGHT
で左クリック、VK_MOUSEKEY_SCROLL_UP
で上スクロール、
を設定出来ます。
これらを入れた設定がこれ。
これで、
- マウスカーソルを⌘-⌃-y/u/i/o(h/j/k/lの上のキー達)によって左下上右に動かせる
- ついでにクリックとかも出来る(⌘-⌃-n/pで左/右クリック)
- ホイール操作も(⌘-⌃-m/,で下/上ホイール)
を出来る様になります。
これも初期設定ででもMouse Keys
という項目があり、
矢印でマウスを移動させたりするようになっていますが、
そこにある注意にあるようにGeneral
deon't remap any pointing devices
にチェックを入れてしまうと機能しなくなるので注意してください。
ウィンドウの移動
Windowsのyamy時と比べてKeyRemap4MacBookで出来なかった事は ウィンドウの移動です。
これに関してはAppleScriptでウィンドウを動かすスクリプトを作って それをBetterTouchTool でショートカット起動することにより出来るようにしました。
必要なAppleScriptの導入
-
AppleScriptレポジトリにある
windowMove*
という5つのスクリプトを取ってくる。 次の様にコンパイルしてosacompile -o windowMove.scpt windowMove.script
出来たファイル(
windowMove.scpt
など)を~/Library/Scripts
等好きなところへ置いておく。 -
もしくは、上のAppleScriptレポジトリの物全部インストールするので良ければ、 READMEにあるようにレポジトリをcloneして
install.sh
を実行する。 (レポジトリにあるスクリプトを全部コンパイルして~/Library/Scripts
へ入れます。)
BetterTouchToolでの設定
- BetterTouchToolの
Gestures
Keyboard
で新しいショートカットをKeyboard Shortcut
: ⌘-⇧-yTrigger Other Keyboard Shortcut
: 空白-
Trigger Predefined Action
:Open Application/File/Scripts
~/Library/Scripts/windowMoveLeft.scpt
を選択の様に
y
,u
,i
,o
に対してLeft
,Down
,Up
,Right
を指定する。
以上で
- ウィンドウを⌘-⇧-y/u/i/o)によって左下上右に動かせる
が出来る様になります。
が、ここでちょっと困ったことに⌘-⇧-u
がMail.app
でメールの未読/既読の切り替えです。
このショートカットは使いたいのでKeyRemap4MacBookの方で他のキーに割り当てよう、 と思ったんですがBetterTouchToolで上書きしてしまうとそちらが優先されるので ⌘-⇧-uの指定はKeyRemap4MacBook からはウィンドウを動かす、と解釈されてしまいます。
回避策としては
- 環境設定から未読/既読のキーボードショートカットを変える
- BetterTouchToolで違うキーにWindowMoveを割り当ててそれを使う
- BetterTouchToolで違うキーにWindowMoveを割り当ててさらにKeyRemap4MacBook で再度⌘-⇧-y等に割り当て直す
などが考えられますが、キーボードショートカットの変更はやはり KeyRemap4MacBookで閉じたいのと、Windowsで ⌘-⇧-yの設定にしていて慣れてしまっているので 一番回りくどい感じですが3番目の方法を取り次の様に設定しています。
- BetterTouchToolで⌥-⇧-y/u/i/oにそれぞれwindowMoveLeft/Down/Up/Rightを指定。
- KeyRemap4MacBookで⌘-⇧-y/u/i/oにそれぞれ⌥-⇧-y/u/i/oを指定
従って現設定ではCmd+Shift
+y
でもOption+Shift
+y
でもウィンドウは
左に動きます。
KeyRemap4MacBookでの設定はこちらのGist
にあります。
これでもいくつか潰してしまっているショートカット 1 2 がありますが、 差し当たり使わないものなので良しとしておきます。
Lion Mail: キーボードショートカット↩