17 - マイナーも厚い壁
メジャーモードが「メジャー」というからには「マイナーモード」もあります。
マイナーモードはメジャーモードの代わりになるものではなく、それをちょっ
とだけ修正するものです。各マイナーモードは、メジャーモードや他のマイナー
モードに影響を与えずに、それだけをオンオフできます。つまり、マイナーモー
ドを全く使わなかったり、一個だけ使ったり、いくつかを同時に使ったりでき
るのです。
「私のマイナーモード!」「auto-org-mdだな」「私はorg-modeで文章書いてるんだけど,当時 GitHub は org モードに対応してなくて,いちいち C-c C-e m m で markdown に変換する必要があったんだ。でもそれが面倒だから,セーブするごとに出力してくれるといいな,と思ったのがきっかけ」「ああ」「ほとんど初めての lisp プログラムだったけど,melpa のレビュアーの人たちがすごく親切だったから形になった。ありがとうございます」「本当にありがたいことだ」
通常の文章を編集している時にとても便利なマイナーモードの一つにオートフィ
ル(Auto Fill)モードというのがあります。このモードがオンの時に文章を
入力していって行を長くしすぎた場合、自動的に単語と単語の間で行が分割さ
れます(日本語の場合はどの文字の間でも。禁則処理もなされます)。
Auto Fill モードは M-x auto-fill-mode <Return> とやればオンにできます。
それがオンの状態で M-x auto-fill-mode <Return> とやれがオフにできます。
このコマンドは、モードがオフならオンに、オンならオフにするのです。こう
いうのを「モードをトグルする」と言います。
>> M-x auto-fill-mode <Return> とタイプして、 "asdf " で始まる行を入力
して下さい。行が分割されるまで何度も "asdf " とタイプしましょう。ス
ペースを忘れずに。Auto Fill はスペースが入力された時のみ働きます。
右マージンは通常 70 文字(カラム)ですが、C-x f コマンドでこれを変更す
ることができます。指定の文字数を数値引数として与えます。
>> 数値引数 20 で C-x f をやりましょう。 (C-u 2 0 C-x f)。
それから適当な文章(英語)を入力し、20 文字で行が分割されるのを見て
みましょう。それから C-x f コマンドでまたマージンを 70 文字に戻して
下さい。
「トグルは Emacs の専門用語じゃなくてトグルスイッチからきてます」「トグルスイッチ」「ブレーカーのスイッチみたいに,壁から飛び出た棒を上下すると電源がオンオフされる仕組みのスイッチ」「わかった」
「Auto Fill が役立つのは自前で文書を公開するときとか,かな?こういうチュートリアルもそう」「ほう」「GitHub とか GitBook は何もしなくても大体の長さで折り返してくれるからお手軽です」
「ふむ,ところで君が会話文で改行しないのはなぜだ?」「いつか聞かれると思った。理由は三つ。まず話すごとに改行してると誰が言ってるのかわからなくなる」「誰が」「私が」「お…おう。じゃあ,カッコの前にキャラ名つければわかるんじゃないか?」「脚本みたいに?」「そうだ」「それが二つめの理由なんだけど,脚本とか TRPG のログみたいで物語読んでる感じがしない」「誰が」「私が」「ほ…ほう…。じゃあ三つめは?」「markdown は改行もインデントも反映してくれないから」
「インデントはしてくれないが改行はしてくれるぞ」「え」「改行したあとに,半角スペース 2 個入れてみろ」
「…」
「な?」
「…うん」
「まさか知らなかったのか?」
「…うん」
「…すまん。私がもっと早く伝えておくべきだった。君の独自表現だと思って…」
「君のせいじゃないよ。私が無知だったから…。GitHub で小説なんてなまいきなことしてさ…」
「…これ,今後も使っていくのか」「使わない。もう引き返せない。これが私のスタイルだから」「あ…そう」
パラグラフの途中を変更しても Auto Fill モードはそれを自動的にフィルし
直しはしません。
パラグラフをフィルし直すにはカーソルをそのパラグラフの中に置いてから
M-q をタイプします。
>> カーソルをこの行直前のパラグラフに移動させ M-q とタイプして下さい。
「TeX ではお世話になりました」「どういう意味だ」「長い段落の文章書いても,M-q でキッチリ揃えてくれるから達成感が得られた。でも pdf とか epub に変換したり,Web に出力するときには足かせになることがあるので,ご利用は計画的に」「たとえば?」「org-mode の機能を使って html に変換すると,改行した部分にスペースが入っちゃう」「それは困るな」「だからウインドウの横幅を決めて改行しないようにした」
「特別企画!リーナスの謎!」「…そんな予定あったか?」「本日の試合は終了したため,現在,特別番組をご覧いただいております」「…」「Linux と Git 作ったリーナス・トーバルズって知ってるでしょ」「もちろん」「私に手足の使い方を教えた人」「すごい表現だな」「リーナスはuEmacs/PKっていう Emacs を使ってるらしいんだけど」「色々ある Emacs のひとつだな」「うん。それが本当なのか知りたくて」「本人が言っているのに疑うのか…?」「だって最後の更新が 20 年以上前なんだもん」「ふむ」「他のインタビューだと,使ってるツールにブラウザと Git 端末は挙げられてたけど,uEmacs/PK はあげられてなかったし」
「それで,どうだったんだ」「uEmacs/PK!使ってました!」「おお」「映画にありがちな超高速タイピングじゃないところもかっこいい」
(c) 2018 jamcha (jamcha.aa@gmail.com). (c) 1985, 1996, 1998, 2001-2018 Free Software Foundation, Inc.