据个例子,将.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 个赞