You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WSL(Ubuntu)的zsh终端(VS Code&Hyper)中缩短路径显示?

我之前也被WSL Ubuntu下zsh的长路径烦过!尤其是项目层级深加上Git分支名又长的时候,终端一半空间都被路径占了,完全没法好好看输出。刚好我之前折腾过把它改成类似Git Bash那种简洁的样子,分享几个亲测有效的方法:

1. 直接修改zsh提示符变量(快速搞定)

zsh的提示符是通过PROMPT变量控制的,我们可以直接调整它来缩短路径:

  • 打开终端,编辑zsh配置文件:nano ~/.zshrc
  • 找到原来的PROMPT配置行,替换成下面的内容:
    PROMPT='%n@%m %~ %# '
    
    这里的%~是关键——它会把绝对路径转换成相对于home目录的简写,比如/mnt/c/Users/Lukas/Coding会自动变成~/Coding,和Git Bash的显示逻辑完全一致。
  • 保存退出后,输入source ~/.zshrc让修改立即生效,你就能看到路径瞬间变短了。

2. 用Oh-My-Zsh主题(更美观灵活)

如果你装了Oh-My-Zsh,很多主题本身就支持短路径显示,还能顺便美化终端:

  • 打开~/.zshrc,找到ZSH_THEME那一行,换成比如agnoster或者powerlevel10k(后者需要额外安装,但自定义性极强)。比如:
    ZSH_THEME="agnoster"
    
  • 要是想进一步缩短深层路径,可以在~/.zshrc里加一行:
    # 只显示最后2级目录,深层路径用...代替
    export PROMPT_DIRTRIM=2
    
    这样~/Projects/MyApp/frontend/src就会变成~/.../frontend/src,既保留关键层级信息,又不占空间。

3. 自定义Git分支显示(解决长分支名问题)

如果Git分支名太长,哪怕路径短了,分支名还是会占地方,我们可以让zsh只显示分支的前N个字符:

  • 如果你用了Oh-My-Zsh的git插件,在~/.zshrc里添加这段配置:
    # 自定义Git分支显示规则,只截取前10个字符
    ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}git:(%{$fg[red]%}"
    ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
    ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[yellow]%}) %{$fg[yellow]%}✗%{$reset_color%}"
    ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%})%{$reset_color%}"
    
    function git_prompt_info() {
      local ref
      if [[ "$(command git config --get oh-my-zsh.hide-status 2>/dev/null)" != "1" ]]; then
        ref=$(command git symbolic-ref HEAD 2>/dev/null) || \
        ref=$(command git rev-parse --short HEAD 2>/dev/null) || return 0
        # 这里的10可以改成你想要的字符数
        echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}" | cut -c1-10"$ZSH_THEME_GIT_PROMPT_SUFFIX"
      fi
    }
    
    保存后刷新配置,长分支名比如feature/add-user-authentication-module就会变成feature/add-u,完美解决分支名过长的问题。

内容的提问来源于stack exchange,提问作者Lukas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:28:48