ファイルの更新日時をyankにコピー
もしかしたら誰かの役に立つかもしれないので、今日もlispを1つ。
ファイルの更新日時をyankにコピーするlispです。
設定方法。以下のlispを.xyzzyにコピーする。現在はCtrl-wとCtrl-Alt-wにバインドしているので、お好みのキーにバインドしなおす。以上。
使用方法。ファイラを表示して任意のファイルを選択。Ctrl-w(もしくはCtrl-Alt-w)。ファイラを閉じる。更新日時を挿入したい場所でCtrl-y。ファイルの更新日時が挿入されるはず。
(define-key filer-keymap #\C-w #'(lambda () (interactive) (get-mod t))) (define-key filer-keymap #\C-M-w #'(lambda () (interactive) (get-mod nil))) (defun get-mod (fullp) ; 選択ファイルの更新日時をヤンクバッファにコピーする ; fullp t: ファイル名フルパス nil: ファイル名のみ (let ( (yank-buf "") (line "") (time-format "%y/%m/%d %H:%M:%S") ) (dolist (file (filer-get-mark-files)) (setq line (format nil "~A\t~A" (if fullp file (substitute-string file ".*/" "")) (format-date-string time-format (file-write-time file)))) (setq yank-buf (concat yank-buf line "\n"))) (setq *clipboard-newer-than-kill-ring-p* nil *kill-ring-newer-than-clipboard-p* t) (ed::kill-new yank-buf)))