解决 zsh 在 git 目录下变得卡顿的问题

当进入含有Git仓库的目录时,终端可能出现长时间无响应或卡顿的情况,这是因为OhMyZsh自动跟踪git仓库变化导致的。为了解决这个问题,可以采取两种方案:一是自定义OhMyZsh的主题脚本,禁用git信息的自动更新;二是通过gitconfig设置关闭‘dirty’检查。选择适合自己的方案可以显著提高终端操作流畅度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现象

  1. 进入到含有 git 仓库的目录时,终端长时间无响应,或卡顿
  2. 在该类型目录下,进行的任意操作,即使命令本身执行很快也需要很长时间终端才有响应
  3. 在新窗口下通过 ps -aux | grep git 可见 git status ... 的命令正在执行

原因

  • Oh My Zsh 为终端增加了自动跟踪 git 仓库变化的能力,其实是在检测到当前目录是在 git 管理的目录中时,执行了一系列的操作来获取到变化,并格式化为好看的信息显示在终端上

解决方案

方案一

覆盖 Oh My Zsh 默认的方法,在 ~/.oh-my-zsh/custom/ 文件夹中加入一个自定义脚本,以 .zsh 作为后缀名,比如:disable_git_info.zsh

function git_prompt_info() {
  ref=$(git symbolic-ref HEAD 2> /dev/null) || return
  echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$ZSH_THEME_GIT_PROMPT_SUFFIX"
}

方案二

通过设置标识关闭 dirty 检查

git config --add oh-my-zsh.hide-dirty 1

若需要打开,则:
git config --add oh-my-zsh.hide-dirty 0

总结

对于我来说,因为是在虚拟机中遇到这个问题,非常的影响操作的流畅度,所以我选择了方案一,相当于是直接的关掉了这个特性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值