Emacs が動いているときには, Emacs のプログラムや編集中のテキスト (文書) はメモリにあります。 Emacs がテキストを保持するために使うメモリ内の領域を, Emacs の用語でバッファ (buffer) といいます。
メモリに対するデータの読み書きは高速に行えますが, メモリの容量は比較的小さく, メモリ内のデータはコンピュータを停止すると消えてしまいます。 そのため,メモリはデータの永続的な保存には使えません。
さて,Emacs のウィンドウに表示されるテキストは, ファイルではなく,バッファの内容です。 したがって,Emacs でファイルを作成・編集するには, まず,そのためのバッファを用意する必要があります。 これを行うのが File -> Open File... (C-x C-f) です。 この操作ではファイル名を入力しますが, その名のファイルが存在しなければ,同名の空のバッファが用意されます (第 3.1 節 ファイルの新規作成)。 ファイルが存在すれば,ファイルは同名のバッファに読み込まれます (第 3.2節 既存ファイルの編集)。 なお,バッファに読み込まれるのはファイルの内容のコピーですから, ファイルを読み込んでも元のファイルが無くなる訳ではありません。
Emacs を終了するとバッファは消えるので, 保存したいバッファの内容はファイルに入れる必要があります。 それをするのが File -> Save (current buffer) (C-x C-s) です。
編集中のバッファが保存済かどうかは,
モード行 (下から 2 行目) におけるバッファ名の左側の表示でわかります。
ここが --
から **
に変わったら,
バッファとファイルの内容に違いが生じたこと,
すなわち,バッファの内容を変更したのに未保存であることを表しています。
では,上記のことを確認するために, 以下の操作を行いましょう。
emacs &
と打って起動してください。
commands をバッファに読み込んでいなければ,
読み込む操作をしてください。
File -> Close (current buffer)を実行してください。
バッファを消してもファイルは消えませんね。
ファイル commands を再度バッファに読み込んでください。
--
であることを確認してから,
バッファ (Emacs のウィンドウ) 3 行目の cat の説明を
cat - concatenate and print filesに変更してください。
モード行の表示が ** に変わりましたね。
バッファの内容を変更しただけでは,ファイルは変わりません。
モード行の表示が - になりましたね。 バッファとファイルの内容が同じになりました。