我知道“清除”当前屏幕的清除命令,但它只是通过打印大量换行来做到这一点-清除的内容只是向上滚动。
是否有一种方法可以完全擦除终端之前的所有输出,以至于我即使向上滚动也无法到达它?
我知道“清除”当前屏幕的清除命令,但它只是通过打印大量换行来做到这一点-清除的内容只是向上滚动。
是否有一种方法可以完全擦除终端之前的所有输出,以至于我即使向上滚动也无法到达它?
当前回答
我不能得到任何以前的答案工作(macOS)。
一个组合对我有用——
IO.write "\e[H\e[2J\e[3J"
这将清除缓冲区和屏幕。
其他回答
CMD + K适用于macOS。它清除整个终端输出,但环境仍然存在。
在Mac OS X终端上,这个功能已经内置到终端应用程序的菜单视图→清除屏幕(默认是CMD + K)。
你可以用苹果的键盘快捷键重新分配它。只需添加一个新的终端快捷方式与命令“清除屏幕”。(我使用CMD + L,因为它类似于Ctrl + L来清除当前屏幕内容,而不清除缓冲区。)
我不确定你会如何在脚本中使用这个(可能是AppleScript,因为其他人已经指出)。
我不能得到任何以前的答案工作(macOS)。
一个组合对我有用——
IO.write "\e[H\e[2J\e[3J"
这将清除缓冲区和屏幕。
漂亮的方法是printf '\33c\e[3J'
做正确的事;把事情做好!
清除上一个标记:命令+ L
清除到以前的书签:选项+命令+ L
可以开始:Command + K