2007年12月30日日曜日

Emacsでファイル情報を表示させる

Emacsでカレントバッファで開いているファイルのプロパティというかタイムスタンプを見てみたくなったので、軽くでっちあげてみた。

~/.emacsに以下を追記。

;;;; File-Info - ファイル情報
;;;====================================
;;; 2007年12月29日(土曜日) 21:07:43 JST
;;; カレントバッファのファイル情報を表示する。
(defun file-info () "
カレントバッファのファイル情報を表示する。"
(interactive)
(if (buffer-file-name (current-buffer))
(progn
(let* ((file-name (buffer-file-name (current-buffer)))
(f-attr (file-attributes file-name))
(a-time (nth 4 f-attr)) ; 最終アクセス時刻
(m-time (nth 5 f-attr)) ; 最終修正時刻
(f-size (nth 7 f-attr)) ; ファイルサイズ
(f-mode (nth 8 f-attr)) ; ファイル属性
(mes1 (format "ファイルパス: %s\n" file-name))
(mes2 (format "最終参照時刻: %s\n"
(format-time-string
"%Y-%m-%d %H:%M:%S" a-time)))
(mes3 (format "最終修正時刻: %s\n"
(format-time-string
"%Y-%m-%d %H:%M:%S" m-time)))
(mes4 (format "ファイルサイズ: %s byte\n" f-size))
(mes5 (format "ファイル属性: %s" f-mode))
(mess (concat mes1 mes2 mes3 mes4 mes5)))
(message "%s" mess)))
nil ))

(global-set-key "\C-ci" 'file-info) ; file情報を表示する。
これでM-x file-infoC-c i でカレントバッファの絶対パス最終アクセス時刻最終修正時刻ファイルサイズ、がミニバッファに表示される。

作ってから思ったけど、なんか意味あるのかなこれ・・・orz
ファイルのタイムスタンプが知りたくて書いてみたんだけど。まあいいかw

  • 20080112追記
    ファイル属性も表示するように変更してみた。

3 件のコメント:

golconda さんのコメント...

そんなときは、C-x C-jで
diredにいきまっす。

ayukawa さんのコメント...

うちではDDSKKが立ち上がってしまいます。調べたら、dired-jumpですか?
知らなかったorz
でもこれディレクトリに飛ぶんですね。該当ファイルだけを表示したいな・・・

匿名 さんのコメント...

重宝してます、ありがとうございます。