Copy buffer-name with easy-kill
easy-kill Emacs package allows killing multiple things, switching between them on the fly. I use it to quickly grab the buffer-file-name (full path or file name only), using {M-w b}.
- github
- leoliu/easy-kill
Keybindings:
- {M-w} without active region
- copy current line, same as {x y} in meow-normal-mode
- {M-w C-w} without active region
- kill current line, same as {x s} in meow-normal-mode
- {M-w b}
- copy current full path to buffer-file-name
- {M-w b 0}
- copy current buffer-file-name
- {M-w b -}
- copy current directory
On <2026-06-04 Thu> I added {M-w B} to copy current buffer-name, useful to paste into Claude Code (running under ghostel for me).
Here's the configuration block:
(use-package easy-kill
:config
(keymap-global-set "<remap> <kill-ring-save>" #'easy-kill)
(defun easy-kill-on-buffer-name (_n)
"Get current `buffer-name'."
(if (easy-kill-get mark)
(easy-kill-echo "Not supported in `easy-mark'")
(easy-kill-adjust-candidate 'buffer-name (buffer-name))))
(add-to-list 'easy-kill-alist '(?B buffer-name)))
- Define function
easy-kill-on-buffer-name. - Add binding to 'easy-kill-alist.
