Emacs 風 (Mac 風) キーバインドで Windows を操作する


概要

この記事では Windows 10 で Emacs 風のキーバインドを使う方法を説明します。

Emacs の操作に慣れた人、または macOS 上での Control + {a, e, f, b} を用いた
カーソル キーの操作に慣れた人は、Windows 上の様々なアプリケーションを
Emacs 風のキーバインドで操作したいと考えたことがあると思います。

このニーズを満たすための様々なツール (Enthumble など) が存在します。
しかし Windows 10 環境において、アプリケーション毎の個別の設定なしに
使えるものは多くありません。

この記事では、以下をゴールとします。
1. CapsLock キーを Mac の Control キーのように使えるようにします。つまり Ctrl キーとは異なる機能を持たせます。
2. Emacs キーバインドの基本(上下左右移動、文字列選択、コピー切り取りペースト、保存など) を再現の対象とします。それ以外の操作の再現は対象としません。
3. Windows のすべてのアプリケーションで特別な設定なしで使えることを目指します。
- Excel, Word, Visual Studio Code, Eclipse, Jupyter Notebook on Chrome, ...
4. Windows 10 で正常に動作させます。

この記事で使うツールは以下の通りです。
- KeySwap (右 Ctrl キーを CapsLock キーにマップ)
- keyhac (Emacs 風キーバインドに設定)

KeySwap の設定

まず、右 Ctrl キーを左 CapsLock キーにマップします。
このために、愛とゆりさんが作られた KeySwap というフリーソフトを使います。

以下のリンクから KeySwap をダウンロードして開きます。
KeySwap

以下の画面のように設定します。

ちなみに KeySwap は常駐しません。

keyhac の設定

次に CapsLock キーを使って Emacs 風のキーバインドを実現します。
craftwareさんが開発している
Python 製の OSS のソフトウェア keyhac を利用します。

以下のリンクから Keyhac をダウンロードして開きます。
keyhac

なお、Keyhac の動作には、Visual Studio 2015 ランタイムが必要になります。
Visual Studio 2015 ランタイムは、x86 用のインストールが必要になることに注意してください。

起動したら 設定の編集 メニューを実行し、設定ファイルを編集します。
ここで、Fakeymacs という設定を利用するために、
以下の URL から config.py を開きます。
fakeymacs - github

config.py で現在の設定ファイルを置き換えます。

190行目付近を右 ctrl を使うように書き換えます。

    # 左右どちらの Ctrlキーを使うかを指定する("L": 左、"R": 右)
    # side_of_ctrl_key = "L"
    side_of_ctrl_key = "R"

また、130行目付近に emacs のキーバインドに“したくない”アプリケーションソフトを指定する という
節があるので、ここで code.exe (vscode) などを外しておきます。

設定が完了したら、keyhac を適当なフォルダに保存しておき
スタートアップに登録します。windows 10 でのスタートアップへの登録の仕方は
以下を参照してください。
Windows10 起動時にアプリを自動起動 - スタートアップに登録