git 编辑器怎么配
写提交信息、交互变基、生成合并提交等交互场景里,Git 打开的编辑器由配置决定:core.editor 是主配置键,GIT_EDITOR 环境变量可临时覆盖,未配置时依次回退到 VISUAL、EDITOR,最后退回内置 vi。图形界面编辑器必须带等待参数,否则 Git 在内容确认前就继续流程;同一台机器上的不同身份可以用条件包含分开配置。
基本信息
| 配置键 | core.editor(可写入全局或单仓库配置) |
|---|---|
| 覆盖顺序 | GIT_EDITOR > core.editor > VISUAL > EDITOR > 内置 vi |
| 相关键 | sequence.editor 单独控制交互变基的待办列表编辑 |
| 查看生效值 | git var GIT_EDITOR |
| 适用平台 | 无桌面环境(SSH 服务器)只能用终端编辑器 |
| 服务器建议 | 优先 nano 或 vim,GUI 编辑器在无桌面环境会直接失败 |
典型使用场景
- 不习惯默认 vim 的人:改成自己顺手的编辑器,减少提交时的摩擦。
- GUI 用户:配置 code --wait 或对应 IDE 的等待模式,保证内容被读取。
- 交互变基频繁:用 sequence.editor 单独换工具,不动全局设置。
- 脚本与非交互环境:用 GIT_EDITOR=true 或直接 -m 传信息,防止卡住。
- 多台机器多身份:全局配一套,个别仓库再覆盖。
常用示例
常用示例
git config --global core.editor 'code --wait' # VS Code:等窗口关闭再继续
git config --global core.editor vim
git config --global sequence.editor vim # 交互变基单独指定
GIT_EDITOR=nano git commit # 仅本次生效
git var GIT_EDITOR # 查看当前生效值常见编辑器配置值
| 编辑器 | 配置值 | 说明 |
|---|---|---|
| VS Code | 'code --wait' | 必须加 --wait |
| Sublime Text | 'subl -n -w' | -w 表示等待 |
| Nano | nano | 轻量,适合服务器 |
| Vim / Neovim | vim / nvim | 终端环境自带 |
| JetBrains 系 | 'idea --wait' | 同样需要等待参数 |
提交信息编辑器里保存退出即生效;清空全部内容再退出会中止本次提交。终端编辑器不依赖桌面环境,建议至少在服务器上留一个兜底;改完配置用 git var GIT_EDITOR 复核生效值,它会受仓库级配置覆盖,排查时按完整优先级链检查。