0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Emacsで日本語環境を構築する

0
Last updated at Posted at 2026-05-23

Ubuntuへ最初にEmacsをインストールしたとき、入力がUS配列として処理されてしまったときの対処法を備忘録として残しておきます。Ubuntu26.04 LTSで環境を再構築したときは起こらなかった事象なのであまり需要はないかもしれないです。

まず、

# dpkg-reconfigure keyboard-configuration

でキーボード周りの設定を見に行きます。
Qiita記事にもなっていたが、はてぶの方がわかりやすかった。

デフォルトのままで問題なさそうであれば次へ進みます。

# apt install x11-xkb-utils

インストールしていなければ上記を入れ、

$ setxkbmap -query

自分の環境では以下のように表示されました。

WARNING: Running setxkbmap against an Xwayland server
rules:      evdev
model:      pc105
layout:     us

layoutがusになっているのが諸悪の根源だったりするみたいです。

# localectl set-x11-keymap jp pc105
$ setxkbmap -layout jp

このあたりを実行すればlayoutはJISになりもEmacs内で打てるようになりますが、毎回これをやるのはちょっと嫌なので設定ファイルに書き込んでおきます。

init.el
(shell-command "setxkbmap jp -model jp106")

もともとinit.elに記載されていた以下はエラーを起こすのでコメントアウトしました。

init.el
input backslash instead of Yen
(define-key global-map [?(J\(B] [?\\])

しかしこのままでは日本語入力ができないので、日本語フォントと変換ツールをインストールします。

# apt install fonts-noto-cjk
# apt install emacs-mozc

init.elに以下を追記してEmacsを再起動すれば、C-jで入力モードを変換して日本語入力できるようになります。

init.el
;; Mozcを標準の入力メソッドに設定
(require 'mozc)
(setq default-input-method "japanese-mozc")

;; 日本語切り替えを Ctrl + j に割り当て
(global-set-key (kbd "C-j") 'toggle-input-method)

(おまけ)
力業でどうにかしたときのコードをいざというときのために貼っておきます......笑

init.el
  (define-key input-decode-map (kbd "@") (kbd "\""))
  (define-key input-decode-map (kbd "[") (kbd "@")) 
  (define-key input-decode-map (kbd "]") (kbd "["))
  (define-key input-decode-map (kbd "^") (kbd "&"))
  (define-key input-decode-map (kbd "&") (kbd "'"))
  (define-key input-decode-map (kbd "*") (kbd "("))
  (define-key input-decode-map (kbd "(") (kbd ")"))
  (define-key input-decode-map (kbd "_") (kbd "=")) 
  (define-key input-decode-map (kbd "=") (kbd "^"))
  (define-key input-decode-map (kbd "+") (kbd "~"))
  (define-key input-decode-map (kbd "]") (kbd "\\"))

  (define-key input-decode-map (kbd "{") (kbd "`"))
  (define-key input-decode-map (kbd "}") (kbd "{"))
  (define-key input-decode-map (kbd ":") (kbd "+"))
  (define-key input-decode-map (kbd "'") (kbd ":"))
  (define-key input-decode-map (kbd "\"") (kbd "*"))
  (define-key input-decode-map (kbd "\\") (kbd "]"))
  (define-key input-decode-map (kbd "|") (kbd "}"))
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?