Emacs:确定文件中的位置

cri*_*ito 2 emacs bookmarks

说我一直在浏览emacs中的源文件,我注意到了一些我想引起同事注意的事情.是否有一种简单的方法(即命令)来获取点的文件名和位置,例如,如果我在foo.cpp中的第21行

c:\temp\foo.cpp:21
Run Code Online (Sandbox Code Playgroud)

Tre*_*son 5

这个功能做你想要的.它将信息显示为消息,并将其添加到kill-ring(以便轻松粘贴).

(defun get-file-line ()
  "show (and set kill-ring) current file and line"
  (interactive)
  (unless (buffer-file-name)
    (error "No file for buffer %s" (buffer-name)))
  (let ((msg (format "%s:%d"
                     (file-truename (buffer-file-name))
                     (line-number-at-pos))))
    (kill-new msg)
    (message msg)))
Run Code Online (Sandbox Code Playgroud)