Git命令输出跳转至Vim而非终端显示问题求助
解决Git命令自动打开Vim而非直接输出到终端的问题
我帮你梳理下可能的原因和解决步骤,针对你在Ubuntu 18.04 + zsh + oh-my-zsh环境下遇到的git branch等命令跳转到Vim的问题:
1. 检查Git的全局分页配置
Git默认会对输出内容较多的命令启用分页器(默认是less),但如果你的分页器被意外设置成了vim,就会出现这种情况。
- 先查看当前的分页器设置:
git config --global --get core.pager - 如果输出是
vim,执行以下命令改回默认的less:git config --global core.pager less - 如果你希望完全禁用所有Git命令的分页(让所有输出直接打印到终端),可以执行:
git config --global core.pager ''
2. 检查特定Git命令的单独分页设置
Git允许对单个命令单独配置分页,比如可能有人给git branch单独开了分页并指定用Vim打开:
- 查看
git branch的分页配置:git config --get pager.branch - 如果输出是
true或者vim,执行以下命令禁用该命令的分页:git config --global pager.branch false
3. 排查oh-my-zsh的自定义配置
oh-my-zsh的git插件或者你的自定义别名可能修改了Git命令的行为:
打开你的
~/.zshrc文件,搜索是否有类似以下的自定义别名:alias git='...' alias gbr='git branch | vim -'如果找到这类把Git命令输出导向Vim的配置,直接删除即可。
另外,也可以暂时禁用oh-my-zsh的git插件测试:在
~/.zshrc中找到plugins=(...),把git从列表中移除,然后重启终端执行git branch,如果问题消失,说明是git插件的某个默认设置导致的(这种情况比较少见,但可以排查)。
4. 检查LESS环境变量(小众情况)
如果你的LESS环境变量被配置成了特殊模式,可能会让less表现得像Vim:
- 执行以下命令查看当前设置:
echo $LESS - 如果输出包含奇怪的参数(比如强制进入编辑模式),可以在
~/.zshrc中修改或删除该环境变量的设置。
按照上面的步骤排查,应该就能解决Git命令跳转到Vim的问题了!
内容的提问来源于stack exchange,提问作者Yan Vh
相关产品推荐
相关产品推荐

