All in Emacs

GNE Emacsを、初心者の気持ちで、学びなおします。
忘れないように、備忘録として始めました。

init.el の作成

2022-04-16 03:44:14 | 日記

GNU emacsの環境ファイル init.el を作成中です。

とりあえず。package、tr-imeの設定をしました。

これで、日本語が使えるようになります。

 

ファイル名: ~/.emacs.d/init.el


;;;; init.el
;; 動作確認:
;; Windows10 バージョン 21H2
;; GNU Emacs 28.1 (build 52, x86_64-w64-mingw32) of 2022-04-05
;; 履歴:
;; 2022.4.16
;; tr-emacs-ime-module README.md を参照して作成
;; package、Windwos IME設定

;;-- 初めての package-initialize
;; 何もパッケージがインストールされていない場合のみ
;; package.elをロードさせるため package-initialize を実行
(package-initialize)

;;-- package-archivesを上書き
(setq package-archives
'(("melpa" . "https://melpa.org/packages/")
;; ("melpa-stable" . "https://stable.melpa.org/packages/")
("org" . "https://orgmode.org/elpa/")
("gnu" . "https://elpa.gnu.org/packages/")))


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

(unless (package-installed-p 'tr-ime)
(package-refresh-contents)
(package-install 'tr-ime))


;;-- tr-imeのDLLを自動でダウンロード
;; モジュール DLL が無ければ常に自動ダウンロード
(tr-ime-standard-install 'no-confirm)

;;-- w32-ime.el の設定
;; モジュール環境と IME パッチ環境のみ設定
(when (featurep 'w32-ime)

(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 にする)MELPA 掲載版用
(w32-ime-wrap-function-to-control-ime 'universal-argument)
(w32-ime-wrap-function-to-control-ime 'read-string)
(w32-ime-wrap-function-to-control-ime 'read-char)
(w32-ime-wrap-function-to-control-ime 'read-from-minibuffer)
(w32-ime-wrap-function-to-control-ime 'y-or-n-p)
(w32-ime-wrap-function-to-control-ime 'yes-or-no-p)
(w32-ime-wrap-function-to-control-ime 'map-y-or-n-p)
(w32-ime-wrap-function-to-control-ime 'register-read-with-preview)

;; IME のフォント設定
(set-frame-font "MS Gothic-12" nil t)
(modify-all-frames-parameters '((ime-font . "MS Gothic-12")))

;; isearch-mode 設定
(defun w32-isearch-update ()
(interactive)
(isearch-update))
(define-key isearch-mode-map [compend] 'w32-isearch-update)
(define-key isearch-mode-map [kanji] 'isearch-toggle-input-method)

(add-hook 'isearch-mode-hook
(lambda () (setq w32-ime-composition-window (minibuffer-window))))
(add-hook 'isearch-mode-end-hook
(lambda () (setq w32-ime-composition-window nil)))

(message "w32-ime settings"))