mac终端默认编辑器由$editor环境变量决定,影响git commit等命令;未设置时回退至/usr/bin/vi;可通过export临时设置或写入~/.zshrc(zsh)等配置文件永久生效,并需source加载。

Mac系统默认编辑器决定你在终端里执行edit、vim(未安装时fallback)、或某些脚本调用$EDITOR时实际启动哪个程序,比如想让git commit直接打开Sublime Text或Neovim而不是系统自带的vi。这一步不改图形界面的“右键→打开方式”,只影响终端环境下的命令行编辑行为。
确认当前默认编辑器
打开终端,输入:
echo $EDITOR
如果输出为空或显示/usr/bin/vi,说明尚未显式设置,系统正使用fallback路径。这会影响git config --edit、crontab -e等命令的实际行为。
临时设置:仅对当前终端会话生效
在当前终端窗口中运行:
export EDITOR="/opt/homebrew/bin/nvim"
注意路径必须准确——若你用Homebrew安装Neovim在Apple Silicon Mac上,路径是/opt/homebrew/bin/nvim;Intel芯片则是/usr/local/bin/nvim。输错路径会导致后续命令报错Command not found或回退到vi。
永久设置:写入shell配置文件
第一步:确认你当前使用的shell类型
echo $SHELL → 输出类似/bin/zsh或/bin/bash
第二步:根据shell类型选择对应配置文件
zsh用户编辑~/.zshrc,bash用户编辑~/.bash_profile或~/.bashrc
第三步:用你喜欢的编辑器打开该文件,例如:
nvim ~/.zshrc
第四步:在文件末尾新增一行:
【export EDITOR="/opt/homebrew/bin/nvim"】
注意不要漏掉export关键字,否则变量不会被子进程继承。
第五步:保存文件后,在同一终端执行:
source ~/.zshrc
现在运行echo $EDITOR应立即显示新路径。新开终端窗口也会自动加载该设置。
验证是否生效
运行:
git config --global core.editor "code --wait"
这条命令专用于VS Code,它绕过$EDITOR变量,直接硬编码编辑器路径。但如果你没单独设core.editor,git就会读取$EDITOR。所以真正检验是否成功,是关闭所有终端、新开一个,然后执行:
git commit --allow-empty -m "test"
如果弹出的是你指定的编辑器(如Neovim或Sublime),说明设置已落地。若仍进入vi,则检查source是否遗漏,或配置文件路径是否写错。











