具有名为tilde(〜)的文件夹的路径无法通过emacs中的load-file进行识别

 Bd专业8楼nv 发布于 2022-12-18 20:59

我有一个文件夹/var/~/.在配置中.emacs我想从这个文件夹中加载一些文件.我尝试使用(load-file "/var/~/foobar.el"),但emacs提醒File error: Cannot open load file, ~/foobar.el.此外,我甚至无法打开此文件夹下的文件c-x c-f.在迷你缓冲区中,路径将自动重定向到我的家.我怎么能加载该文件夹中的文件?

1 个回答
  • 您需要重命名目录.

    load-file是一个简单的包装器load,它传递给定的文件名substitute-in-file-name.从substitute-in-file-name(强调我的)文档字符串:

    FILENAME中引用的替换环境变量.`$ FOO'其中FOO是一个环境变量名称意味着替换该变量的值.变量名应以字母而非字母,数字或下划线终止; 否则,将整个变量名称括在大括号中.

    如果出现`/〜',那么通过`/'的所有FILENAME都将被丢弃.如果出现"//",则丢弃所有包含第一个"/"的内容.

    换句话说,substitute-in-file-name扔掉之前的一切/~,变成/var/~/foo.el~/foo.el.

    我完全没有看到这种行为的任何原因,但它就是它,你不能(轻松地)解决它,所以重命名是摆脱这种困境的最好方法.

    无论如何,这是合理的事情.~在Unix系统上使用as directory name是个坏主意,不仅仅是针对Emacs.

    2022-12-18 21:05 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有