I need to get the full path of the file that I'm editing with emacs.
- Is there a function for that?
- If not, what would be the elisp function for getting that?
- How can I copy the result (path name) to a clipboard so that I can reuse it?
I'm using Mac OS X and Aqumacs.
(setq filepath (get-fullpath-current-file)) ???
(copy-to-clipboard 'filepath) ???
ADDED
(defun show-file-name () "Show the full path file name in the minibuffer." (interactive) (message (buffer-file-name)) (kill-new (file-truename buffer-file-name)) ) (global-set-key "\C-cz" 'show-file-name)
Combining the two answers that I got, I could get what I want. Thanks for the answers. And some more questions.
- What's for (file-truename)?
- Can I copy the path name to System(OS)'s clipboard, not the kill ring so that I can use the info with the other apps?
C-u C-x C-b
lists buffers currently visiting files.It's the built-in function
buffer-file-name
that gives you the full path of your file.The best thing to do is to have your emacs window to always show your system-name and the full path of the buffer you're currently editing :
You can also do something like this :
To borrow from Jérôme Radix's answer, if you just want to quickly see the file path of the current buffer, you can do
M-: buffer-file-name
.The simplest way and would be
Borrowing from Trey Jackson I came up with this:
You can find more information on site
No need for extra function, just
My trick is to do a
C-x C-f
like to open a file, it wil prefill the minibuff with the current file path,C-g
to quit. Faster thanM-: buffer-file-name
but far far uglier than any other methods.