EmacsがどれだけEmacs Lispの統合開発環境として優れているか

をマニュアル類を読み直して熱く語るつもりだったのですが、いろいろな日常生活の雑事でヤバいほど疲れてしまって、そのうち気力が回復したら書きたいです。

私が熱心にパッケージ開発をしていた約20~30年前から必要なものはすべてそろっていた感じでした。

Emacs 26.3をWindows10にインストール

2019年8月31日 Emacs 26.3に改訂

EmacsのWindowsへのインストールに関してなにか問題がありましたら気軽に私宛にメール(yuji@minejima.jp)していただくか、このブログエントリにコメントを付けていただければわかる範囲でお手伝いさせていただきます。

キーを押しても、IMEの入力モードが切り替わらないときは、マウスでEmacsウィンドウの端をクリック(横幅を変えるときにドラッグする部分)するとうまくいくようです。

まずEmacsはコントロールキーを多用するので、押しやすいCapsLockをControlに変えてしまう、Ctrl2capドライバをインストールしておきます(2019/07/04日本語サイトからダウンロードできなくなったようで、英語サイトにリンクしました)。

ctrl2capの具体的なインストール方法はググるとでてきます

もしくは、

というやり方もあります。


FSF本家でIME関係の対応をしたようなので、GNU公式FTPサイト(http://ftp.gnu.org/pub/gnu/emacs/windows/ )からバイナリをダウンロードしてきます。(32bitバージョンはi686, 64bitバージョンはx86_64)

私はemacsフォルダをC:\に展開しています。


つぎに環境変数HOMEにホームディレクトリを設定します。
スタートボタン横の検索窓に”環境変数”と入れたらうまくいきました。


さっき環境変数HOMEに指定したディレクトリ(フォルダ)の中に”.emacs.d”ディレクトリを作り(runemacs.exeを一度起動すると自動的に作られます)、さらにその中に”init.el”ファイルを作成します。
私は環境変数HOME=”G:\home”にしてあるので、”G:\home\.emacs.d\init.el”ファイルを作りました。

このinit.elファイルはEmacs Lispで各種設定を記述し、emacsが起動するときに自動的に読み込まれ設定が反映されます。

テンプレート的なinit.elを置いておきます。


日本語環境と好みの文字コードを指定するコードはinit.elに次のようにしています。

(set-language-environment "Japanese")
(set-default-coding-systems 'utf-8)
(prefer-coding-system 'utf-8)

フォントの設定はinit.elに次のようにしています。
“Yu Gothic UI”フォントは最新のWindows10に標準でついてくるようです。
“MyricaM M”は、フリーで配布されています

;; 固定等幅フォント
(set-face-attribute 'fixed-pitch    nil :family "MyricaM M")
;; 可変幅フォント
(set-face-attribute 'variable-pitch nil :family "Yu Gothic UI")

;; "MyricaM M-13"の13が文字の大きさなので好みの値にする
(add-to-list 'default-frame-alist '(font . "MyricaM M-13"))
(set-face-font 'font-lock-comment-face       "MyricaM M-13")
(set-face-font 'font-lock-string-face        "MyricaM M-13")
(set-face-font 'font-lock-keyword-face       "MyricaM M-13")
(set-face-font 'font-lock-builtin-face       "MyricaM M-13")
(set-face-font 'font-lock-function-name-face "MyricaM M-13")
(set-face-font 'font-lock-variable-name-face "MyricaM M-13")
(set-face-font 'font-lock-type-face          "MyricaM M-13")
(set-face-font 'font-lock-constant-face      "MyricaM M-13")
(set-face-font 'font-lock-warning-face       "MyricaM M-13")

自分のWindows環境でどんなフォントが使えるか見るには次のようにするとリストが表示されます。

C-b *scratch*  
;; *scratch* バッファに移動します。
;; Emacs内の落書き帳みたいなバッファです。

(w32-select-font) C-j
;; C-jで直前の(w32-select-font)を評価(eval)します。

C-b や C-j は、コントロールキーを押したまま、bやjを押します


Emacsのフレーム(Windowsでいうウィンドウ)の初期表示位置や大きさは以下のコードをいじってinit.elに入れとくと良いです。

;;; Frame size & position
(setq default-frame-alist
      (append (list
               ;;'(foreground-color . "black")
               ;;'(background-color . "LemonChiffon")
               ;;'(background-color . "gray")
               ;;'(border-color . "black")
               ;;'(mouse-color . "white")
               ;;'(cursor-color . "black")
               '(width . 100) ;; Emacsの横幅(文字単位)
               '(height . 61) ;; Emacsの縦幅(文字単位)
               '(top . 0)     ;; Emacsの上端表示位置(ドット単位)
               '(left . 500) ;; Emacsの左端表示位置(ドット単位)
               )
              default-frame-alist))

msys2などをインストールされている方は、Info形式のマニュアルがあるディレクトリを追加しておくと、`C-h i’したときにメニューが統合されます。

(setq Info-default-directory-list (cons "c:/msys64/usr/share/info" Info-default-directory-list))

最後にrunemacs.exeのショートカットをスタートメニューに登録し、起動後の作業ディレクトリが先ほど指定したホームディレクトリになるようにして、おつかれさまでした。

Emacs 25.1.1をWindows10にインストール

2018年6月現在Emacs新バージョン26.1が出ています。

まずEmacsはコントロール・キーを多用するので、押しやすいCapsLockをControlに変えてしまう、Ctrl2capドライバをインストールしておきます。

つぎに、日本語IMEのインライン変換の不都合をなくすためのパッチがあたったNTEmacsをダウンロードします。

展開して、emacsディレクトリをProgram Filesにでも放り込んでおいてrunemacs.exeのショートカットをスタートメニューにでも作っておけばOK。仰々しいインストール作業はありません。

で、あとは設定ファイル~/.emacs.d/init.elに(環境変数HOMEにてホームディレクトリを指定)、

(global-set-key [kanji] 'toggle-input-method)

を書いておくとESCの下にある漢字キーで日本語IMEがトグル動作するようになります(Windowsでの通常動作。Emacs的にはC-\がデフォルト)。

Emacsのフレーム(ウィンドウ)の初期表示位置や大きさは以下のコードをいじってこれまたinit.elに入れとくと良いです。

;;; Frame size & position
(setq default-frame-alist
(append (list
;;'(foreground-color . "black")
;;'(background-color . "LemonChiffon")
;;'(background-color . "gray")
;;'(border-color . "black")
;;'(mouse-color . "white")
;;'(cursor-color . "black")
'(width . 100)
'(height . 61)
'(top . 0)
'(left . 500)
)
default-frame-alist))

私はフォントはあまりこだわらないほうなのですが、いろいろと設定すると好みにあったようにできるようです。