カレントプロジェクトに属するファイルをvisitします(project-find-file
)。
カレントプロジェクトに属するすべてのファイルにたいしてregexpにたいするマッチを検索します(project-find-regexp
)。
カレントプロジェクトに属するすべてのファイルにたいしてインタラクティブにregexpにたいするマッチを検索します。
カレントプロジェクトに属するすべてのファイルにたいして、regexpにたいする問い合わせつき置換を行います(project-query-replace-regexp
)。
カレントプロジェクトのルートディレクトリーにたいしてDiredを実行します(project-dired
)。
カレントプロジェクトのルートディレクトリーでvc-dir
を実行します(project-vc-dir
)。
カレントプロジェクトのルートディレクトリーで下位シェルを開始します(project-shell
)。
カレントプロジェクトのルートディレクトリーでEshellを開始します(project-eshell
)。
カレントプロジェクトのルートディレクトリーでコンパイルを実行します(project-compile
)。
カレントプロジェクトのルートディレクトリーでシェルコマンドを実行します(project-shell-command
)。
カレントプロジェクトのルートディレクトリーでシェルコマンドを非同期に実行します(project-async-shell-command
)。
カレントプロジェクトでシェルコマンドを実行します(project-any-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-searchはproject-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
を実行します。
最後にコマンドC-x p o
(project-any-command
)は次にタイプしたコマンドをカレントプロジェクトで実行します。