2007/01/12(金)W-ZERO3[es]にEmacsCEセットアップログ

sigmarion3だけではなくW-ZERO3にもEmacsCEを導入してみました。その時のログ。
sigmarion3に導入したときの記事も参考にして下さい。今回はsig3に導入したときの相違点のみを記します。

注意点

  • 私の環境ではmini SDカードのフォルダ名は「/miniSD」となっています
  • 私の環境では「/Storage/dll」にパスを通しています。

miniSDカードのフォルダ名はそれぞれの環境に読み替えて下さい。またdllの置き場所はパスの通った場所に置いて下さい(/windowsなど)

インストールログ

  1. EmacsCE + SKK + Navi2ch配布サイトから2002/11/10 ARM版セットをダウンロード
  2. ダウンロードしたtar.gzファイルを展開
  3. 展開したtar.gzに含まれるファイルを以下のようにSDカードに配置
    1. /root以下……/miniSD/rootに配置
    2. cedialogs.dll, cedialogsx.dll, celib.dllを/Storage/dllに配置
    3. /miniSD/root/tmpディレクトリを作成
    4. Ntansi.ttfを/Windowsに配置
  4. System Pathを利用し、/Storage/dllにパスを通す
  5. Environment.regを母艦上のテキストエディタで開き自分の環境に合わせる
    後に詳しく解説する
  6. TREを利用しCEデバイスにEnvironment.regを登録する
  7. 辞書ファイル置き換え

Environment.reg変更点

  • [HKEY_LOCAL_MACHINE\Drivers\PCMCIA\ATADisk]以下のエントリを削除
  • [HKEY_LOCAL_MACHINE\Environment]の「/memcard」を「/miniSDに変更」
  • "COMPUTERNAME"="nao"
  • "TEMP"="\\miniSD\\root\\tmp"
  • "TMP"="\\miniSD\\root\\tmp"
  • "TMPDIR"="\\miniSD\\root\\tmp"
  • [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Styles]以下のエントリを削除

.emacs変更点

表示文字を大きくする

フォントセットmsgansi (MS Gothic+NetTerm ANSI)の表示を大きくする。ただし、EmacsCEはQVGA向けのアプリとして認識する為、実際の表示は縦横2倍となる。

