LifeホームサイトについてプログラミングWeb/ブログゲーム開発環境サービス/製品その他ホーム開発環境AutoHotKeyと無変換キーを使って便利なキーバインドを作ろう:Vimっぽい移動の実現スポンサーリンク開発環境2017.08.10今回は、AutoHotKeyの実用例として「無変換キーを活用したキーバインド」を紹介していきます。良い立地なのにあまりに使われていない無変換キーを活用して、今回はVimっぽい操作を実現します。Vimに興味がない人でも、無変換キーを活用したキーバインド作成自体が、開発環境効率化に役立つと思います。AutoHotKeyとはなんぞやという人やのAutoHotKeyの導入についてはこちらの記事を参照ください。まとめスポンサーリンク無変換キーの活用AutoHotKeyにかぎらず、キーバインド変更・ホットキー設定ソフトは便利なのですが、あまりに特殊なカスタマイズや、既存のキーマップに影響を与えるような設定はなるべく避けたいものです。理想は、既存のキーバインドに影響を与えず、便利なキーバインドを実現すること。そこで活用するのが「無変換キー」です。既存キーバインドに一切組み込まれていないという大きな特徴があります。押しやすいキー配置であることは、こちらの記事「Windowsで英数/かな入力切替は無変換/変換キーでしよう」でも触れました。超一等地ともいえる、押しやすいキー配置にいるキーなので、余らせているのはもったいない、ガンガン活用するべきなのです。これこそがJISキーボードの最大の利点といっても過言ではありません。既存キーバインドには全く組み込まれていないので、新たなモディファイアキー(ShiftやCtrlのような他のキーと組み合わせて使うキー)として活用しやすいです。使い倒しても既存のキーバインドにバッティングすることがありません。これらの特徴を活かして無変換キーを使ったキーバインドを設定していきます。Vimノーマルモードの移動を実現するキーバインド無変換キーは有用ですが、それを使って何を実現して便利にしていくか。僕の場合は、自分が好きなエディタVimに基づいたちょっと便利にするキーバインドを設定していきます。Vimではモードという概念があり、ノーマルモードという、テキスト入力ではなくカーソル移動に特化したキーバインドが使えるモードがあります。その移動操作キーバインドをVimのモードという概念とは無関係に使えるような設定を目指します。これにより、「Vim以外でもちょっとVimっぽい移動操作」や、「Vimのインサートモードという移動操作ができないモードでもちょっと快適な移動操作」が実現できます。その実際のキーバインド設定(AutoHotKeyスクリプト)が以下です。AutoHotKeyは海外製のアプリなので、JISキーボードにある無変換キーは、わかりにくいですがキーコード「vk1Dsc07B」で扱う必要があります。{Blind}^{left}returnこれで実現されているのが無変換キーをモディファイアキーとして(無変換キーが押下されている場合に)、以下が実現されています。EndVimの移動操作を知ってればほとんどおなじみのものです。Home,Endにのみ、aとeを追加しています。これは、HomeとEndは結構使いたい場面が多いのですが、無変換まで絡めるとどうしても押しにくいキーであるため追加で設定しています。そこだけEmacsっぽいキーバインドですね。スクリプトは、AutoHotKey特有のモディファイアキーの表現(Ctrlは^など)等がありますが、あまり難しい記述ではないと思います。したルールと、一部APIのを把握するだけで、これくらいのことができます。実際にこのコードでスクリプトとして実行すれば、無変換キーを押しながら、ちょっと快適なキー移動ができるようになると思います。矢印キーに手をのばすこともほとんどなくなるでしょう。詳しい文法は公式ページを参照ください。まとめというわけで、AutoHotKeyを活用して、無変換キーによるVimっぽい移動操作実現例をご紹介してみました。僕はAutoHotKeyは他にも、ランチャー的なキーマップの使い方などもしています。本当に様々なことが実現できます。今回紹介した内容だけでも、自分好みの快適なキー操作が実現できそうでわくわくしないでしょうか?楽しそうだと思った方は、Vimっぽさに限らず、AutoHotKeyと無変換キーで遊んでみてはいかがでしょう。コメントをキャンセルメールアドレスが公開されることはありません。(1)お問い合わせタイトルとURLをコピーしました。