2017年2月15日水曜日

続 Vimのようなもの

見栄をはって英語キーボードを使いはじめて早5年になります。

macOS Sierraから、Karabinerが使えなくなりましたね。セキュリティは大切ですが愛用のアプリが動かなくなるのはちょっと困ります。しかもそれがキーマッピングに関するものだと影響が大きくて大変です。

じゃ、Karabinerでキーマップをバリバリ変更していたのかというと、そんなことはなくて、嫌がらせのような場所にある矢印キー(十字キー)をVim風にh, j, k, lにアサインしてただけです。それがないだけで非常にストレスフルな毎日です。


Fnキーが左にもあれば楽なんでしょうけど。

意外に矢印キーって使うんですよね。なのでSierraで使えるKarabinerはいつ出るんだろうと、首を長くしながら辛い日々を送っていたわけです。そんな時に人気ポッドキャストRebuild.fm ep.166で、ゲストの伊藤直也さんがHammerspoonについて話されていたのを聴いて、これだ!となったわけです。

早速Hammerspoonをインストールして、伊藤さんのinit.luaを元に、矢印キーをリマップしてみました。Luaは書いたことがないのでよくわからないんですが、まぁそこは見よう見まねでなんとなく。

で、こんな感じにしてみました。

矢印キーをctrl+h, j, k, lに、加えてcrtl+deletedelete forwardにアサインしました。これはKarabinerで設定してたのと同じです。これが欲しかったんです。

それに加えて今回はちょっと色気を出して、Vim系の操作をするVim, ターミナル, Xcode, VS Code, Android Studioで、escを押した時に日本語入力を解除するようにしてみました。それぞれの設定でやるよりHammerspoonで一括して設定した方が楽だなと思ったので。いまいち美しさに欠ける気がしますが、とりあえず動くって感じでしょうか。

ところが、アプリ(プラグイン)ごとに日本語入力の切り替え時の挙動が微妙に違うようで、escで日本語入力が自動で解除がされる前提で使うと、たまに怪しげな挙動になって、逆にイライラするという結果に。これでは精神衛生上よくないので、残念ですがコメントアウトしました。IMEの切り替えは自分でちゃんとしましょうということですか。わかりました。


とりあえずはこれで使ってみて、思いついた時に、少しづつ手直ししていこうと思います。ただ、あまりカスタマイズに頑張りすぎて、もしHammerspoonが使えないなんてことが起きると目も当てられないことになるので、ほどほどがいいかもしれませんね。




「続々 Vimのようなもの」に続きます。