Next: , Previous: , Up: ファイルの処理   [Contents][Index]


19.12 その他のファイル操作

Emacsには、ファイルを操作する他のコマンドがたくさん存在します。それらはすべて1つのファイルを操作します。ファイル名にワイルドカードは指定できません。

M-x delete-fileはファイルの入力を求め、そのファイルを削除します。1つのディレクトリーにある、複数のファイルを削除する場合、delete-fileよりDiredを使う方が便利でしょう。Diredでのファイルの削除についてを参照してください。

M-x move-file-to-trashは、ファイルをシステムのTrash(またはRecycle Bin)に移動します。この機能は、ほとんどのオペレーティングシステムで利用可能です。Trashに移動されたファイルは、後で気が変わったとき元に戻すことができます(trashに移動されたファイルのリストアはシステムに依存する)。

デフォルトでは、Emacsの削除コマンドはTrashを使いません。一般的な削除コマンドでTrash(それが利用可能な場合)を使うには、変数delete-by-moving-to-trashtに変更します。これはコマンドM-x delete-fileM-x delete-directory (ファイルディレクトリーを参照してください)、およびDired (Diredでのファイルの削除についてを参照してください)の削除コマンドに影響を与えます。M-x delete-fileおよびM-x delete-directoryにプレフィクス引数を与えると、delete-by-moving-to-trashの値にかかわらず、Trashを使わずに完全に削除します。

もしdelete-by-moving-to-trashをセットしていてEmacsでTrashディレクトリーから手作業でファイルを削除する場合には、TrashディレクトリーではD (dired-do-delete)のようなコマンドを使ってもうまく動作しません(単に新たな名前をファイルに与えるだけで何も削除しない)。削除できるようにするには、以下のような内容を含んだ.dir-locals.elをTrashディレクトリーに作成する必要があります:

((dired-mode . ((delete-by-moving-to-trash . nil))))

ただしシステムの“empty trash(ごみ箱を空にする)”コマンドを使うとこの.dir-locals.elファイルも削除されてしまうので、手作業でTrashディレクトリーからファイルを削除する場合のみ行う必要があることに注意してください。

ファイルがバージョンコントロール(バージョンコントロールを参照してください)の配下にある時は、M-x delete-fileのかわりにM-x vc-delete-fileを使って、ファイルを削除します。バージョンコントロールされたファイルの削除とリネームを参照してください。

M-x insert-file(C-x iも)は、指定したファイルの内容のコピーを、現在のポイント位置に挿入し、ポイントの位置は変更せずに挿入された内容の前に残します。挿入した内容の後の位置はマークリングに追加され、マークは非アクティブになります(マークリングを参照してください)。

M-x insert-file-literallyM-x insert-fileと同様ですが、ファイルはliterally(そのまま)挿入されます。つまりM-x find-file-literallyコマンド(ファイルのvisit(訪問)を参照してください)と同様に、特別なエンコーディングや変換なしに、ASCII文字の並びとして扱われます。

M-x write-regionM-x insert-fileの逆です。このコマンドはリージョンの内容を、指定されたファイルにコピーします。M-x append-to-fileはリージョンのテキストを、指定されたファイルの末尾に加えます。テキストの追加を参照してください。変数write-region-inhibit-fsyncの値は、これらのコマンドおよびファイルの保存に影響を与えます。ファイル保存のカスタマイズを参照してください。

M-x set-file-modesはファイル名と、その後にファイルモード(file mode)を読み込んで、指定されたファイルにそのファイルモードを適用します。ファイルモード(またはファイルパーミッション(file permissions)とも呼ばれます)は、ファイルが読み込み可能か、書き込み可能か、実行可能か、そしてそれは誰にたいしてなのかを決定します。このコマンドは、chmodコマンドに指定する形式の、シンボルまたは8進のファイルモードを読み取ります。たとえば‘u+x’は、そのファイルを所有するユーザーに実行可能の権限を追加することを意味します。ファイルモードをサポートしないオペレーティングシステムでは、効果はありません。chmodはこの関数の便利なエイリアスです。