[Emacs] Windows10 で Emacs 27 を使う

Emacs

WindowsでEmacsを使うには、Gnuの公式ビルドは実質使いづらく、快適な日本語入力のためには、有志の方のビルド=IMEパッチ版が必要でした(これまで本当に感謝です)。
今回は、公式ビルドでもW32-IMEが簡単に使えるようになった。ということで試してみたという話。

試した環境

Windows 10 Pro バージョン 20H2 (OSビルド 19042.746)
64bit版 GNU Emacs 27.1 公式ビルド
“GNU Emacs 27.1 (build 1, x86_64-w64-mingw32) of 2020-08-22”

2021/06/30 追記:2021年の5月にバージョン 27.2 がリリースされているので、そちらを使うのが良さそうです。バグフィックスリリースなので、機能的に違いはないみたいです。

概要

公式ビルドの Emacs 27.1 と下記の仕組みを利用します。

Emulator of GNU Emacs IME patch for Windows (tr-ime)
Windows 用 (MinGW/Cygwin) GNU Emacs でダイナミックモジュールの機構を利用し、 IME パッチ無しの公式バイナリなどでも、 IME による日本語入力を使いやすくする試みです。

最高の試みですね。感謝しかありません。
どうしてIMEパッチが必要なのか、わかりやすく解説もされていて、感謝しかありません。

“全世界のユーザが使っている IME パッチ無しで安定した Emacs バイナリを使い、上記のような問題を解消できる最小限を目指します。” 本当に感謝。感謝。感謝。

手順

手順は上記サイトに詳しく書かれていますので、そちらを参照するのが良いでしょう。
ここには、ざっくり書いておきます。

GNU Emacs公式サイトからインストーラをダウンロードして実行します。
https://www.gnu.org/software/emacs/download.html

emacs-27.1-x86_64-installer.exe をダンロードして、インストーラでサクッと入れてしまいます。

Emacsが起動します。

IMEの設定

これもドキュメントそのままです。.emacsに MELPAの設定をして、tr-ime をインストールします。
M-x package-install して tr-ime を入れます。(下の画像は M-x list-packages で出てくる画面)

tr-ime と その依存関係で w32-ime がインストールされます。

.emacs の設定例

他の設定もガシガシ入れていかないと、使える状態にはなりませんが、ひとまずは今回紹介したIME関連のところだけ掲載しておきます。フォント系の設定は大事だと思うのでいつかその辺も紹介してみたいと思います。

追記:フォントの設定についてはこちらに書いておく。
[Emacs] Windows10 の Emacs 27 のフォント設定をしてみる。

;; MELPAの設定
(customize-set-variable 'package-archives
                        `(,@package-archives
                          ("melpa" . "https://melpa.org/packages/")))

;; tr-imeのDLLを自動でダウンロードしてくれる 
(tr-ime-advanced-install)
(setq default-input-method "W32-IME")

;; IM のデフォルトを IME に設定
(setq default-input-method "W32-IME")
;; IME のモードライン表示設定
(setq-default w32-ime-mode-line-state-indicator "[--]")
(setq w32-ime-mode-line-state-indicator-list '("[--]" "[あ]" "[--]"))

;; IME 初期化
(w32-ime-initialize)

;; IME 制御(yes/no などの入力の時に IME を off にする)
(wrap-function-to-control-ime 'universal-argument t nil)
(wrap-function-to-control-ime 'read-string nil nil)
(wrap-function-to-control-ime 'read-char nil nil)
(wrap-function-to-control-ime 'read-from-minibuffer nil nil)
(wrap-function-to-control-ime 'y-or-n-p nil nil)
(wrap-function-to-control-ime 'yes-or-no-p nil nil)
(wrap-function-to-control-ime 'map-y-or-n-p nil nil)

;; IME の未確定文字列のフォント設定
(set-frame-font "Meiryo UI-12" nil t)
(modify-all-frames-parameters '((ime-font . "Meiryo UI-12")))

自動的にDLLもダウンロードしてくれて、IMEパッチビルドと同等の使用感になりました。感謝。

これからEmacsを使ってみようと言う方は、こちらのサイトもおすすめです。
2020年代のEmacs入門

わし
わし

今はまったくコードは書かないのだけど、Emacs 以外のエディタはわしは使えないのじゃ。

Amazon.co.jp: ゲームウォッチ: ゲーム
ゲーム の優れたセレクションでオンラインショッピング。
Yahboom Raspberry Pi 5 アクリルケース 公式 Raspberry Pi 5 アクティブクーラーと互換性があり、Raspberry Pi 5 4GB/8GB に適しており、開発ボードを保護する Raspberry Pi 5 アクリルケース
この 5 層アクリル ケースは Raspberry Pi 5 用に特別に作られており、Raspberry Pi ボード上のすべてのコンポーネントを効果的に保護します。 透明な素材は見た目の美しさを高めるだけでなく、Wi-Fi と Bluet...
ゲーム&ウオッチ スーパーマリオブラザーズ (【Amazon.co.jp限定】ゲーム&ウオッチ オリジナルピンズ 同梱)
ゲーム&ウオッチ スーパーマリオブラザーズ (【Amazon.co.jp限定】ゲーム&ウオッチ オリジナルピンズ 同梱)
UGREEN M.2 SSD 外付けケース-M.2 NVME/PCIE SSD ケース USB C 3.2 Gen 2接続 UASP対応 10Gbps高速転送速度 アルミ制 8TB容量対応 M.2 NVMe to USB 変更 2230 2242 2260 2280(M-Key M&B Key) SSD対応 ssd 外付けケース 【NVME/PCIE専用】
このM.2 SSD 外付けケースはUSB 3.0接続又はUASPも対応しており、10Gbpsの転送規格で快適にデータを転送できます。堅牢性に優れたABSとアルミ合金を採用したボディデザインにより、耐久性が期待できるM.2 SSD 外付けケー...
Geekworm USB-C 電源アダプター PD 27W Type C、Raspberry Pi 5に適用
Geekworm Raspberry Pi 5 電源、 USB C (Type C) PD27W 電源アダプター ;
uxcell ソケットキャップヘッド M2.5 x 20mm メトリック 12.9合金鋼製 六角ネジボルト ブラック 10個
説明: 特徴:M2.5 x 20mm六角穴付きボルト、12 . 9合金鋼材。 固定部品、産業と建設のファスナー。 家の中、オフィスや工場の機器、通信機器、船の組立と他の機械工業で広く使われている。
Geekworm X1002 V1.1 PCIe NVMe M.2 SSD 2280拡張ボード、Raspberry Pi 5に適用
梱包内容: 1*X1002 NVMe M.2 SSD拡張ボード
プリンストン 内蔵 SSD 1TB PCIe Gen 3.0 x4 NVMe 連続読み取り最大2350MB/秒 M.2 2280 3D NAND メーカー保証期間3年 EPHD-ISM2-1T
■容量(※1):1TB ■フォームファクター:M.2 2280 ■インターフェイス:PCIe 3.0x4 NVMe ■コントローラー:Phison PS5013-E13T ■NANDフラッシュ:3D NAND ■連続読み取り/書き込み(最大...
Geekworm Raspberry Pi 5 ケース、アーマーアルミ金属ケース、冷却ファンが付き、ラズベリーパイ5に適用
Geekworm Raspberry Pi 5 ケース、アーマーアルミ金属ケース、冷却ファンが付き、ラズベリーパイ5に適用

コメント