Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
25
Help us understand the problem. What is going on with this article?
@inoueakimitsu

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

More than 1 year has passed since last update.

diagram.png

概要

この記事では 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.png

ちなみに 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 起動時にアプリを自動起動 - スタートアップに登録

25
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
25
Help us understand the problem. What is going on with this article?