web-dev-qa-db-ja.com

Emacs、現在のバッファのディレクトリを取得する方法は?

Emacsには、ファイルへの完全パスを与えるbuffer-file-nameがあります。しかし、現在のバッファーに読み込まれたファイルのディレクトリのみを取得する方法はありますか?

27
Leo Ufimtsev

default-directory変数を使用できます。

ドキュメント:現在のバッファのデフォルトディレクトリの名前。スラッシュで終わる必要があります。デフォルトのディレクトリをインタラクティブに変更するには、コマンド「cd」を使用します。

expand-file-nameはデフォルトでdefault-directoryを使用するため、言及する必要がない場合もあります。

17
abo-abo

時々 default-directory現在のバッファは、現在バッファがアクセスしているファイルの現在のディレクトリ以外に設定されている可能性があります。

そのような場合は、file-name-directoryメソッドのように:(file-name-directory buffer-file-name)

ここにドキュメントへのリンクがあります:

http://www.gnu.org/software/emacs/manual/html_node/elisp/File-Name-Components.html

27
Sandy