वहाँ एक buffer-extension है - और यह copy-buffer-file-name-as-kill
समारोह है। यह आपको यह भी पूछता है कि कॉपी करने के लिए: नाम, पूरा नाम या निर्देशिका नाम।
संपादित:
मैं buffer-extension.el
से copy-buffer-file-name-as-kill
के संस्करण संशोधित का उपयोग करें:
(defun copy-buffer-file-name-as-kill (choice)
"Copyies the buffer {name/mode}, file {name/full path/directory} to the kill-ring."
(interactive "cCopy (b) buffer name, (m) buffer major mode, (f) full buffer-file path, (d) buffer-file directory, (n) buffer-file basename")
(let ((new-kill-string)
(name (if (eq major-mode 'dired-mode)
(dired-get-filename)
(or (buffer-file-name) ""))))
(cond ((eq choice ?f)
(setq new-kill-string name))
((eq choice ?d)
(setq new-kill-string (file-name-directory name)))
((eq choice ?n)
(setq new-kill-string (file-name-nondirectory name)))
((eq choice ?b)
(setq new-kill-string (buffer-name)))
((eq choice ?m)
(setq new-kill-string (format "%s" major-mode)))
(t (message "Quit")))
(when new-kill-string
(message "%s copied" new-kill-string)
(kill-new new-kill-string))))
आप ऐसा कर सकते हैं अस्थायी बफर के बिना, का उपयोग करते हुए "को मारने के नए": (चलो ((एक्स-चयन: सक्षम-क्लिपबोर्ड टी)) (मारने-नया फ़ाइल नाम)) – sanityinc