如何在zsh中仅显示当前文件夹和git分支以及〜home

时间:2019-11-23 16:05:05

标签: git macos terminal zsh prompt

Apple在其最新的操作系统中将外壳从bash更改为zsh,所以我现在尝试修复终端提示:(。

我希望我的提示仅包含:

  • 我当前所在的目录(没有完整路径)
  • 没有用户名和计算机名
  • 当前git分支(绿色)
  • ~(如果我位于主目录中)
  • 一个$和一个空格

使用.bash_profile时,我曾经在bash中使用此脚本:

# Git branch in prompt.
parse_git_branch() {
    git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}

export PS1="\[\033[33;1m\]\W\[\033[32m\]\$(parse_git_branch)\[\033[m\]\$ "
export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad
alias ls='ls -GFh'

我将.bash_profile重命名为.zprofile,但是除了ls部分之外,所有其他所有功能均无效。

我如何再次进行这项工作?

2 个答案:

答案 0 :(得分:0)

因此,经过更多的搜索并查看了export default function Component(props) { function clickEvent (event, variable){ console.log(variable); } return ( <div> <IconButton key="close" aria-label="Close" color="inherit" onClick={e => clickEvent(e, 10)} > </div> ) } 手册的特定部分后,可以通过运行zsh来显示该问题,我设法解决了这一问题。这是man zshmisc的代码:

.zprofile

# Load version control information autoload -Uz vcs_info precmd() { vcs_info } # Format the vcs_info_msg_0_ variable zstyle ':vcs_info:git:*' formats '%b' # Set up the prompt setopt PROMPT_SUBST PROMPT='%1~ %F{green}${vcs_info_msg_0_}%f $ ' 表示将仅显示当前工作目录的最后一个尾随部分,并且主目录将被%1~替换。

答案 1 :(得分:0)

这是我的 .zshrc,基于 Sergey 的精彩回答。它通过添加更多颜色和冒号分隔的分支名称来增强它(仅当可用时)。

这也适用于 JetBrains IDE (IntelliJ / PhpStorm / WebStorm) 中的集成终端。

enter image description here

# load version control information
autoload -Uz vcs_info
precmd() { vcs_info }

# format vcs_info variable
zstyle ':vcs_info:git:*' formats ':%F{green}%b%f'

# set up the prompt
setopt PROMPT_SUBST
PROMPT='%F{blue}%1~%f${vcs_info_msg_0_} $ '