Meadow 3.0 (以下、Meadow3 と略) の Netinstall を使ったインストールと、起動用スクリプトの作成や .emacs による設定など初期設定に必要な作業についてまとめています。
目次
はじめに
本稿は、以下の前提で書かれています。
項目 | 本稿での値 | デフォルト値 |
---|---|---|
インストール・ディレクトリ | D:\usr\local\meadow\ | C:\meadow |
- 上記インストール・ディレクトリを $MEADOW と表記。
- Cygwin 1.5 をインストールしていること。
個人的な趣味の問題で、ディレクトリをインストーラのデフォルト値から変更していますので、デフォルトの場所にインストールする場合は適時読み替えてください。
Cygwin 1.5 をインストールしていない場合は、環境変数 HOME, TMP, TZ の設定が必要となります。『Cygwin 1.5 のインストールと初期設定』 を参考に設定してください。
Netinstall のダウンロード
Meadow3 では、ネットワーク経由でパッケージをダウンロードしてインストールするツール “Netinstall” が用意されています。この Netinstall は Cygwin のインストーラとほぼ同等で、パッケージ管理もしてくれます。
以下の URL から Netinstall の実行ファイル setup_ja.exe をダウンロードし、 D:\packages\ に保存します。
Netinstall でのインストール
以下に、Netinstall (setup_ja.exe) でのインストール手順を説明します。
以上でインストール作業は完了です。次は .emacs やその他の設定を行ないます。
初期設定
とりあえずの初期設定をまとめています。先人の方々のウェブを参考に .emacs を一から書いてみました。個人的な趣味を反映した設定ですが、参考になれば幸いです。
起動用スクリプトの作成
まずは Meadow3 の起動用スクリプトを作成します。以下の内容で /bin/emacs を作成します。
#!/bin/sh emacs_dir=/usr/local/meadow/ param="" for i in $*; do f=`echo "$i" | sed -e 's/^-.*//g'` if [ "$f" != "" ]; then param="$param `cygpath -i -w $i`" else param="$param $i" fi done $emacs_dir/bin/meadow.exe $param &
もっと凝ったスクリプトもあるのでしょうが、僕のレベルではこの程度ってことで…。
フォントの設定
Meadow3 で多言語を扱わないのであれば、インストールのみでとりあえずは和文と英文は表示できます。 (( 僕は Meadow3 で多言語を扱わないので、以下の設定はすべて和文と英文のみを表示・編集する環境を作ることを前提に書いています。 )) 個人的には Windows 系のフォントを使いたいので、その設定をしてみます。
以下の URL から ttfont-setup.el をダウンロードし、 $MEADOW/site-lisp/ にコピーします。
.emacs に以下の記述を追加します。
;; フォントの設定 (when (require 'ttfont-setup nil t) (ttfont-setup))
これでとりあえず MS ゴシックで表示されるようになりました。次に、現在お気に入りの meiryoKe_Console を使えるように設定してみます。ttfont-setup.el を以下のように書き換えます。
;; Default で使用する TrueType Fonts 名とその設定 (defvar ttfont-setup-def "MeiryoKe_Console") (defvar ttfont-setup-def-number 49) (defvar ttfont-setup-def-size 16) (defvar ttfont-setup-fix "MeiryoKe_Console") (defvar ttfont-setup-fix-width 'normal) (defvar ttfont-setup-fix-height 1.0) (defvar ttfont-setup-var "MeiryoKe_PGothic") (defvar ttfont-setup-var-width 'normal) (defvar ttfont-setup-var-height 1.0)
フォントのズレもなく、綺麗に表示されました。満足満足。
ウィンドウのサイズと位置の固定
Meadow 1.x を使っていた時は、ウィンドウのサイズと位置を固定するために、起動オプションの -geometry を使っていました。ところが Meadow3 でこの方法を使うとウィンドウ位置がズレます。どうやら起動時のフォント (( .emacs でフォントを設定する前のデフォルトのフォント。 )) でウィンドウ・サイズが画面からはみ出す場合、なるべくウィンドウを画面内に収めようと勝手に表示位置を変えるようです。
困ったなぁ…と思って調べてみたら、以下の URL を見つけました。
.emacs に以下の記述を追加します。
;; ウィンドウのサイズと位置の固定 (if (boundp 'window-system) (setq initial-frame-alist (append (list '(width . 82) ;; ウィンドウ幅 '(height . 39) ;; ウィンドウの高さ '(left . 630) ;; 表示位置左オフセット '(top . 48) ;; 表示位置上オフセット initial-frame-alist))))
スクロール・バーとツール・バーを非表示に
スクロール・バーやツール・バーを表示しないようにします。Meadow 1.x を使っていた時はメニュー・バーも消していたのですが、今回はお世話になりそうなので表示しておきます。.emacs に以下の記述を追加します。
;; スクロール・バー、ツール・バー、メニュー・バーの非表示 (set-scroll-bar-mode nil) (tool-bar-mode -1) ;(menu-bar-mode -1)
キー・バインドの変更
一部のキー・バインドを自分好みに変更するために、.emacs に以下の記述を追加します。
;; キー・バインディング (global-set-key "\C-h" 'delete-backward-char) (global-set-key "\M-\C-h" 'backward-kill-word) (global-set-key "\M-g" 'goto-line) (global-set-key "\M-?" 'help-for-help) ; isearch で \C-h を有効に (define-key isearch-mode-map "\C-h" 'isearch-delete-char)
C-h ホニャララ のヘルプ系のキーはほとんど使うことが無いと思いますので、今までどおりに delete-backward-char に設定。C-h の代わりに F1 キーを使えば良さそうですし。term/bobcat.el は必要なさそうなので今回は省きました。
Meadow3 では、ミニ・バッファで Space の補完が効きません。これはビックリ。*5なんでだろー?と思って探してみたら、こんなの見つけました。Meadow が、というより Emacs が、そういう方針なのかぁ… Tab(または C-i)派が多いってことですね。僕は最初っから Space 補完派なので意外でした。ということで、もちろん Space で補完が効くように設定します。
; ミニ・バッファで Space による補完 (if (boundp 'minibuffer-local-filename-completion-map) (define-key minibuffer-local-filename-completion-map " " 'minibuffer-complete-word)) (if (boundp 'minibuffer-local-must-match-filename-map) (define-key minibuffer-local-must-match-filename-map " " 'minibuffer-complete-word))
“Computing Memo of 2006/03/19” を参考にさせていただきまました。参考というか、そのままパクりです。あと “GNU Emacs Lispリファレンスマニュアル: ミニバッファ” も参考に。
前述のサイトに、補完を便利にするモードに関しての記述があったのでついでに有効にしてみました。まだまだ知らないことっが多いなぁ…。
;; 便利な補完機能 (partial-completion-mode t)
但し、この partial-completion-mode を有効にすると、minibuffer-complete-word の挙動が従来と若干変わりますので、違和感があったりなかったり。暫くはこのまま使ってみます。
シェルの設定
shell-mode で Cygwin の bash を使うように設定します。 .emacs に以下の記述を追加します。
;; shell-mode の設定 (bash) (setq explicit-shell-file-name "bash.exe") ; シェルモード用 (setq shell-file-name "sh.exe") ; シェルコマンド用 (setq shell-command-switch "-c")
IME 関係の設定
IME の On/Off でモードラインの表示を変更するように設定します。何故か mw32-ime-mode-line-state-indicator-list や mw32-ime-mode-line-state-indicator で設定しても反映されないので別の方法で。あと、IME の On/Off でカーソルの色を変更するようにも設定。.emacs に以下の記述を追加します。
;; IME On/Off 時のモードライン表示 (setcar (nthcdr 3 (assoc "MW32-IME" input-method-alist)) "[あ]") (setcdr (cdr (assq 'current-input-method mode-line-mule-info)) '("[--]")) ;; IME の On/Off でカーソルの色を変更 (add-hook 'mw32-ime-on-hook (function (lambda () (set-cursor-color "blue")))) (add-hook 'mw32-ime-off-hook (function (lambda () (set-cursor-color "black"))))
モードラインの変更はちょっと怪しいのですが、今のところ大丈夫な感じ。
モードラインの設定
アクティブ/非アクティブでモードラインの表示が変わるのがすごく気になります。カーソル形状でアクティブ/非アクティブが区別できるので、表示の変更を無効にします。 あと、立体的な表示がすごく嫌。ということで、customize-face で mode-line と mode-line-inactive を変更しました。.emacs に追加されたコードは以下。
(custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. ) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(mode-line((((class color) (min-colors 88)) (:background "grey90" :foreground "grey20" :box (:line-width -1 :color "grey75") :family "MeiryoKe_Console")))) '(mode-line-inactive((default (:inherit mode-line))(((class color) (min-colors 88) (background light)) (:background "grey90" :foreground "grey20" :box (:line-width -1 :color "grey75") :weight light :family "MeiryoKe_Console")))))
その他の設定
好みでその他の変数の設定です。.emacs に以下の記述を追加します。
;; auto save file をテンポラリ・ディレクトリに作るように指定 (setq auto-save-list-file-prefix "/var/tmp/.saves-") ;; 補完を実行しない拡張子 (setq completion-ignored-extensions (append completion-ignored-extensions '(".exe"))) ;; 変数のデフォルト設定 (setq-default tab-width 4) (setq-default fill-column 68) (setq-default truncate-lines t)
初期設定は以上で完了です。とりあえず、普通に使える感じになりました。
あとは、Meadow 1.x の頃から使っている Elisp をインストール、設定していきます。