对于Emacs,您可以在.emacs.d/init_bash.sh中定义shell模式别名,但Aquamacs (OSX10.5上的2.0)似乎不使用此别名。有没有其他地方可以定义这些?
发布于 2010-08-18 20:35:12
来自shell.el:
如果文件
~/.emacs_SHELLNAME' exists, or~/.emacs.d/init_SHELLNAME.sh',它将作为初始输入给出(但如果shell在启动时丢弃输入,则可能会由于计时错误而丢失)。缓冲区被置于shell模式,给出发送输入和控制Shell的子作业的命令。参见shell-mode'. See also the variableshell-prompt-pattern‘。
因此,您可能希望尝试查看~/.emacsbash是否正常工作。
发布于 2011-07-08 07:21:16
对我来说解决了:我做了两个似乎能起作用的改变(我之前做了Aquamacs -> Tools -> Install Command Line Tools)。更改是: a)删除我创建的'~/.emacs_bash‘符号链接;b)创建一个'~/.bashrc’文件,其中包含对我的别名设置脚本的调用;c)从'~/.bash_profile‘调用'~/.bashrc’(将导出的环境变量保留在它们所属的~/'.bash_profile‘中)。
Aquamacs似乎将‘/usr/bin:/usr/sbin:/sbin:/usr/texbin’附加到它从'~/.bash_profile‘获得的路径,但这似乎不是问题。
从'~/.emacs_bash‘到'~/.bash_profile’的符号链接成功地使'~/.bash_profile‘在Aquamacs上执行,因此shell缓冲区具有一些所需的设置(别名)。
但是,需要对Aquamacs进行配置,使“~/.bash_profile”在每个Aquamacs会话中执行一次,“~/.bashrc”在每个Aquamacs shell中执行一次?否则,例如使用从‘~/.emacsbash’到'~/.bash_profile‘的链接,连接的外壳变量(通常是$PATH)会在其中获得许多多余的值。
在NT上的*nix和Cygwin上,GNU Emacs以预期的方式使用'.bash_profile‘和'.bashrc’开箱即用:'.bash_profile‘在*nix系统上执行一次,所有shell,包括Emacs shell buffers,都会从中获取变量。同样,'.bashrc‘在每个*nix shell中执行一次,包括用于Emacs shell缓冲区。
有没有人对如何让Aquamacs做同样的事情有什么建议?
https://stackoverflow.com/questions/3492290
复制相似问题