V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
oska874
V2EX  ›  Linux

用 zsh,切换到 git 目录下速度特别慢,怎么解决?

  •  
  •   oska874 · 2015-03-12 11:08:11 +08:00 · 5410 次点击
    这是一个创建于 3535 天前的主题,其中的信息可能已经有所发展或是发生改变。
    系统是ubuntu,配置文件是oh-my-zsh,从网上git了u-boot下来,然后每次切换到u-boot目录速度就特别慢,怀疑是zsh去检查git 状态造成的,就想着吧git从plugins去掉,也去~/.zshrc修改了plugin值,把git替换成了autojump,但是每次进入到有git的目录还是会提示git的提示符,这个该怎么解决?有没有人也遇到过类似问题?
    16 条回复    2015-03-19 13:38:01 +08:00
    zealic
        1
    zealic  
       2015-03-12 11:11:59 +08:00
    git gc 一下试试
    foreverhy
        3
    foreverhy  
       2015-03-12 11:40:32 +08:00
    zsh的git目录显示可能是和theme有关吧,把theme配置里的git相关去掉试试。
    oska874
        4
    oska874  
    OP
       2015-03-12 12:52:26 +08:00
    @foreverhy 不光是提示符的问题,改了之后git目录下的操作速度还是很慢
    @zealic 没效果,这个库是新建的,刚从官网clone的
    @Rabbit52 改成gitfast还是很慢,ctrl+c一下都得反应半天
    heimonsy
        5
    heimonsy  
       2015-03-12 12:57:30 +08:00
    换固态
    oska874
        6
    oska874  
    OP
       2015-03-12 12:58:41 +08:00
    @heimonsy 普通目录的速度很快,还没到用ssd的程度
    Rabbit52
        7
    Rabbit52  
       2015-03-12 13:23:52 +08:00
    @oska874 里面还有一个方案,重写了一个函数,你再试试。
    sdysj
        8
    sdysj  
       2015-03-12 13:29:02 +08:00
    ohmyzsh 那个 git 插件在大项目多文件里会非常慢的,要检测当前是否修改了文件。
    jinchun
        9
    jinchun  
       2015-03-12 13:38:55 +08:00
    换上gitfast重新开启窗口后确实比之前快了数倍。之前的太蛋疼啦。
    oska874
        10
    oska874  
    OP
       2015-03-12 14:32:54 +08:00
    @jinchun 换了没改进。
    按理说u-boot不是特别的大啊,cd进去反应半天,后来把u-boot从虚拟机的共享目录cp到虚拟机里面,速度快了n倍,但还是明显比没有git的目录慢。
    msg7086
        11
    msg7086  
       2015-03-12 15:18:19 +08:00
    多数是主题的问题。
    打开theme下的对应主题自己改吧。
    我自己是用个没有任何git提示符的主题,完全不受影响。
    limbo0
        12
    limbo0  
       2015-03-12 16:06:19 +08:00
    原来自己弄个theme,加入了查看目录文件大小,速度真蛋疼啊
    oska874
        13
    oska874  
    OP
       2015-03-12 18:18:25 +08:00
    @msg7086
    @limbo0
    对theme真不懂,我的是这个:
    local ret_status="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ %s)"
    PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'

    ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}"
    ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
    ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}"
    ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"
    帮忙看看那块费时间了?
    lxgone
        14
    lxgone  
       2015-03-13 13:58:50 +08:00
    把zsh里面git的plugin关了试一试?
    oska874
        15
    oska874  
    OP
       2015-03-13 14:02:30 +08:00
    @lxgone 怎么关?我试过吧zshrc里面的plugin(git)的git注掉了,没效果。
    chliny
        16
    chliny  
       2015-03-19 13:38:01 +08:00
    @oska874 试试只留下
    ocal ret_status="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ %s)"
    PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}% %{$reset_color%}'
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5771 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 03:05 · PVG 11:05 · LAX 19:05 · JFK 22:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.