如何设置EDITOR环境变量,让git-mediate调用Xcode打开文件及指定行?
使用Xcode作为命令行编辑器(含Git冲突解决支持)
绝对没问题!Xcode自带的命令行工具xed就是专门干这个的,完美支持打开文件、跳转到指定行,还能适配git-mediate这类依赖EDITOR环境变量的工具。下面是具体的配置和用法:
1. 基础用法:用Xcode打开文件并跳转行
直接在终端里用xed命令,格式简单直观:
# 打开单个文件 xed your-file.swift # 打开文件并直接跳转到第42行 xed -l 42 your-file.swift
2. 设置EDITOR环境变量
要让系统默认用Xcode作为编辑器(包括git-mediate -e这类场景),需要把xed配置到你的shell配置文件里(比如.zshrc、.bashrc或者.bash_profile,取决于你日常使用的shell):
先打开你的shell配置文件:
xed ~/.zshrc
添加下面这一行(-w参数非常关键,它会让xed等待你关闭Xcode里的文件窗口后再返回终端,这对Git这类需要等待编辑完成的工具来说是必须的):
export EDITOR="xed -w"
保存文件后,让配置立即生效:
source ~/.zshrc
3. 验证配置是否生效
可以用下面的命令确认EDITOR变量已经正确设置:
echo $EDITOR # 正常应该输出:xed -w
现在再试试用git-mediate -e处理冲突,它会自动调用Xcode打开冲突文件,你编辑完成关闭窗口后,终端会继续执行后续的冲突解决流程。
额外提示
如果你只是想给Git单独设置编辑器(不修改全局EDITOR环境变量),也可以用Git专属配置:
git config --global core.editor "xed -w"
不过你的需求是全局设置EDITOR,所以前面的环境变量配置方法更贴合需求。
内容的提问来源于stack exchange,提问作者yairchu




