13 - 見るもの統べて
「統 (す) べて」「フリガナつけないと読めないようなタイトルにするなよ…」「だって適当に変換したらかっこよかったんだもん」「…最初は『全て』にするつもりだったんだな?」「うん。skkで変換位置まちがえたんだけど,かえって深い意味ありそうな名前になった」「意味ないのか…」「実は多少ある」「ほう」
「なんと!前回は C-x C-f と C-x C-s の 2 つのコマンド紹介だけで終わってしまいました!」「…」「ぱちぱちぱちー」「もっとサクサク進まんのか」「私も進めたい…」「おい」「でもくだらない話をしないと頭がおかしくなってしんじゃう…」「も,もしや君はすでにアポクリファに…」
「…」「おい,真顔になるなよ…」「…」「私がつまらないこと言ってるみたいだろ…」「私と関わるときは常に刃を向けられていると心がけよ」「…はい」
*バッファ
==========
2つ目のファイルを C-x C-f で開いても、最初のファイルは Emacs 内部に残っ
たままです。そっちのファイルに戻るにはもう一度 C-x C-f でそのファイル
を開けばよいのです。こうやって、幾つものファイルを Emacs で開くことが
できます。
>> "foo" という名のファイルを作りましょう。C-x C-f foo <Return> です。
何か文章を入れ、編集し、C-x C-s で "foo" をセーブして下さい。
最後に C-x C-f TUTORIAL.ja <Return> とタイプし
入門ガイドに戻りましょう。
「英語版と中国語版だと foo ファイルは後で作るようになってる」「ほう」「重要なのはこの次から」「おう」
「そういえば foo とか hoge って慣れないうちは結構ひっかかる名前だよね」「どういうことだ?」「プログラミング勉強しようってときに,『インストール先は/home/foo 』とか。それで『そのようなディレクトリはありません』って返ってきてわからないからつまんなくなって電源切ってコタツでミカン食べる」「こたつは知らないが,変数という概念を理解していないうちは難しいだろうな」「このチュートリアルは自分の Emacs 環境にあわせて記述を変えてくれるから親切」「ありがたい」
Emacs はファイルの内容をバッファ(buffer)と呼ばれるものの中に格納して
います。ファイルを開くと新しいバッファができます。Emacs が現在持ってい
るバッファのリストを見るには、次のようにタイプします。
C-x C-b バッファのリストを見る
>> C-x C-b を試してみましょう。
各バッファがどんな名前になっているか、それが開いているファイルの名前が
どうなっているか見て下さい。Emacs のウィンドウ内にある文章はどれも、い
ずれかのバッファの一部です。
>> C-x 1 とタイプしてバッファリストを消しましょう。
「Emacs は開いたファイルは閉じるまで全部ひらきっぱなし」「ほう」「C-x C-b で一覧することもできるけど,タブ表示するパッケージもあります (tabbar)」
「ファイルとバッファの違いについて教えてくれないか?」「ええと,バッファは情報を展開している『状態』をいいます」「ほう」「ピクニックでレジャーシート広げてるイメージ,とか」「ふむ」「ファイルが持ち物で,必要なものをシートに広げてる。この『状態』がバッファ」「なるほど」「たいていはシート一枚で足りるけど,必要なら何枚でも広げられるのがコンピュータのいいところ」「ほう」
「ここからは見るもの (バッファ) を統べる方法の紹介になります」「ここでタイトルが関わってくるわけだな」「今言わないと忘れちゃうから」
バッファが複数あっても、ある時点ではその一つだけが「現在」のバッファで
す。それはあなたが編集中のバッファです。もし他のバッファを編集したけれ
ば、そのバッファに切替えなければなりません。ファイルを開いているバッファ
に切替えるには、また C-x C-f でそのファイルを開けば良いでしょう。でも、
もっと簡単な方法もあります。C-x b コマンドです。このコマンドをタイプし
て、バッファの名前を入力すれば良いのです。
>> C-x b foo <Return> とタイプして、 "foo" というファイルを開いている
"foo" バッファに戻ってみましょう。それから C-x b TUTORIAL.ja
<Return> とタイプして、このガイドに戻りましょう。
普通は、バッファの名前とそれが開いているファイルの名前(ディレクトリ名
の部分を除いて)は同じです。例外もあります。C-x C-b で作ったバッファリ
ストは常に各バッファの名前を表示します。
「英語版と中国語版はここで C-x C-f foo <Return> でバッファを開く」「ほう」「あと,ここにも書かれてるけど,基本的には一度にひとつのバッファを編集する」「ふむ」「複数のバッファを同時に編集する方法もあるけど,歳をとるとたくさんのものを同時に扱うのが難しくなるそうなので,ご利用は計画的に」「うむ」「このへん,君は元々ひとつのものしか扱えないから安心だね」「見くびるな。たしかに私はシングルコア (Atom N270) だが,ハイパースレッディングで 2 つの仕事も同時にできるんだぞ」「…かわいい」「な,なんだ急に!」
あなたが Emacs のウィンドウで見る文章はどれも、いずれかのバッファの一
部です。バッファによっては対応するファイルが無いものもあります。例えば
"*Buffer List*" という名前のバッファにはファイルがありません。このバッ
ファはあなたが C-x C-b で作ったバッファリストを保持しているバッファで
す。"*Messages*" というバッファもファイルを持ちません。このバッファは、
Emacs が最下行に表示するメッセージを保持しています。
>> C-x b *Messages* <Return> とタイプしてメッセージのバッファを見てみ
ましょう。それから C-x b TUTORIAL.ja <Return> でこのガイドに戻って
下さい。
「Emacs 自身が作ったバッファは名前に特徴があります」「ほう」「その 1。アスタリスク (*) で挟まれている。ここでいう*Messages*とか」「ふむ」「その 2。コロン (😃 がついてる。magit: Emacs-tutorial とか」「わかった」「このバッファはセーブする必要ないので安心してね」
あるファイルの内容になんらかの変更を加え、それから他のファイルを開いて
も、最初のファイルはまだセーブされません。変更は Emacs の内部、そのファ
イルに対応するバッファの中に残ったままです。2番目のファイルのバッファ
を作ったり、編集したりしても、最初のファイルのバッファには何の影響もあ
りません。これはとても役に立ちますが、最初のファイルのバッファをセーブ
する何か便利な方法が必要だということでもあります。C-x C-s でセーブす
るために C-x C-f で元のバッファに戻るのは厄介です。そこで次のコマンド
を使います。
C-x s 何れかのバッファをセーブする
C-x s は、まだセーブしていない変更があるバッファそれぞれについて、それ
をセーブするかどうかを聞いてきます。
>> 一行文章を入力してから C-x s とタイプして下さい。
TUTORIAL.ja というバッファをセーブするかどうか聞いてくるはずです。
「はい」と答えるために "y" とタイプして下さい。
「これはどういうことだ?」「え?なにが?」「あるファイル,2 番目のファイル,最初のファイルに何をしているんだ?」「あ,わかった。説明するね」「頼む」
「C-x C-f a.txt で "a.txt" っていうバッファを作るとするでしょ」「うむ」「途中で私が何か思いついて,C-x C-f memo.txt っていうバッファを作って,何か書いて C-x C-s で保存する」「うむ」「このとき memo.txt は保存されたんだけど,a.txt はほったらかしにされたままなの,わかる?」「あ,そうか。C-x C-s が保存するのは今表示されてるバッファだけなんだな?」「そうそう。だから C-x s でまだ保存してないバッファを保存する必要があるんだよ」
「よくわかった。だが君は C-x s を使ってないな」「そのコマンド知らなかったから」「おい」「あと, 割と頻繁にセーブした方が良いでしょう だから。セーブしてバッファ移動するクセが身についてるから『保存してないよ!』って警告されることもほとんどないし」「なるほどな。こまめなセーブが重要だということか」「そのとおり」
(c) 2018 jamcha (jamcha.aa@gmail.com). (c) 1985, 1996, 1998, 2001-2018 Free Software Foundation, Inc.