1 问题描述
最近换macOS, 跟之前的ubuntu有点差异, 不太习惯, 比如说下面这个
当前默认的shell是zsh, 始终只显示当前目录, 不显示全路径, 这在大型项目中很容易晕, 那么怎么改为全路径呢?
2 动手配置
(1) 查看当前的提示符显示规则
echo $PS1
不难推理出, 这里的%1~应该就是全路径中的最后一个目录名, 查阅相关文档后可知:
如果整数紧跟在“%”之后,则它指定要显示的当前工作目录的多个尾部分量;零表示整个路径。负整数指定前导成分,即%-1d指定第一个成分。
顺便附上一张表
| 转义变量 | 描述 |
|---|---|
| %T | 系统时间(时:分) |
| %* | 系统时间(时:分:秒) |
| %D | 系统日期(年-月-日) |
| %n | 你的用户名 |
| %B - %b | 开始到结束使用粗体打印 |
| %U - %u | 开始到结束使用下划线打印 |
| %d | 你目前的工作目录 |
| %~ | 你目前的工作目录相对于~的相对路径(可能在某些zsh版本可能造成乱码) |
| %M | 计算机的主机名 |
| %m | 计算机的主机名(在第一个句号之前截断) |
| %l | 你当前的tty |
(2) 写配置文件
和大多数自定义配置文件一样, zsh的自定义配置文件的路径在~/.zshrc
vim ~/.zshrc
写入如下内容
# 开启自定义颜色
autoload -U colors && colors
# 显示Git分支
function parse_git_branch() {
git branch 2> /dev/null | sed -n -e 's/^\* \(.*\)/[\1]/p'
}
setopt PROMPT_SUBST
# 配置提示符颜色
export PROMPT='%F{green}%n@%m:%F{cyan}%~%F{green}$(parse_git_branch)%F{white}> '
source ~/.bash_profile
(3) source ~/.zshrc
通过上述命令重新加载zshrc配置文件, 最终效果如下: