Ubuntu 中 Zsh 的默认提示符

Ubuntu 中 Zsh 的默认提示符

如何让 Zsh 获得提示符“/home/user@address:/path”?

我在 .zshrc 中运行以下命令,但未成功

PROMPT='%d%>:%{\e[0m%} '

我得到了我的提示

/home/masi

答案1

这可能会给你你想要的东西(用户@主持人小路):

PROMPT=$'%n@%m:%d%{\e[0m%} '

如果您想限制路径的长度(%>从您的示例来看),您可以将其限制为仅显示最后 12 个字符,如下所示:

PROMPT=$'%n@%m:%12<...<%d%<<%{\e[0m%} '

如果您实际上并不想要其中嵌入的转义代码(它是典型的 VT100 样式命令,用于清除任何粗体/等格式),您可以将其简化为:

PROMPT='%n@%m:%12<...<%d%<< '

答案2

在这种情况下手动的可能会很有帮助。

我猜你想要的是类似这样的东西:
PROMPT='$HOME@%M:%3~ '

显然,阅读简短手册页中的 4 句话实在是太费劲了。可能是因为它是一个链接:

13. 迅速扩张

13.1 提示序列的扩展

提示序列经历一种特殊形式的扩展。
此类扩展也可以使用 -P 选项
到内置打印。

如果设置了 PROMPT_SUBST 选项,...

提示字符串中可能会识别某些转义序列。

如果设置了 PROMPT_BANG 选项,...

如果设置了 PROMPT_PERCENT 选项,...

13.2 简单的提示转义

13.2.1 特殊字符

%%
一个“%”。

%)
一个“)”。

13.2.2 登录信息

%升
该行 (tty) ...

%M
完整的机器主机名。

%米
直到第一个“.”的主机名。整数可以跟在“%”后面以指定
需要多少个主机名组件。使用负整数,
显示主机名的尾部部分。

%n
$用户名。

%年
该行 (tty) ...

13.2.3 壳状态

%#
如果 shell 以特权运行,则为“#”,...

%?
返回状态...

%_
解析器的状态,......

%日
%/
当前工作目录 ($PWD)。如果 `%' 后面跟着一个整数,则
指定要显示的 $PWD 尾随组件的数量;零表示
整个路径。负整数指定前导组件,
即 %-1d 指定第一个组件。

%〜
与 %d 和 %/ 相同,但如果 $PWD 以命名目录作为前缀,则该部分
被替换为“~”,后跟目录名称。如果它以
使用 $HOME 时,该部分被“~”替换。

%H
%!
当前历史事件编号。

%我
行号...

%我
行号...

%j
工作数量。

%L
$SHLVL 的当前值。

%N
脚本的名称,...

%X
文件的名称...

%C
.
%C
尾随组件...这些已被弃用...相当于 %1~ 和 %1/...

13.2.4 日期和时间...忽略...

13.2.5 视觉效果...忽略...

13.3 提示中的条件子字符串...可能有用但被忽略......

相关内容