如何在保持回滚的同时清除 bash 屏幕?

如何在保持回滚的同时清除 bash 屏幕?

clear命令可以使下一个命令更易于阅读(如果它的输出少于一页,则不会滚动,因此不会搜索开头)。但是,它也会清除您可能并不总是需要的回滚缓冲区。

答案1

只需按下键盘上的 Ctrl-L 即可。

答案2

总结

  • CtrlL将当前行滚动到顶部。回滚不会被擦除。

  • clear -x删除所有不在回滚中的行。

  • clear删除所有行,包括回滚行。


CtrlL 是 GNU readline 库的绑定,正如 Bash 手册页所述,它在使用交互式 shell 时处理读取输入。

清屏(CL) 清除屏幕并将当前行留在屏幕顶部。

CtrlL可以在 中重新分配绑定.inputrc


clear另一方面,是一个外部命令。

$ type clear
clear is /usr/bin/clear

从其手册页

clear如果可能的话,清除你的屏幕,包括其回滚缓冲区 (如果定义了扩展的“E3”功能)。

OPTIONS
-x 不会尝试使用扩展的“E3”功能清除终端的回滚缓冲区。

答案3

使用tput reset

感谢这个答案:我可以使用什么命令来重置和清除我的终端?

答案4

在较新版本的 clear 中,似乎默认行为已更改。要清除屏幕并保持回滚,请使用选项-x。要获得以前的行为,请创建一个别名,例如:

alias clear='clear -x'

相关内容