| . | ||||||||||||||||||||||||||||
| [ PalmTech. ] [ DevPr. ] [ mail to ] | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
|
|
| COMPUTERNAME | sig2 |
| EMACSDATA | /emacs/etc |
| EMACSDIR | /emacs |
| EMACSDOC | /emacs/etc |
| EMACSLOADPATH | /emacs/lisp |
| EMACSPATH | /emacs/bin |
| HOME | /home |
| PATH | /bin |
| SHELL | none |
| TEMP | /tmp |
| TMP | /tmp |
| TMPDIR | /tmp |
| USERNAME | hogehoge |
| UNIXROOTDIR | / |
さて、これで「sig2 上で Emacs が動作する」というところまでは来ています。デスクトップにショートカット・アイコンを作るなりスタート・メニューの[プログラム]にショートカットを仕込むなりしておきましょう。続いて、本来の目的である「コーディングできる環境を作る」に移ります。
今の時点でもとりあえず、C のプログラムを書くことはできます。が、私は cc-mode 無しだと、後になっても読めるような綺麗なコードを書くことができませんので、cc-mode は入れておきます。今回のパッケージでは最低限の elisp しか付いてきませんので、足りないものは NTEmacs 20.7 用のパッケージからでも取ってきます。ちゃんとした elisp ならきちんと動きますので cc-mode に限らずこの際、いろいろ入れておきましょう。なお、NTEmacs 20.7 のパッケージはこちらにあります。
ftp://ftp.gnu.org/gnu/windows/emacs/20.7/
私が入れて使っているのは cc-mode、info、skk と Wanderlust と、それらの前提パッケージです。(info は skk のために入れました。入力方法がよく分からなかったので(笑)。)
なお、前提パッケージはいろいろありますが、この辺をいちいちここで取り上げるのはこのページの趣旨に反しますのでやめておきます。ちなみに、このページの趣旨は、「『そういうことをやっている人はいるのだから、自分も同じことがきっとできるだろう』と誰かに思っていただく」という辺りで、それ以上のことは望んでいません。:-)
いろいろやっている過程でついでに導入した Wanderlust ですが、おかげで快適、とは言えないまでも、まぁ使えなくもない、というくらいのメール環境が実現しています。で、この Wanderlust および、基本的な日本語環境構築については、こちらのサイトがたいへん参考になりました。というか、元々 sig2 で Emacs という話を始めたのも、google で WindowsCE と Emacs で引いてみたらこちらにたどりついたからです。ここでお礼を言っても仕方ないんですが、とても感謝しております。
http://cwaweb.bai.ne.jp/~daisaku/ce_emacs.html
こちらを参考にしていけば sig2 で Emacs で日本語で Wanderlust というところまではあまり苦労なく到達できると思います。まぁつまずくところがないとは言い切れませんが、それは sig2 に限った話ではない場合が多いので、Web であれこれ探している内に何とかなる範囲だと思います。なお、sig2 にはバイト・コンパイル済みの .elc ファイルだけを持っていきたいでしょうから、ソース・パッケージを持ってきて PC 側でビルドして、生成されたものだけ sig2 に持っていくために、PC 側にも Emacs な環境と、おそらくは Cygwin が必要かと思います。そうすると何かと楽になりますので、元々そうでない方も、この機会に Emacs で生きる人になることをお薦めします。;-)
(まぁ、なくても何とかなりますが。)
まぁ、sig2 も Palm も持っていて、という方の多くはそうだと思うのですが、私は sig2 を PDA としては使っていません。私が sig2 に求めていたのは、そこそこのキーボードがあって、メールの返信だのドキュメントのドラフトだの何だのといったコマゴマとした書き物の面倒を最低限でも見ることができて、休みの日のカバンに入れてもあまりかさばらない携帯端末、という、ノート PC と Palm のニッチでした。
そういう意味で sig2 に Emacs が載った時点で、私が求めていた以上のものが実現できたわけです。日頃 PC で書き物をしている時の環境がほとんどそのまま持ち運べる、ということになると、やっぱりふだん書いている物は何でも書けるじゃん、ということになってしまいますので、行き着く先としてはもうコーディングしかありません。;-)
私がもっぱら書いているのは C のプログラムなんですが、C のプログラムを sig2 のキーボードで書こうと思うと、いろいろキー配置の問題でストレスがたまる部分もあったりします。でも、元々通常の文章と違ってコーディングなんてのはあれこれ考えながら書く分、入力スピードはあまりこだわらずに済む、という面もありますので、自分的にはまぁまぁ OK です。:-)
で、さらに無駄話をどんどん続けてしまいます。
sig2 でプログラムを書き始めたのは本当に最近のことなんですが、意外と生産性が高いことに気づいて驚いています。元々私が書くプログラムというのは余暇の趣味みたいなもので、主に休日や夜遅く、仕事が終わって一息ついた後のものです。ですが、仕事の行き帰りやちょっとした空き時間に喫茶店に入った時なんかでも、書きかけのプログラムで煮詰まっている部分や構想中の次回作についてあれこれ考えているわけです。そういう 10 分とか 20 分とかいう短い時間はどうしても「後に残らない」んですよね。考えたことの大部分が揮発してしまうというか。Palm でメモ帳に書いたりアウトライン・エディターを使ったり、というようなこともやってみたんですが、それだと「考えること」より「それを残すための作業」に取る時間の方が長くてダメなんですね。好きなことをやっているのに、気持ちよくならないんですよ。;-)
(そうなると私の生産性はダメダメになってしまいます。)
で、sig2 なんですが。考えたことをその場でコードにしていくのが、なかなか良いようです。その場で考えていること、というのは、まさにコードのことなので、それを後に残すために書くなら、そりゃコードで書くのが一番です。もちろん抽象化とかモデル化とかいろいろありますが、元々方法論をどうこうしながら書いているわけでもないので、とにかく、コードで書いちゃいたいわけです。;-)
最終的にたどりついたのが、電車の中とかで、関数を1個ずつ書く、というスタイルです。sig2 には書きかけのプログラムごとにフォルダを作り、中に参照用のヘッダファイルと snippet.c と名付けたファイルを一つだけ置いておきます。で、よし、今からこの関数を書こう、と決めたらその関数を書きます。簡単に終わったり気力が余ったりしたら、また別の関数を書きます。間違ってもプログラムのフローを考えつつ複数の関数群に手を付ける、なんてことはしません。ただ心をムナしくして、関数1個だけを書きます。木を見て森を見ず、の精神(笑)で、ただただ部品を1個作るわけです。
そうするとばりばりフローに沿って書き散らすよりもコードのクォリティが高くなるような気がしますし、そういう書き方で全体を成立させなければならないのでネーミング・コンベンションなんかの、「構成のための要素」もしっかりしてくるような気がします。ま、全部、気がするだけなんですが。しかし何より重要なこととして、ちょうど通勤路の乗り換え一回分くらいの時間が楽しくつぶせます。これは事実。;-)
で、家に帰ったら ActiveSync 経由の Explorer で snippet.c の中身を吸い上げます。コンパイルは通ったり通らなかったりしますが、それはまぁそれとして、無駄話が長くなったのでこの辺で切りましょう。
あれ、もう書くことないか。じゃ、とりあえず、この辺で。気が向けばこの辺の環境についてはまた別途書くかもしれませんが、ここまでを一応まとめておきます。
Emacs for WindowsCE はこちら ->
http://www.rainer-keuchel.de/wince/emacs-wince.html
elisp を追加するための NTEmacs 20.7 はこちら ->
ftp://ftp.gnu.org/gnu/windows/emacs/20.7/
Cygwin はこちら(念のため) ->
日本語で参考になるサイトはこちら ->
http://cwaweb.bai.ne.jp/~daisaku/ce_emacs.html
(おまけ) Wanderlust のサイトはこちら ->
http://www.gohome.org/wl/index.ja.html
sig2 で Palm プログラムは「書けます」が、それだけです。コンパイラもエミュレータもインストールも全部 PC です(笑)。でも、それでけっこう楽しくやれます。電車の中でクロスワード・パズルやら何やらやったり小説読んだり新聞読んだりするのもいいですが、プログラムを書く、というのも悪くないのであります、というお話でした。:-)