Next: , Up: プロジェクトで作業する   [Contents][Index]


29.2.1 ファイルを操作するプロジェクトコマンド

C-x p f

msgid "Visit a file that belongs to the current project ." カレントプロジェクトに属するファイルをvisitします(project-find-file)。

C-x p g

カレントプロジェクトに属するすべてのファイルにたいしてregexpにたいするマッチを検索します(project-find-regexp)。

M-x project-search

カレントプロジェクトに属するすべてのファイルにたいしてインタラクティブにregexpにたいするマッチを検索します。

C-x p r

カレントプロジェクトに属するすべてのファイルにたいして、regexpにたいする問い合わせつき置換を行います(project-query-replace-regexp)。

C-x p d

カレントプロジェクトのルートディレクトリーにたいしてDiredを実行します(project-dired)。

C-x p v

カレントプロジェクトのルートディレクトリーでvc-dirを実行します(project-vc-dir)。

C-x p s

カレントプロジェクトのルートディレクトリーで下位シェルを開始します(project-shell)。

C-x p e

カレントプロジェクトのルートディレクトリーでEshellを開始します(project-eshell)。

C-x p c

カレントプロジェクトのルートディレクトリーでコンパイルを実行します(project-compile)。

C-x p !

カレントプロジェクトのルートディレクトリーでシェルコマンドを実行します(project-shell-command)。

C-x p &

カレントプロジェクトのルートディレクトリーでシェルコマンドを非同期に実行します(project-async-shell-command)。

Emacsはプロジェクトファイルを手軽に扱うためのコマンドを提供します。このサブセクションではそれらのコマンドについて説明します。

ここで説明するすべてのコマンドはカレントプロジェクト(current project)という概念を共有します。カレントプロジェクトはコマンド呼び出し時にカレントだったバッファーのdefault-directory (ファイルの名前を参照)により判断されます。そのディレクトリーが認識可能なプロジェクトに属していないようなら、これらのコマンドはプロジェクトディレクトリーの入力を求めます。

コマンドC-x p f (project-find-file)はカレントプロジェクトに属するファイルをvisit(ファイルのvisit(訪問)を参照)する手軽な手段です。C-x C-fとは異なり、このコマンドはvisitするファイルの完全な名前のタイプを要求せず、ファイルのベース名(先頭のディレクトリー部分を省略)だけでタイプできます。それに加えてコマンドが補完候補とみなすのはカレントプロジェクトに属するファイルだけであり、それ以外は含まれません。ポイント位置にファイル名があれば、このコマンドは“将来のヒストリー(future history)”の最初の要素としてそのファイルを提案します。プレフィックス引数が与えられた場合には、vc-directory-exclusion-listにリストされているVCSディレクトリーを除く、プロジェクトルート配下のすべてのファイルが含められます。

コマンドC-x p g (project-find-regexp)はrgrep (Emacs下でのGrepによる検索を参照)と似ていますが、カレントプロジェクトに属するファイルだけを検索します。このコマンドは検索する正規表現の入力を求めて、検索結果をXrefモードのコマンドを使用してマッチの選択が可能なXrefモードのバッファーでポップアップします。このコマンドをプレフィクス引数とともに呼び出した際には、検索を開始するベースディレクトリーの入力を追加で求めます。これはたとえばプロジェクトルートの特定のサブディレクトリー配下のファイルに検索を制限することを可能にします。このコマンドがマッチを表示する方法はxref-auto-jump-to-first-xrefの値の影響を受けます(識別子の検索と置換を参照)。

M-x project-searchproject-find-regexpの一連の変種です。これはカレントプロジェクトのファイルを検索するために正規表現の入力を求めますが、すべてのマッチを探して表示するかわりに、マッチしたファイルを編集できるようにマッチを見つけたら停止してマッチしたファイルのマッチしたlocusをvisitします。マッチの残りを探すにはM-x fileloop-continue RETとタイプしてください。

C-x p r (project-query-replace-regexp)はproject-searchと似ていますが、query-replace (問い合わせつき置換を参照)が行うように見つかったそれぞれのマッチにたいして置き換えるかどうかを尋ねて、それに応答した後は次のマッチへと継続します。その応答によりEmacsがquery-replaceループをexitしてしまったら、M-x fileloop-continue RETで後から継続することができます。

コマンドC-x p d (project-dired)は補完付きでカレントプロジェクト内部のディレクトリーの選択を求めます。そしてその中にあるファイルをリストするDiredバッファー(Dired (ディレクトリーエディター)を参照)をオープンします。

コマンドC-x p D (project-dired)はカレントプロジェクトのルートディレクトリーのファイルをリストするDiredバッファー(Dired (ディレクトリーエディター)を参照)をオープンします。

コマンドC-x p v (project-vc-dir)はカレントプロジェクトのルートディレクトリー配下にあるディレクトリーツリー内のファイルのバージョンコントロール状態をリストするVC Directoryバッファー(VC Directoryモードを参照)をオープンします。

コマンドC-x p s (project-shell)はカレントプロジェクトのルートディレクトリーを作業ディレクトリーとするシェルセッション(Emacsからのシェルコマンドの実行を参照)を新たなバッファーで開始します。

コマンドC-x p e (project-eshell)はカレントプロジェクトのルートディレクトリーを作業ディレクトリーとするEshellセッションを新たなバッファーで開始します。Eshell in Eshell: The Emacs Shellを参照してください。

コマンドC-x p c (project-compile)はカレントプロジェクトのルートディレクトリーでコンパイル(Emacs下でのコンパイルの実行を参照)を実行します。

コマンドC-x p ! (project-shell-command)はカレントプロジェクトのルートディレクトリーでshell-commandを実行します。

コマンドC-x p & (project-async-shell-command)はカレントプロジェクトのルートディレクトリーでasync-shell-commandを実行します。