16 - メジャーの厚い壁
「さまざまな苦難を」「寄り道な」「のりこえて私たちは進んできた。しかし,私たちの前に最大の敵が立ちはだかった!」「敵って…」
「『私,どうしても君に言っておきたいことがあったんだ…』もはや動く体力も残されていない私は,蚊の鳴くような声で EeePC に語りかける」「動けないのはチャーハン食べすぎたからだろ…」
「ねえ,ちゃんと聞いてよ,真剣なシーンなんだから」「あー…ゆ,『遺言ならお断りだぜ』…。だぜっ,て…」
「『ふふっ…最後まで…意地悪なんだから…』私がゴホゴホとせきこむ。赤い雫が口からこぼれる」「おおげさすぎるだろ…」
「『ぜ…前回…計算機って書かれてたでしょ…それで…どうしても言いたいことがあって…』」「自動セーブのところだな。何だ?」「『ま… Mac OS9 まで…使われてた…電卓…計…算機…って…いうんだ…けど…』」「…あ,ああ…」「『あれ…デザイン…したのが…スティーブ…ジョブ…ズ…』
その言葉を最後に,私は静かに目を閉じた。その顔は穏やかなものだった。まるで,眠っているように…」
「…おい,さっさと起きろ。ほら,先に進むぞ」
*モードライン
==============
エコーエリアのすぐ上の行は、モードラインと呼びます。モードラインはこん
な風に見えるでしょう。
-J:**- TUTORIAL.ja (Fundamental)--L670--58%----------------
この行は Emacs の状態及び編集中の文章について有益な情報を与えてくれま
す。
ファイル名についてはもう分っていますね。それはあなたが開いたファイルで
す。-NN%-- は文章中の現在位置を示しています。文章の NN% が画面最上段よ
り前にあるということです。もし文章の最初の行が画面にある時には --00%--
の代りに --Top-- と表示します。もし文章の最後の行が画面にある時には
--Bot-- と表示します。もし画面に全部収まってしまうような短い文章を見て
いるときには --All-- と表示します。
L とそれに続く数字は現在の行番号を示しています。
先頭近くの星印は、あなたが文章を変更したことを示しています。ファイルを
開いた直後や、セーブした直後は、その部分には星印の代わりにダッシュ 「-」
が表示されます。
括弧に囲まれた部分はどんな編集モードにいるかを示します。デフォルトは
"Fundamental" というモード、これが現在のモードです。これは「メジャーモー
ド(major mode)」の一例です。
「さっき最大の敵って言ったんだけど,あれ,まんざら嘘でもなくて」「ああ」「モードラインの章は Emacs を構成する部品の説明だから何もコメントすることがないの」「…そうだな」「どうせだからまんざらの語源でも説明しようか?」「いや…いい」
Emacs には多くの種類のメジャーモードがあります。Lisp mode や Text mode
のように、どんなプログラム言語やどんな種類の文章を編集中かを意味するも
のもあります。いつでも必ずいずれかのメジャーモードの状態になっています。
どのメジャーモードにいるのかは、モードラインの現在は "Fundamental" と
表示している部分を見れば分ります。
各メジャーモードは幾つかのコマンドに異なる振る舞いをさせます。例えば、
プログラムリスト中にコメントを入れるためのコマンドがあります。コメント
の形式(シンタックス)は、プログラム言語によって異なり、メジャーモード
は、それに対応する言語に合った形式でコメントを挿入します。各メジャーモー
ドは拡張コマンドの名前になっています。つまりその拡張コマンドを使ってメ
ジャーモードを切り換えるのです。例えば、M-x fundamental-mode というの
は Fundamental モードに切り換えるためのコマンドです。
もし、通常の英語や日本語の文章(このファイルのような)を編集するのなら
ば、Text mode を使いましょう。
>> M-x text-mode <Return> とタイプしてみて下さい。
「メジャーモードって難しそうな名前ついてるけど,大抵はファイル開けばそれに適したモードに設定してくれる」「ふむ」
「ねえ」「何だ」「Lisp って単語が出てきたから Bernard Greenberg の話をしたくなった」「…我慢できないか?」「できない」「…目が本気だな。じゃあしょうがない」
「まず Emacs は編集機能のついた Lisp マシンなんだけど」「唐突すぎてわからんぞ」「Emacs にとって Lisp 言語はオマケじゃなくて,Emacs の中身はほとんど Lisp で書かれてるの。工場で作られた製品を自分好みにするのは限界があるけど,3D プリンタがあれば設計図次第で何でも作れるじゃん,ていう逆転の発想したのが Emacs」
「ふむ。Lisp マシンが今のたとえでいう 3D プリンタだな?」「そう。それで,あまり知られてないんだけど,その発想を最初に実現したのが Greenberg って人。今の Emacs 作った人じゃない」「ほう」「Unix が作られるきっかけになった Multics っていうシステムにそのアイデアを実装したんだよ」「偉人だな」「でも Greenberg 自身がDaniel Weinrebのほうが先だって言ってるから最初ってのは間違い」
「え。じゃあなんで君は Greenberg の話を?」「私の好きなBeatWordっていうワープロソフトの開発してたから」「どんなワープロなんだ」「一枚の紙に縦書きの文章と横書きの文章を自由に配置できるんだよ。訓練されたエクセル職人じゃないとできないやつ」「ああ…」「私の好きなプログラムを築いた人だからどうしても言いたかったんだ。ごめんね」「謝ることはないさ。プログラマーはその偉大さのわりに,それに見合った評価が得られていないからな。これからも遠慮なく言うといい」「ありがと」
心配しないで。これまで学んだコマンドはたいして変わりませんから。だけど、
M-f や M-b がアポストロフィ "'" を単語の一部だと解釈するようになったの
が分るでしょう。以前の Fundamental モードでは M-f や M-b は "'" を単語
の区切りと見なしていました。
メジャーモードはこのように些細な違いを生みます。大概のコマンドはどのメ
ジャーモードでも同じ働きをしますが、実際の動きは少しだけことなるのです。
現在のメジャーモードについての説明文を見るには C-h m とタイプします。
** C-h m has been rebound, but you can use <f1> m instead [More] **
>> C-u C-v を一二度やってこの行を画面の上の方に持っていきましょう。
>> C-h m とタイプし、Text mode と Fundamental mode の違いをみましょう。
>> C-x 1 で Text mode の説明文を画面から消しましょう。
「C-v って一画面下にスクロールさせるじゃん」「ああ」「どうして C-u C-v で少しずつしかスクロールしないんだろうと思ったんだけど」「ふむ」「前にやってた」「はぁ?」「忘れてた」「おい!復習大事って言ったのは君だろう?」「すみません」
「また始めからやりなおすか」「Iyadesu. Zettai, Iyadesu.」
参考: ジョブズがデスクアクセサリ『計算機』のデザインをしたという逸話は『レボリューション・イン・ザ・バレー』『Mac 再発見の旅』などで触れられています。
(c) 2018 jamcha (jamcha.aa@gmail.com). (c) 1985, 1996, 1998, 2001-2018 Free Software Foundation, Inc.