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でファイル名を入力できるので少し楽になる。

いいなと思ったら応援しよう!