无法放置“ X”右边提示指示Zsh中的工作数量
-
03-07-2019 - |
题
此文章代码不为我工作。我已将其所有代码粘贴到我的.zshrc。
我的 .zshrc
RPROMPT='%{\[0;33m%}%1v%{\[0m%}'
它应该表明你是否有工作。但是,它对我没有那样做。
我想在正确的提示下输入一个X来表明你有一份工作正在运行。
如果在Zsh中有多个作业,如何显示X的正确提示?
解决方案
您正在使用的代码无法正常工作,因为它正在尝试使用您尚未设置的 $ psvar
变量。可能那篇文章在其他地方提到过。
无论如何,要在 RPROMPT
中显示作业数量,请使用
<*>gt; RPROMPT="%1(j.X.)"
gt; RPROMPT="%j Job(s)"
如果您至少有一个作业正在运行,要让它显示“X”,请使用
<*>查看 zshmisc
联机帮助页的PROMPT部分,或者获取一个链接: http://www.manpagez.com/man/1/zshmisc/ 。它解释了可用于在提示中显示信息的所有扩展序列。
其他提示
看起来你在ANSI转义序列中遗漏了额外的左括号,而且我认为 \ [
正在按照你的意愿行事。
这是你想要的:
RPROMPT="%(1j.%{^[[33m%} X%{^[[0m%}.)"
但是,您可能会发现在后台显示多少作业的提示更有用:
RPROMPT="%(1j.%{^[[33m%} (%j jobs)%{^[[0m%}.)"
注意:上面的 ^ [
>是字面转义字符&#8212;例如, 0x1B
。在命令行上(或者在Vim的插入模式下,如果您使用Vim编辑 .zshrc
),键入Control-V,然后按Control- [插入转义字符。
不隶属于 StackOverflow