假设我在Emacs中编辑了t.txt
我的主目录中的文件.然后
ESC-: buffer-file-name
生成/Home/fcihh/t.txt
如何从中提取文件名部分t.txt
?
根据这个链接,我以为我应该可以写
ESC-: (file-name-base buffer-file-name)
.但这会产生错误
Lisp error: (void-function file-name-base)
Run Code Online (Sandbox Code Playgroud)
我在Ubuntu 12.04上使用GNU Emacs 23.3.1.
不幸的是file-name-base
已经在Emacs 24中引入了.这是它的定义,来自lisp/files.el
:
(defun file-name-base (&optional filename)
"Return the base name of the FILENAME: no directory, no extension.
FILENAME defaults to `buffer-file-name'."
(file-name-sans-extension
(file-name-nondirectory (or filename (buffer-file-name)))))
Run Code Online (Sandbox Code Playgroud)
双方file-name-sans-extension
并file-name-nondirectory
应在Emacs 23可用.
如果您想要带扩展名的基本名称,您只需要file-name-nondirectory
.
归档时间: |
|
查看次数: |
1526 次 |
最近记录: |