如何获取当前.el文件路径?

据个例子,将.el文件放进任意目录执行,得到.el文件所在目录。

default-directory 这个变量你可能用得上

或者

(file-name-directory (buffer-file-name))

看你具体情况

除了楼上提到的,pwd 这个命令也可以获得当前文件的目录。

load-file-name

如果不打开buffer怎么写?

综合一下就是答案了

(file-name-directory
   (or load-file-name
       (buffer-file-name)))
(defun f-this-file ()
  "Return path to this file."
  (cond
   (load-in-progress load-file-name)
   ((and (boundp 'byte-compile-current-file) byte-compile-current-file)
    byte-compile-current-file)
   (:else (buffer-file-name))))

taken from f.el

1 个赞