Emacs: diredでファイルをリネームするときの省力化
Rキー押下したときにカーソル下にあるファイル名をkill-ringへ保存する。
(defun file-path-leaf (orgfname)
(if (string-match "/\\([^/]+\\)$" orgfname)
(substring orgfname (match-beginning 1) (match-end 1))
orgfname))
(defun dired-do-rename-with-fname (oldfunc &optional args)
(unless args
(kill-new (file-path-leaf (dired-get-filename))))
(apply oldfunc args))
(advice-add 'dired-do-rename :around 'dired-do-rename-with-fname)
Ctrl-yでファイル名を入力できるので少し楽になる。