巨大なファイルをダウンロードして、MeadowとBEPをセットアップしてしまった あなた!「しゃべったあ!」と喜んだのもつかの間、さて、こんなに大きなエディ タでなにをしよう(??)と困ってはいませんか? このページでは、インストールしたままのMeadow+BEPでできることをいくつか解 説してみます。遊んでみてください。そして早くEmacsに慣れましょう。 でも、その前にC-h Tででてくるチュートリアルには目を通しておいてください ね。
最初にちょっと難しめの話です。でも読んでおいてください。
Emacsというエディタには「モード」というものがあります。テキストファイル を編集するときはテキストモード(text-mode)、コマンドプロンプトを開いたと きはshell-modeという具合です。それぞれのモードでどのキーがなにをするのか が違います。ここがEmacsのおもしろいところと言ってもよいでしょう。同じエ ディタの中でモードによってEmacsはいろいろな顔をしてくれるわけです。これ から紹介するいくつかの「遊び方」はそれぞれ違ったモードを使います。
最初に紹介するのはカレンダー(calendar)です。これはその名のとおりのカレン ダーなのですが、Emacsがいろいろなモードを持っていることの紹介としては適 していると思います。
ではカレンダーを動かしてみましょう。動かし方はEmacsの中で次のように入力 します。
M-x calendar RET
M-xはESCを押してx、またはメタキー(ALTキー)を押しながらxを押すことです。 RETはエンターです。
RETを入力すると、カレンダーが実行されたことを示すメッセージが流れます。 画面には横に3カ月分(もっと多いこともあるでしょう)ならんだカレンダーが表 示されます。outSPOKENを持っている人は確認してみてください。でもそのまま 横1列を音声で聞くと、何とも役に立たない数字の列です。
さて、この状態で「.(ピリオド)」を入力してみてください。今日の日付と曜日 が英語で出力されます。なんでピリオドなのか。おそらくDOSやUnixの「カレン トディレクトリ」のイメージだったのだと私は思っています。
では次にC-b C-f C-n C-p または上下左右の方向キーで移動してみてください。 画面上のカーソルは左右では1日、上下では1週間の単位で移動します。1文字 ずつではないところが「カレンダーモード」です。
では、上下左右のキーを使って、4月1日に移動してみましょう。そして、そこ で「h」のキーを押します。すると、日付の後に、「April fool's day」としゃ べります。カレンダーモードの「h」は世界各地の「Holiday」を教えてくれるキー なのです。残念ながら日本の祝祭日は知らないみたいですが……。 ついでに、ここで「x」を入力してください。そして同じように上下左右で移動 してみましょう。すると、HolidayとしてEmacsが知っている日のところだけ女性 の声でしゃべります。この機能でいろんなHolidayを見つけることができます。 (いらないって?)
最後に、終了して前いたバッファに戻るのは「q」です。
次はもう少し実用的なモードです。C-x d(またはM-x dired RET)と入力してくだ さい。するとディレクトリ名を聞いてきます。最初はデフォルトのディレクトリ 名が入っているので、C-a C-kとかでデフォルトの指定を全部消すとかして、自 分がみたいディレクトリの名前を書いてエンターしてください。適当に大事じゃ ないファイルがありそうなディレクトリを指定してみてください。ディレクトリ 名の区切り文字が「\」じゃなくて「/」なので気をつけてください。
dired(読み方不明。ディレドと読む人もいます)はいわゆるファイラーです。fd やwhf、explorerみたいなものと思ってください。 上下方向キーやn, pを押すと、ファイルリストの中を1ファイルずつ移動します。 できることはファイルのコピーや移動、名前の変更、削除、それにもちろんその まま開くこともできます。(実行はできません)。 それに、ここはEmacsの中なので、C-sを押してファイル名を「検索」することも できます。
上下に移動していると、ディレクトリのところだけ声が変わっていることがわか ります。それから後で説明する削除マークやその他のマークをつけたファイルも 声が変わります。
画面にはUnixやDOSのlsコマンドの結果みたいに、1行に1ファイルが表示されて いて、ファイルのサイズや日付も同じ行に表示されています。これを知るには、 C-e l (行読みコマンド)を使うか、outSPOKENなどのスクリーンリーダーを使っ てみてください。
では、diredの中で使える主なキー操作を書いてみます。削除や名前の変更以外 は遊んでみてもかまいません。
diredはC-x C-fでファイル名を入力しようとしているときにディレクトリ名だけ のところでRETを押しても自動的に開くので、いろいろと使い道があります。是 非憶えてください。
さて、diredを憶えたところでその応用形みたいなange-ftpを見てみましょう。 これはdiredと同じ感じでftpサイトを探検したりファイルをコピーしたりできる モードです。 ためしに次のように入力してみてください。
C-x d C-a C-k /anonymous@ftp.vector.co.jp:/pack/ RET
(diredのディレクトリ指定で行の最初に移動して、全部消した後に /anonymous@....を入力しました。)
最初の/の直後がログインする名前(ここでは匿名ftpなのでanonymous)、@の後ろ はftpサイトの名前です。ftpサイトの名前の最後に「:」をつけることを忘れな いでください。そして「:」の後ろはftpサイトの中のディレクトリ名です。わか らない場合は「:/」と「/」だけ入れてみるといいでしょう。
ここではdiredでできるほとんどのことができます。もちろん削除や名前の変更 にはそれなりの権限が必要なので、たぶんanonymousではできないでしょう。(で きたらきっと怒られます)。おそらく一番よく使うのは「C」(ファイルのコピー) コマンドでしょう。「C(大文字です)」を入力するとdiredと同じように今いるディ レクトリがデフォルトとして表示されます。自分のマシンにコピーしてきたい場 合は、デフォルトのものを全部消して、「c:/tmp」みたいに入力してエンターす るとコピーが始まります。もちろんマークを使っていくつものファイルをまとめ てダウンロードすることもできます。ダウンロード中は定期的にコピーされたパー センテージを読み上げます。
ちょっと変なところがあって、cとかaコマンドでの変更時刻の読み上げが1970年 とかになってしまうようです。画面にはちゃんとでているので、M-b, M-fなどの 移動コマンドを使って、ファイル名の左に書かれている時刻を読んでください。
Emacsの中でいろんなプログラムを走らせることができます。その1例が shell-modeです。これはシェル、つまりコマンドインタプリタなどをEmacsの中 から利用できるものです。ためしに「M-x shell RET」と入力してみてください。
いつも耳慣れたコマンドプロンプト(DOS窓)の起動メッセージがBEPの声で流れて くるはずです。後はお好きなコマンドを実行してみてください。dirとかformat とか……。行単位で結果を出してくるプログラムならおそらく使えます。 *ただし*フルスクリーンの表示をするものとか常駐してしまうものはやめてくだ さい。スクリーンリーダーとかエディタはおそらくまずいです。 extraだとどうなるかまだ試してません。誰かやってみたら結果を教えてくだ さい。(フルスクリーン表示をしないように注意して)
ここからはEmacsに付属しているゲームのうち、音声でそれなりに使えるものを 解説します。
最初に紹介するのは、お馴染みの五目ならべです。EmacsにはEmacs Lispで書か れた五目ならべプログラムが付属しています。ゲームを始めるには、「M-x gomoku RET」と入力します。
起動すると「Do you allow me to play first (y or n )」つまり、「私(Emacs) が先に打ってもいい?」と尋いてきます。じゃんけんはしなくていいらしいので、 気分にあわせて「y」か「n」を入力します。
すると、画面上には五目ならべのための番面が現れます。これは画面いっぱいに、 縦横にならんだ「.」の列です。あなたはこの番面を、次のようなキー操作で移 動することができます。
移動すると異動先のマスの番号が行、列の順に読み上げられます。そこに駒があっ た場合、自分の駒なら「x」相手の駒なら「o」(スピーチサーバによって「zero」) と読み上げられます。
自分の駒を置くにはスペースキーを押します。すると自分の駒がそのときいた場 所に置かれた後、すぐにEmacsが次の手を打ち、その相手の駒が置かれた場所に 移動します。
後はこれを繰り返して、自分の駒が相手より速く5個直線にならべば勝ちです。 チャレンジしてみてください。
途中でやめたくなったら、しかたないのでC-x k でバッファを消すか、おもむろ に別のことを始めてしまってもEmacsは待ちくたびれないようです。
きっとEmacs20あたりから追加されたと思うのですが、いわゆるテキストアドベ ンチャーゲームがついています。最近はあまりお目にかかることはないでしょう が、昔のまだBASIC全盛期のコンピュータを知る人やUnixに親しんでいた人の中 には、この手のゲームを懐かしむ人もいるようです。
実行は「M-x dunnet RET」です。すると、以下のようなメッセージが現れます。 ここだけはC-pで上に移動して読まないと読んでくれません。(以下私なりの日本 語訳、おかしかったら教えてね)
行き止まり あなたは泥道の行き止まりにいます。道は東へ続いています。 遠くの方で道が分かれているのが見えます。ここの木々は背の高いroyal parlm (しゅろの一種?)で、互いに同じ間隔を置いてならんでいます。 ここにはショベルがあります。 >
さて、この最後の「>」はプロンプトです。これに対してなにかのコマンドを入 力すると、それが解釈できるコマンドなら、それに応じたことが起こります。た とえば、「e」と入力してエンターを押すと、(これはeastの略なので)あなたは 東に移動して、周りの情景が変わります。(これが最初に取るべき行動かどうか は知りませんよ……)
「help」というコマンドで簡単な説明が表示されます。また、いつでもC-p, C-n でバッファの途中を読み直して、やることが決まったら最後のプロンプトのとこ ろに戻ってコマンドを入力することができます。私もまだちゃんとプレイしたこ とがないので、なにをすべきなのか、どれくらいの広さの世界なのかわかりませ ん。
さて、これはゲームとはちょっと違うのですが、心理学の世界(?)では有名らし い「Eliza」と呼ばれるプログラムと対話することができます。なんでも、考え が錯綜してまとまらなくなったときに自分を取り戻すのによいとか……。
コマンドは「M-x doctor RET」です。すると、ドクターが現れます。英語が得意 じゃない人にはつらいのですが、ここで「Hi,」などと話しかけてみてください。 自分の話が終わったらエンターを2回入力します。するとドクターからの返事が 返ってきます。それに対してまじめに答えていくとよいらしいです。
ただ、どうやら現在のdoctorプログラムにはバグがあるらしく、うまく会話が成 立しないことがあります。特にEmacsを日本語環境など英語以外の環境で使って いる場合(今もきっとそうですね)に発生します。 設定がわかる人は、以下を.emacsに入れると解決するようです。 きっと将来のEmacsでは修正されるでしょう。
(defadvice doctor-mode (after meadow-doctor-mode first nil) "Fixes doctor for Meadow-1.14. But what was the problem in the first place?" (interactive) (setq sentence-end "[.?!][]\"')}]*\\($\\| $\\|\t\\| \\)[ \t\n]*") )
Emacsの機能という訳ではないのですが、Meadowディレクトリの
1.10/etc
ディレクトリにはEmacsの動作に必要な大切なファイル
に混じって、Emacsの古い時代から蓄積されたあやしげなファイルがおいてあり
ます。EmacsやGNUプロジェクトに関するまじめな主張や議論からJOKESやsex.6
みたいななんでここにあるの?なものまで。
そういうファイルは全部英語ですが、気が向いたら見てみてください。
なんとなく昔の偉大なハッカーのみなさまの声が聞こえる気がします。