(create-fontset-from-fontset-spec
"-*-NetTerm ANSI-normal-r-*-*-10-*-*-*-c-*-fontset-msgansi,
japanese-jisx0208:-*-MS Gothic-normal-r-*-*-9-*-*-*-c-*-jisx0208-sjis,
japanese-jisx0212:-*-MS Gothic-normal-r-*-*-9-*-*-*-c-*-jisx0208-sjis,
japanese-jisx0201:-*-MS Gothic-normal-r-*-*-9-*-*-*-c-*-jisx0208-sjis,
latin-jisx0201:-*-NetTerm ANSI-normal-r-*-*-10-+-*-*-c-+-iso8859-1,
japanese-jisx0208-1978:-*-MS Gothic-normal-r-*-*-9-*-*-*-c-*-jisx0208-sjis")

デフォルトのフレーム設定

デフォルトフォントセットをmsgansi, ほぼ画面いっぱいにフレームを表示するように設定

(setq default-frame-alist
  (append
   (list
    '(font . "fontset-msgansi")
    '(width . 61)
    '(height . 21)
    )
   default-frame-alist))

スクリーンショット

横画面で起動時はこんな感じ。
[album:w03/soft:es_emacs1.jpg:large]

画面回転を行うと最大化されますが、タイトルバーが出てしまいます。
[album:w03/soft:es_emacs2.jpg:large]

2007/01/11(木)[EmacsCE] SKKへの愚痴

EmacsCEからではIMEの制御が行えない為、elispによる日本語入力環境が必要となります。EmacsCE + SKK + Navi2chのセットでは、日本語入力環境としてセット名にも含まれている通りSKKが用意されています。が、SKKは基本的にローマ字かな入力のためのインプットメソッドであり、JISかな入力方式には対応していません。

SKKは確かにローマ字かな入力方式としては優れているのかもしれませんが、私のようにJISかな入力方式を主に使用する人間としてはこの入力方法は苦痛でしかありません。何とかSKKでJISかな入力方式を利用する為にいろいろ調べていたのですが、JISかな入力方式を利用することは絶望的のようです。……使えねぇIMだな。

ちなみにSKKはNICOLA配列に対応しているらしい。くそっ

メモ

EmacsCEで利用できるIMはSKKとPOBox。

POBoxを利用するにはWinCEで動くPOBoxサーバとpobox.el、その他が必要。

SKKをIMEライクに使用するには.emacsに

(setq skk-auto-okuri-process t)

で「TsukaEnai」で「使えない」と変換されていたものが「Tsukaenai」で変換できるようになる。

どうにもこうにもSKKの入力方式が私には受付られなそうなので現在POBoxによる入力方式にするか考え中…。

2007/01/09(火)Meadow2インストールログ

Meadowとは牧草地のことEmacsのWindows版。CEデバイスやサーバに設置するだけではなくWindowsネイティブで動作するEmacsが欲しかったので導入。

インストール

  1. Meadow TracからMeadow Netinstall用実行ファイル(setup-jp.exe)をダウンロード
  2. setup-jp.exeをAdministrator権限で起動
  3. ダウンロードしたパッケージの置き場所を指定: E:\Meadow\setup
  4. インストール先: E:\Meadow
  5. インターネットからインストール
  6. インストールするパッケージ
    • Meadow
    • APEL
    • ImageMagicK
    • misc
  7. Install.exeを起動、ImageMagicKのインストールにチェックを入れる
  8. ImageMagicKのインストーラーについて
    1. 普通のWindowsプログラムのインストールと同様に行う
    2. インストーラーの最後に表示されるウィンドウ
      • Update executable search pathにチェックを入れる(パスを通す設定を行う)
  9. その後以下の環境変数を指定
    "PATH"="E:\Meadow\bin"
    

.emacs作成

Emacsを起動し、C-x C-f ~/.emacs

(set-language-environment "Japanese")

とりあえずここまで。C-h tのチュートリアルなどが日本語で表示できるようになる。

疑問なこと

Meadowを便利に使う為にはCygwinを導入する必要がありますが、このCygwinで提供しているパッケージにEmacsがあるのですが、Cygwin版EmacsとMeadowのどちらがいいのでしょうか?っていうか、どう違うんでしょ?

参考

どうでもいいこと

  1. WindowsCE
  2. Linux (Fedora Core)
  3. Windows2000

上記の順でEmacsを導入したのですが、何か間違っているような気がするw
ちなみに各マシンの利用頻度はWin2k > Linux > CEだったりする。

どうでもいいこと2(メモ)

各マシン毎のEmacsのバージョン

マシンOSEmacs Ver.
サーバ(Kaede)Fedora Core 4GNU Emacs 21.4.1
メインマシン(Rumina)Win2000Meadow 2.10 (GNU Emacs 21.4.1)
モバイル(sigmarion3)WinCE.NET 4.1EmacsCE (GNU Emacs 20.7.1)

ちなみに、インストールされているEmacsのバージョンはEmacs上でM-x versionで調べられる。

2007/01/09(火)[FC4] Emacsインストールログ

Fedora Core 4が稼働している自宅サーバにもEmacsを導入してみた。

インストール

# su -
$ yum install emacs

.emacs作成

C-x C-f ~/.emacs

(set-language-environment "Japanese")

とりあえずこれだけ。後で色々設定を追加していくつもり。

TeraTermの設定

クライアント(Windows)からサーバに接続してEmacsを利用する場合、Altキーを押してもTeraTermが受け取ってしまい接続先のEmacsにMetaキーが渡せません。このため、「設定」-「キーボード」からMetaキーを送る設定にする必要がある。

ところで

Emacsを起動するとC-h tでチュートリアルが起動できると表示されるが、C-hは後退(BackSpace)に割り当てられている為C-h tでチュートリアルが起動できません。

2007/01/09(火)[EmacsCE] css-mode導入ログ

EmacsCEを導入した理由の一つにcss-modeを使いたかったからというのがある。しかし、前回導入したEmacsCEのセットにはcss-modeが含まれていない。今回はcss-modeが使えるようにしたときのログ。

インストール

  1. http://www.garshol.priv.no/download/software/css-mode/
    上記のサイトからcss-mode.elがDLできる。
  2. /emacs/site-lisp/css/ディレクトリを作成
  3. /emacs/site-lisp/css/にcss-mode.elを置く
  4. .emacsに以下を追加
    (autoload 'css-mode "css-mode")
    (setq auto-mode-alist
          (cons '("\\.css$'" . css-mode) auto-mode-alist))
    
    これで*.cssを読めばcss-modeが利用できる。

ToDo

起動後M-xからcss-modeが利用できない(手動でcss-mode.elをロードするか、*.cssを読んだ後でないとM-xにcss-modeが現れない)ので使えるようにしたい

ToDo解決 2007/01/09

M-xにcss-modeが現れるようにする設定。
.emacsに

(load-library "css-mode")
(require 'css-mode)

と記入すればいいらしい。

ここの記事を参考にしました。

追記 2007/01/12

前回の設定ではcssを編集しない時もcss-mode.el(c)がロードされてしまうため、無駄にメモリを消費することになっています。
前回の設定ではload-libraryでcss-mode.el(c)をロードし、さらにrequireでcss-mode.el(c)がロードされていなければロードするという冗長な処理を行わせていることがその後の調べで分かりました。

もっとスマートにM-xでcss-modeを呼び出すためにはautoloadで指定してやるのですが、最初に行った設定(css-mode.el中に記されている.emacsの設定)では、autoloadの引数が足りないため、M-xの一覧に出てきません。

autoloadの書式

autoload filename docstring interactive type

filename : lispの拡張子を含まないファイル名
docstring : functionに対する説明文字列。これを指定するとロードせずに説明を読むことが可能になる。
interactive : nil以外であれば対話的に呼び出すことが出来る。つまりM-xの一覧に表れるようになる。
type : functionのタイプを指定。functionがキーマップならkeymapといった具合。ここを指定しておくことでロードせずにこの情報を知ることが出来る。

スマートなcss-modeのための.emacs定義

(autoload 'css-mode "css-mode" nil t)
(setq auto-mode-alist
      (cons '("\\.css$'" . css-mode) auto-mode-alist))

interactiveにtを指定してやることでM-xにcss-modeが表れるようになります。