反向终端/命令行窗口


5

最近我想到,偶尔在窗口顶部键入终端/命令行命令会更好,最后运行的命令在下面。与通常显示相反。

例如,在较小的笔记本电脑屏幕上,将焦点集中在屏幕顶部比底部更舒服。

无论这是否是一个好主意,是否都存在用于实现此目的的终端/命令行插件?

(我主要基于OS X,但对所有平台解决方案都感兴趣)


1
多行输出确实很难读。
丹尼尔·贝克

@丹尼尔·贝克(Daniel Beck),我想那仍然可以从上到下-在我当前行的下面.....但是我明白你的意思,这不只是简单的“全部撤消”。
乔恩·哈德利

5
正确,在页面填满后,您需要向上滚动以查看当前(而非上一个)提示。那是真正令人尴尬的行为,而不是高速公路路线选择。
丹尼尔·贝克

Answers:


5

这是在Bash中可以玩的东西。

进行设置:

$ bash    # try this in a subshell since ^C seems to cause it to exit
$ f () { sed "1s/^/$(tput cup 0 0)/;s/^/$(tput il1)/"; }
$ PROMPT_COMMAND='tput cup 0 0;tput il1; echo'
$ exec > >(f)

再按Enter键一次即可开始尝试。有时输出和提示不正常,并且可能还有其他怪异之处,但是尝试这种做法很有趣。

面向屏幕的程序将无法正常运行,因为它们看不到tty。


tput cup 0 0将光标移到终端的左上角。tput il1插入一个空行。该sed命令分别在第一行的开始处插入这些控制序列,并将输出的每一行分别重定向到该函数。该exec命令将所有标准输出重定向到该函数。的PROMPT_COMMAND是一个bash提示被发出,并导致在端子的顶部将被显示的提示每次执行。
丹尼斯·威廉姆森

另一种方法可能是使用Bash的DEBUG陷阱发布光标移动序列。
丹尼斯·威廉姆森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.