如何在zsh提示符下获取绝对路径?

如何在zsh提示符下获取绝对路径?,zsh,Zsh,我正在从bash切换到zsh 我想更新我的新zsh提示符并四处寻找一种方法,但我只通过oh my zsh找到了“解决方案” 目标: Location: ~/dir_1/dir_1_1/dir_1_1_1 我所拥有的: Location: dir_1_1_1 守则: 正如上面的评论中提到的,您希望在这里查看:有关如何更改zsh中显示的路径的详细信息 在这种情况下,如果要查找相对于主文件夹的路径,请在zsh主题文件中包含%~。您的提示现在如下所示: PS1='${SSH_CONNECTION+"

我正在从bash切换到zsh

我想更新我的新zsh提示符并四处寻找一种方法,但我只通过oh my zsh找到了“解决方案”

目标:

Location: ~/dir_1/dir_1_1/dir_1_1_1
我所拥有的:

Location: dir_1_1_1
守则:

正如上面的评论中提到的,您希望在这里查看:有关如何更改zsh中显示的路径的详细信息

在这种情况下,如果要查找相对于主文件夹的路径,请在zsh主题文件中包含
%~
。您的提示现在如下所示:

PS1='${SSH_CONNECTION+"%{$fg_bold[green]%}%n@%m:"}%{$fg_bold[green]%}Location: %~%{$reset_color%}$(git_prompt_info) '
注意,我只更改了提示中的一个字符。已将
%c
替换为
%~
<代码>%c将只提供当前目录()


对于完整路径,您可以使用最简单的方法将bash样式的dir路径添加到提示符中。只需将此添加到
~/.zshrc

setopt PROMPT_SUBST
PROMPT='%n@%m: ${(%):-%~} '

具有路径的部分是
${(%):-%~}
。可以根据您的生活方式添加颜色:)

要保留原始提示格式(颜色、git信息和在此之前可能的其他自定义),除了与路径信息相关外,您可以在~/.zshrc的末尾附加以下内容:

PROMPT=${PROMPT/\%c/\%~}
正如和所指出的,该键将
%c
(仅文件夹名称)替换为
%~
,以包含完整路径(或在~)下从$HOME开始的绝对路径)。有关更多信息,请参阅


dir_1/dir_1_1/dir_1_1
不是完整路径。不确定您想要什么,但大多数人使用
%~
%n~
而不是
%c
,其中
n
是要显示的后续组件的数量<代码>%c仍不推荐使用。阅读。谢谢@4ae1e1这正是我想要的。
setopt PROMPT_SUBST
PROMPT='%n@%m: ${(%):-%~} '