如何在 zsh 中只显示当前文件夹和 git 分支和 ~ 主页
How to only show current folder and git branch and ~ for home in zsh
Apple 在其最新 OS 中将 shell 从 bash
更改为 zsh
,所以我现在正在尝试修复我的终端提示 :(.
我希望我的提示只包含:
- 我所在的当前目录(没有完整路径)
- 没有用户名和计算机名
- 当前 git 分支(绿色)
~
如果我在主目录中
- 最后一个
$
和一个space
当我使用 bash
:
时,我的 .bash_profile
中曾经有这个脚本
# Git branch in prompt.
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ ()/'
}
export PS1="\[3[33;1m\]\W\[3[32m\]$(parse_git_branch)\[3[m\]$ "
export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad
alias ls='ls -GFh'
我将 .bash_profile
重命名为 .zprofile
,但除 ls
部分外,所有这些都不再有效。
如何使这项工作再次生效?
所以在谷歌搜索和查看 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~
表示仅显示当前工作目录的最后一个尾随部分,主目录将替换为 ~
.
这是我的 .zshrc
基于谢尔盖的出色回答。它通过添加更多颜色和冒号分隔的分支名称(仅在可用时)来增强它。
这对于 JetBrains IDE(IntelliJ/PhpStorm/WebStorm)中的集成终端也能顺利运行。
# 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_} $ '
Apple 在其最新 OS 中将 shell 从 bash
更改为 zsh
,所以我现在正在尝试修复我的终端提示 :(.
我希望我的提示只包含:
- 我所在的当前目录(没有完整路径)
- 没有用户名和计算机名
- 当前 git 分支(绿色)
~
如果我在主目录中- 最后一个
$
和一个space
当我使用 bash
:
.bash_profile
中曾经有这个脚本
# Git branch in prompt.
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ ()/'
}
export PS1="\[3[33;1m\]\W\[3[32m\]$(parse_git_branch)\[3[m\]$ "
export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad
alias ls='ls -GFh'
我将 .bash_profile
重命名为 .zprofile
,但除 ls
部分外,所有这些都不再有效。
如何使这项工作再次生效?
所以在谷歌搜索和查看 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~
表示仅显示当前工作目录的最后一个尾随部分,主目录将替换为 ~
.
这是我的 .zshrc
基于谢尔盖的出色回答。它通过添加更多颜色和冒号分隔的分支名称(仅在可用时)来增强它。
这对于 JetBrains IDE(IntelliJ/PhpStorm/WebStorm)中的集成终端也能顺利运行。
# 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_} $ '