2

我使用的是 OS X 10.8,我使用 brew 安装了比 OS X 附带的更新版本的 emacs。

较新的 emacs 二进制文件安装在/usr/local/bin(24.2.1) 中,旧的“随 osx”安装在/usr/bin(22.1.1) 中。

我通过添加到它来更新我的$PATH环境变量。/usr/local/bin它在我的 shell 中运行良好(即输入emacs运行 24.2.1 版本),但是当 git 打开编辑器时,emacs 版本是 22.1.1。

git 不应该用来$PATH查找我想使用的编辑器吗?

附加信息:

$ type -a emacs
emacs is /usr/local/bin/emacs
emacs is /usr/bin/emacs
emacs is /usr/local/bin/emacs
$ env
PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
SHELL=/bin/zsh
PAGER=most
EDITOR=emacs -nw
_=/usr/bin/env

请注意,我不希望直接在我的 git conf 中设置我的编辑器的绝对路径,因为我在多个系统中使用这个 conf。

编辑:这是我的一点.zshrc

# Mac OS X
if [ `uname` = "Darwin" ]; then
    # Brew binaries
    PATH="/usr/local/bin":"/usr/local/sbin":$PATH
else # Everyone else (Linux)
    # snip
fi

所以,是的,我可以export EDITOR='/usr/local/bin emacs -nw'在第一行添加一行if,但我想了解为什么git不使用我的PATH变量:)

4

2 回答 2

2

安装git 1.8.0解决了这个问题。

旧版本是1.7.9.6 (Apple Git-31.1). 这很奇怪,因为我在更改日志中没有找到任何关于此类问题的参考。

于 2012-11-10T22:55:15.213 回答
0

最简单的解决方法是在环境变量中设置完整路径。

OSX 默认使用 bash(1),因此export EDITOR=/usr/local/bin/emacs -nw请在您的某个位置.bash_profile设置所有交互式 bash shell 的变量。

于 2012-11-09T11:18:53.427 回答