Macで矢印キーを使わずに移動がしたい?それ、Hammerspoon でできるよ!

私はタイピングが遅いので、常日頃、「ホームポジションから移動せずに入力がしたいなぁ」と思っていました。

OS がSierra なので、Karabiner は使えないということは聞いていたのですが、では、実際にどうしたのかというとをメモ。

Hammerspoon を使う

www.hammerspoon.org

This is a tool for powerful automation of OS X. At its core, Hammerspoon is just a bridge between the operating system and a Lua scripting engine. What gives Hammerspoon its power is a set of extensions that expose specific pieces of system functionality, to the user.

なんでも、OS X を自動化してくれるよ〜というツールらしい。(適当)
早速使ってみます。

いつものようにHomebrewでインストールします。

$ brew cask install hammerspoon

==> Downloading https://github.com/Hammerspoon/hammerspoon/releases/download/0.9.54/Hammerspoon-0.9.54.zip
######################################################################## 100.0%
==> Verifying checksum for Cask hammerspoon
==> Installing Cask hammerspoon
==> Moving App 'Hammerspoon.app' to '/Applications/Hammerspoon.app'.
==> Enabling accessibility access
Warning: Accessibility access cannot be enabled automatically on this version of macOS.
See System Preferences to enable it manually.
🍺  hammerspoon was successfully installed!

無事インストールできたので、起動します。

起動すると、設定画面が出るので、好みでセッティング。
私は Launch Hammerspoon at login にチェックと、 dock アイコンは不要なので、チェックを外しました。

メニューバーにアイコンが表示されるので、クリック > Open Config を開きます。

あとは、こちらのサイトを参考に設定を書いていきます。
qiita.com

こちらでは、hjklでのカーソル移動だけでなく、テキスト選択などにも対応しています。

Open Config にペースとしたら、Reload Config を押して反映完了。

使ってみる

好みのエディターを開いて、ctrl + h, ctrl + j, ctrl + k, ctrl + l を押してみましょう。

上下左右の移動ができていると思います。

さらには、crtl + cmd + j , crtl + cmd + k で最上部、最下部への移動もできます。
他にもできることはあるのですが、実際には触ってみた方がわかりやすいと思うので、ぜひ触ってみてください。(丸投げ)

One More Thing…

ここまでやると、delete キーを押すのも、enter を押すのもホームポジションから行いたくなってきます。
なので、その設定を追加します。

さきほどの Config の末尾に以下を追加します。

remapKey({'ctrl'}, 'm', keyCode('return'))
remapKey({'ctrl'}, 'd', keyCode('delete'))
-- sublime text用
remapKey({'ctrl', 'cmd'}, 'm', keyCode('return', {'cmd'}))
remapKey({'ctrl', 'shift', 'cmd'}, 'm', keyCode('return', {'shift', 'cmd'}))

私はSublime Textでcmd + enter,cmd + shift + enter を多用するので、その設定も入れました。

ここまできたら、再度メニューバーから Reload Configで設定反映。

ctrl + m でenter 、 ctrl + d でdelete ができると思います。

最後に

ホームポジションから手を離さずに色々できるのはやはり便利です。
最初は慣れないので、ついついカーソルやenterにて(指)が伸びてしまいますが、慣れれば、きっと素敵なタイピングライフが来るものと信じています!!

ではでは〜。