Meadow 3.0 のインストールと初期設定

meadow-logo

Meadow 3.0 (以下、Meadow3 と略) の Netinstall を使ったインストールと、起動用スクリプトの作成や .emacs による設定など初期設定に必要な作業についてまとめています。

はじめに

本稿は、以下の前提で書かれています。

項目 本稿での値 デフォルト値
インストール・ディレクトリ D:\usr\local\meadow\ C:\meadow

個人的な趣味の問題で、ディレクトリをインストーラのデフォルト値から変更していますので、デフォルトの場所にインストールする場合は適時読み替えてください。

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) でのインストール手順を説明します。

インストーラ画面 説明
setup_ja.exe を起動します。【次へ】 をクリック。
【インターネットからインストールする】 を選択して 【次へ】 をクリック。
Cygwin との相互運用ということで【インストール先ディレクトリ】 に D:\usr\local\meadow を入力後、 【次へ】 をクリック。
パッケージを保存するディレクトリを指定します。僕の場合、 【ローカルパッケージディレクトリ】 を Cygwin のパッケージを保存しているディレクトリと同じ D:\packages としました。入力後、 【次へ】 をクリック。
インターネットへの接続方法を選択します。一般的には 【ダイレクトに接続する】 を選択すればOKだと思います。選択後、 【次へ】 をクリック。
パッケージをダウンロードするサイトを選択します。とりあえずどこでも良いので選択してから 【次へ】 をクリック。
ダウンロード&インストールするパッケージの選択画面です。Cygwin の Setup 画面にそっくり(というかほぼ同じ)です。インストールしたいパッケージを選択し、 【次へ】 をクリック。
(パッケージ選択の補足)僕の場合、最初から選択状態だった base のパッケージ 3つと、info のパッケージを全部、それと Utils から pukiwiki-mode を選択してみました。

pukiwiki-mode を選択すると tdiary-mode も自動的に選択されます。依存するパッケージは自動的に選択されるので便利ですね。

パッケージのダウンロード&インストールが始まります。次のダイアログが表示されるまでしばし待ちます。
ここで、Windows 版 ImageMagick のインストーラーが起動します。【Next】 をクリック。
Licence Agreement が表示されますので、よく読んで、ライセンスに同意するのであれば【I accept the agreement】 を選択してから 【Next】 をクリック。
「インストールするには管理者権限が必要ですよー」 とか 「新しいバージョンをインストールする場合、古いバージョンのアンインストールが先に行なわれますよー」 とか、いろいろ表示されますが、とりあえず 【Next】 をクリック。
インストール先を聞かれます。そのまま 【Next】 をクリック。
プログラム・グループ名を聞かれます。そのまま 【Next】 をクリック。
インストール・オプションを聞かれます。そのまま 【Next】 をクリック。
ImageMagick のインストールが始まります。しばし待ちます。
「インストールできたかどうかコマンド・プロンプトでテストできるよー」とか表示されますが、まぁ、大丈夫だと思うので省略して 【Next】 をクリック。
ImageMagick のインストールが完了しました。【Finish】 をクリック。
続いて、Meadow 本体のインストールです。【install.exe を実行する】 にチェックを入れてから 【完了】 をクリック。
install.exe のコマンド・プロンプトが表示されます。.emacs を読み込むディレクトリを指定します。Cygwin のインストール時に環境変数 HOME を設定してあるので、そのまま 【Enter】 でOKです。設定していない場合は、適当なディレクトリを絶対パスで入力します。
Meadow のインストールが完了しました。
デスクトップに Meadow3 のアイコンが追加されていますので、起動してみます。妙にリッチというか…。Meadow 1.x の味気ない画面とはまったく違いますね。 ((個人的には味気ないほうが好きです。))

以上でインストール作業は完了です。次は .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 をインストール、設定していきます。

参考リンク

スポンサーリンク
レクタングル(大)
レクタングル(大)