假设我在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 次 |
| 最近记录: |