Emacs 愛好家のための Windows 11 セットアップマニュアル
と大仰なタイトルをつけましたが、Windows 11 のショートカットキーをそこはかとなく Emacs 風にしてみよう、というゆるい試みです。なお、本稿執筆時の Windows 11 のバージョンは 22H2 です。
目次
予備知識
最近の Windows はコントロールパネルが隠蔽されている?ようですが「Windows の設定といえばコントロールパネル」という意識が抜けないもので、コントロールパネルを起点にして書いてしまった部分が多々あります。コントロールパネルを開くには、検索ボックスを開いて入力欄に "cont" と打って検索するか、Open-Shell というソフトをインストールすればスタートメニュー > [設定] > [コントロールパネル] で簡単に開くことができます。
キーボードレイアウトを英語キーボードにする
日本語キーボード派の方は読み飛ばしてください。
- コントロールパネル > [システム] で Windows の設定画面を開く。
- 画面左側のメニューから [時刻と言語] を選ぶ。
- 画面右側のペインで [言語と地域] を選ぶ。
- [日本語] の右端にある [...] から [言語のオプション] を選ぶ。
- [キーボードレイアウト] の右端にある [レイアウトを変更する] ボタンをクリックする。
- ドロップダウンリストから [英語キーボード (101/102 キー)] を選択する。
XKeymacs
XKeymacs は、Windows の操作を全体的に Emacs 風にしてくれる神のようなソフトウェアです。例えばエクスプローラでファイルを選ぶときにCtrl-e
で最後のファイルに飛んでくれます。先頭のファイルに戻るにはもちろんCtrl-a
です。ファイル名を変更するときも、Ctrl-f
、Ctrl-b
でのカーソル移動やCtrl-w
、Ctrl-y
でのカット&ペーストなどが当たり前のようにさらっと通じます。何も設定しなくても、起動して常駐させておくだけでかなりいい感じになります。ただ、2018 年を最後に更新がストップしているのが心配です。同様のソフトウェアとして AutoHotKey がありますが、私にはどうにもうまくいかないところがあったので、今はスルーしています。
導入方法は次のとおりです。
- VS2015 VC++ 再頒布可能パッケージ (vs_redist.x86.exe,vc_redist.x64.exe) をダウンロードしてインストールする。x86 版と x64 版があるが 64bit OS の場合は両方必要。
- XKeymacs の配布元から xkeymacs-180417.zip をダウンロードして解凍する。
- 解凍してできた xkeymacs フォルダの中にある xkeymacs.exe をダブルクリックすると常駐開始。タスクトレイにアイコンが表示される。
- タスクトレイにある XKeymacs のアイコンを右クリックし、[オプション] > [ログオン時に実行] を ON にする。
なお MS-IME との併用は誤操作の原因になるため、XKeymacs を無効にしたほうがいいでしょう。XKeymacs はアプリごとに有効にするか無効にするかを選択できます。MS-IME のほうはあとで独自に設定するので問題ありません。XKeymacs を無効にする方法は次のとおりです。
- タスクトレイのアイコンを右クリック > [プロパティ]
- プロパティダイアログの中にあるドロップダウンリストから [Microsoft IME (IME)] を選択する。
- その横にある [XKeymacs を無効にする] を選ぶ。
MS-IME に限らず独自のショートカットキーをフル活用するようなソフトでは、同様にして XKeymacs を無効にしておくのが無難だと思います。
Caps キーを Ctrl キーにする
以前の XKeymacs にはキーボードレイアウト変更機能があり、Caps キーと Ctrl キーを簡単に入れ替えることができました。しかし 64bit 版になってから?は未実装らしいので、自分でレジストリを書き換えなければならなくなりました。
次のどちらか都合のいいほうを選んでレジストリを変更します。レアケースだと思いますが、VMware で FreeBSD + awesome を使い、Mod4 に左 Ctrl を割り当てる場合は (2) をおすすめします。
(1) Caps キーを (も) Ctrl キーにする
(2) Caps キーと Ctrl キーを入れ替える
参考 URL:
- キーボードのキー入れ替えにおける、仮想キーコードとキーボードスキャンコード
https://ascii.jp/elem/000/004/034/4034117/2/ - Scan code mapper for keyboards
https://docs.microsoft.com/en-us/windows-hardware/drivers/hid/keyboard-and-mouse-class-drivers#scan-code-mapper-for-keyboards
レジストリの書き換えは下記の手順やコードを十分理解したうえで行ってください。念のため事前にレジストリのバックアップを取ることをおすすめします。
(1) の場合: Caps キーを (も) Ctrl キーにする
- テキストエディタで下記のように書き、拡張子を ".reg" にして保存する。
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00
- 作成したファイルをダブルクリックする。
- Windows を再起動する。
(2) の場合: Caps キーと Ctrl キーを入れ替える
- テキストエディタで下記のように書き、拡張子を ".reg" にして保存する。
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,3a,00,1d,00,1d,00,3a,00,\ 00,00,00,00
- 作成したファイルをダブルクリックする。
- Windows を再起動する。
MS-IME のキー設定を Canna 風にする
Windows 10 バージョン 2004 以降、MS-IME が一新されてそれまで可能だった細かいカスタマイズができなくなってしまいました。ただ幸いなことに、MS-IME を旧バージョンに戻すという選択肢が残されました。ここでは旧バージョンに戻してキー設定を Canna 風にする方法を紹介します。
なお、ここで紹介するアイデアはほぼ下記のサイトからの受け売りです。私のほうで少しだけ変更しています。
MS-IME を旧バージョンに変更する手順
- タスクトレイにある IME の "A" または "あ" を右クリックし、[設定] を選ぶ。Microsoft IME の設定画面が開く。
- [全般] をクリックする。
- [互換性] の中にある [以前のバージョンの Microsoft IME を使う] を ON にする。
Canna 風にカスタマイズする手順
- MS-IME を旧バージョンに変更したうえでタスクトレイの "A" または "あ" を右クリックすると、メニューが旧バージョンのものに変わる。[プロパティ] を選ぶと (おなじみの) Microsoft IME 設定ダイアログが開く。
- [詳細設定] ボタンを押す。
- [全般] タブの [編集操作] 欄にある [キー設定] のドロップダウンリストから [ユーザー定義] を選び、その横の [変更] ボタンをクリックする。
- 表 1 のようにキーを追加・変更する。これ以外の [Ctrl + アルファベット] キーは削除する。
- [適用] ボタンをクリックして設定完了。
キー | 入力/変換済み... | 入力文字のみ | 変換済み | 候補一覧... | 文節長... | 変換済み... |
---|---|---|---|---|---|---|
Ctrl+A | ― | 文字先頭 | 文節先頭 | 文節先頭 | 文節先頭 | ― |
Ctrl+B | ― | 文字左 | 文節左 | 文節左 | 文節左 | ― |
Ctrl+D | ― | 1字削除 | ― | ― | ― | 1字削除 |
Ctrl+E | ― | 文字末尾 | 文節末尾 | 文節末尾 | 文節末尾 | ― |
Ctrl+F | ― | 文字右 | 文節右 | 文節右 | 文節右 | ― |
Ctrl+G | ― | 全消去 | 全戻し | 全戻し | 全戻し | 全戻し |
Ctrl+H | ― | 前字削除 | 文節戻し | 文節戻し | ― | 前字削除 |
Ctrl+I | ― | ― | 文節長-1 | 文節長-1 | 文節長-1 | ― |
Ctrl+J | ― | 全確定 | 全確定 | 全確定 | 全確定 | 全確定 |
Ctrl+M | ― | 全確定 | 全確定 | 全確定 | 全確定 | 全確定 |
Ctrl+N | ― | ― | 次候補 | 次候補 | ― | ― |
Ctrl+O | ― | ― | 文節長+1 | 文節長+1 | 文節長+1 | ― |
Ctrl+P | ― | ― | 前候補 | 前候補 | ― | ― |
Ctrl+\ | IME オン/オフ | ― | ― | ― | ― | ― |
ここで行った設定はレジストリに保存されています。ファイルにエクスポートしておけば、次回あるいは別の Windows 11 マシンにセットアップするときにそれをダブルクリックするだけで済みます。
方法は regedit.exe を起動して下記のキーを右クリックし、[エクスポート] を実行します。
HKEY_CURRENT_USER\Software\Microsoft\IME\15.0\IMEJP\StyleList\Custom
ファイル名は任意ですが、拡張子は ".reg" としておきましょう。
MS-IME を新バージョンに戻す手順
MS-IME を新バージョンに戻す手順も書いておきます。
- コントロールパネル > [システム] で Windows の設定画面を開く。
- 画面左側のメニューから [時刻と言語] を選ぶ。
- 画面右側のペインで [言語と地域] を選ぶ。
- [日本語] の右端にある [...] から [言語のオプション] を選ぶ。
- [Microsoft IME] の右端にある [...] から [キーボードオプション] を選ぶ。
- [全般] をクリックする。
- [互換性] の中にある [以前のバージョンの Microsoft IME を使う] を OFF にする。
IME 入力モード切替の通知を無効にする
本題からは少し脱線しますが、MS-IME を旧バージョンに変更すると、IME の ON/OFF を切り替えたときに画面のど真ん中に降臨する「A」とか「あ」を非表示にすることができます。手順は次のとおりです。
- タスクトレイの "A" または "あ" を右クリックし、[プロパティ] を選んで Microsoft IME 設定ダイアログを開く。
- [IME 入力モード切替の通知] の [画面中央に表示する] のチェックを外す。
Emacs 本体を Windows で使う件について
「Emacs 風」なだけではちょっと寂しいので、Emacs 本体を Windows で使う話もしておきたいんですが、それについては別記事「2023 年ですが、Windows で Emacs を使います」で。