Emacs ファイル操作
100%

高度なテキスト操作 · レッスン 10

Emacs ファイル操作

Emacs でファイルを開く、保存する、別名で保存する、ディスクから読み直す、ファイルバッファーを確認する方法を学びます。

Emacs はファイルをバッファーで開きます。編集ではまずバッファーが変わり、保存すると現在の内容が関連付けられたパス名へ書き込まれます。パーミッション、競合するディスク上の変更、そのほかのエラーで書き込みに失敗することがあるため、ミニバッファーのメッセージを読んでください。

ファイルを開く

find-file を実行する C-x C-f を使い、ミニバッファーへパス名を入力して Enter を押します。

C-x C-f

Emacs は、読み取り可能な既存ファイルをバッファーで開きます。パス名が存在しない場合は、新しいファイルを開くバッファーを準備します。後者の場合、保存に成功するまでディスク上にファイルは存在しません。

パス名の入力中は Tab 補完を使えます。ディレクトリを開くと、通常はテキストファイルとして扱わず、Emacs のディレクトリエディタである Dired が開きます。

パス名の入力を求め、そのファイルを開く Emacs のキーシーケンスはどれですか?

C-x C-f で存在しないパス名を開いた場合、通常、ディスク上のファイルはいつ作成されますか?

現在のバッファーを保存する

save-buffer を実行する C-x C-s で、現在のファイルバッファーを保存します。

C-x C-s

バッファーに関連付けられたファイル名がなければ、Emacs が入力を求めます。書き込みに成功するとバッファーの変更済み表示が消え、失敗すると未保存のデータはバッファーに残り、エラーが報告されます。

現在のファイルバッファーを保存するキーシーケンスはどれですか?

別の名前で書き込む

write-file を実行する C-x C-w でパス名の入力を求め、そこへバッファーを書き込み、その新しいファイルを開くバッファーにします。

C-x C-w

これが Emacs の「名前を付けて保存」の動作です。別のコピーを書き込んだ後も元のパス名を開き続ける操作とは異なります。

現在のバッファーで通常の「名前を付けて保存」を行うキーシーケンスはどれですか?

複数の変更済みバッファーを確認する

save-some-buffers を実行する C-x s で、変更済みのファイルバッファーを調べます。

C-x s

通常、Emacs は対象となる変更済みバッファーごとに保存するか尋ねます。バッファー名を読み、意図的に回答してください。確認なしですべてを保存するショートカットではありません。

通常、C-x s は何をしますか?

ディスクから読み直す

ファイルがディスク上で変更され、現在のバッファー内容を意図的に破棄する場合は、M-x revert-buffer を実行し、確認プロンプトをよく読んでください。読み直すと未保存のバッファー編集を失うことがあるため、どちらの内容を採用するか確認してから使います。

決める前に比較するには、別のコピーを保存するか、バージョン管理や diff ツールを利用します。バッファーが変更済みの場合、再読み込み操作を無害なものとして扱わないでください。

レッスン完了

Emacs ファイル操作 を完了しました

これで、ファイルを開く操作と書き込む操作を混同せず、ファイルバッファーを管理できるようになりました。

  • C-x C-f でパス名を開く。

  • 存在しないファイルは、バッファーを保存したときにだけ作成する。

  • C-x C-s で現在のバッファーを保存する。

  • C-x C-w で新しい名前へ保存し、そのファイルを開く。

  • C-x s で複数の変更済みバッファーを確認する。

学習進捗を保存

無料アカウントを作成してこのレッスンを保存し、どのデバイスからでも学習を続けられます。

無料アカウントを作成
次のレッスン
高度なテキスト操作 に戻る