我想问一下如何从Lisp的交互式命令中获取文件名。
顺便说一句,这是从另一个stackoverflow线程获取的。
(defun markdown-insert-clipboard-image (&optional file)
(interactive "G")
(shell-command (concat "pngpaste " file))
(insert (concat "![" file "](" file ")")))
我的问题是文件使用绝对路径而不只是文件名,这导致文件在推送到服务器时出现错误。
我得到的不只是yahoocom.png
/Users/test/test/test/test/yahoocom.png
我只想得到
yahoocom.png
无论如何,我可以修改代码,使其仅使用文件名。
我认为您正在寻找的是file-name-nondirectory
:
返回文件名FILENAME不在其目录中。例如,在Unix语法文件名中,这是最后一个斜杠之后的所有内容;如果不包含任何斜杠,则为完整名称。
请注意,你可能不希望将基本名称传递到shell-command
(使用原始的绝对路径或file-relative-name
)
PS。我建议您在表格中替换"G"
为"fImage file name: "
,interactive
因为如果的file
功能不存在,则该功能将失败。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句