首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ZSH 'Sticky‘提示

ZSH 'Sticky‘提示
EN

Stack Overflow用户
提问于 2014-06-17 22:39:46
回答 1查看 812关注 0票数 4

我的ZSH主题使用.ZSH主题文件( vbox_status调用输出正在运行的内容的脚本)中的.ZSH主题文件输出Vagrant/VBox的状态,如下所示:

但是,我想知道是否有一种方法可以使输出“粘稠”,这样,与其在每一行的末尾输出,不如将其保持在箭头所指示的位置,并在上面的新行输出时简单地更新自己。

例如:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-18 02:29:17

您可以使用一个名为tput的命令来完成这一任务。

我已经做了一个基本的脚本,把一个字符串放在屏幕的角落,这将使你开始。您可以通过擦除东西和高亮显示之类的方法来做得更好,但这是一个起点:

代码语言:javascript
复制
#!/bin/bash
screen_w=$(tput cols)   # Get screen width.
screen_h=$(tput lines)  # Get screen height.
str=$*                  # String to put in corner.
string_w=${#str}
let "x = $screen_w - $string_w"

tput sc               # Save current position
tput cup $screen_h $x # Move to corner
echo -ne $str         # Put string in the corner
tput rc               # Go back to saved position.
echo " >"             # Some kind of prompt

因此,您可以设置您的提示符来像这样运行(我调用了上面的脚本pr.sh)

代码语言:javascript
复制
PS1=$(pr.sh $(date))

这在zsh中可能是不同的,但我相信你可以解决这个问题。只需将$(date)部分更改为status命令即可。(pr.sh必须在您的路径上)

这有点笨重,但它会让你开始。使用tput所能做的几乎是没有限制的!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24274456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档