emacs/elisp 加载时的安装文件

emacs/elisp 加载时的安装文件

我发现 elisp(emacs elisp)似乎无法读取 .bashrc,因为 PATH 变量与 .bashrc 中设置的不同,正如我在这里我尝试在 elisp 中使用“source .bashrc”加载 .bashrc,但是当我这样做时,elisp 就退出了。

  • elisp 在加载时读取哪些文件?
  • 有什么方法可以使用我在 .bashrc 中所做的设置(别名、PATH 等)?

解决方案

Gilles 给了我一个很好的答案,有了 PATH,就取决于我如何启动 Aquamcs。

  • 当我单击按钮启动 Aquamacs 时,它有不同的 PATH。
  • 当我从命令行运行“aquamacs”时,它具有相同的 PATH。

答案1

别名是 shell 特有的概念,因此 bash 别名不会延续到 eshell。Eshell 有自己的别名系统,在 顶部附近的注释中有记录em-alias.el。简而言之,您使用alias命令定义别名,它们会自动存储以供将来的会话使用。语法与 不同bash,例如,您alias l='ls -l $*'在 eshell 中编写的内容与alias ls='ls -l'在 bash 中编写的内容相同。别名定义位于名为 的文件中~/.eshell/alias,其中"~/.eshell"的值是eshell-directory-name

Eshell 也有一个 shell 函数系统,在 顶部附近的注释中有记录esh-cmd.el。引用第一段:

每当使用简单名称(例如“ls”)指定命令时,Eshell 将首先查找名称为“eshell/ls”的 Lisp 函数。如果存在,它将优先于可能与名称“ls”匹配的任何其他命令(例如命令别名、外部命令、该名称的 Lisp 函数等)被调用。

相关内容