Emacs:ファイルパス関連
buffer-file-name
カレントバッファーのファイルパスが格納された変数。
(expand-file-name FILENAME &optional DIRECTORY)
FILENAME を絶対ファイル名に変換する。DIRECTORY が与えられると、FILENAME が相対ファイル名であれば、この値を基準にする。( DIRECTORY の値そのものは絶対ディレクトリ名であること。`~'で始まってもよい。)さもなければ、バッファの`default-directory'の値を使う。
(expand-file-name "~/.emacs.d/init.el") ;; => "/home/hoge/.emacs.d/init.el" (expand-file-name ".abbrev_defs" "~/") ;; => "/home/hoge/.abbrev_defs"
(file-name-directory FILENAME)
FILENAME のディレクトリ部分をスラッシュで終る文字列で返す。ディレクトリ部分がなければ`nil'。
(file-name-directory "/home/hoge/.emacs.d/init.el") ;; => "/home/hoge/.emacs.d/"
(file-name-nondirectory FILENAME)
FILENAME からディレクトリーパスを取り除いたファイル名を取得する。
(file-name-nondirectory "/home/hoge/.emacs.d/init.el") ;; => "init.el"
(file-name-extension FILENAME &optional PERIOD)
FILENAME から拡張子を取得する。PERIOD が non nil の場合はドットをつけて返す。
(file-name-extension "/home/hoge/.emacs.d/init.el") ;; => "el"
(file-name-sans-extension FILENAME)
FILENAME から拡張子を取り除いたファイル名を取得する。
(file-name-sans-extension "/home/hoge/.emacs.d/init.el") ;; => "/home/hoge/.emacs.d/init"