我知道“清除”当前屏幕的清除命令,但它只是通过打印大量换行来做到这一点-清除的内容只是向上滚动。
是否有一种方法可以完全擦除终端之前的所有输出,以至于我即使向上滚动也无法到达它?
我知道“清除”当前屏幕的清除命令,但它只是通过打印大量换行来做到这一点-清除的内容只是向上滚动。
是否有一种方法可以完全擦除终端之前的所有输出,以至于我即使向上滚动也无法到达它?
当前回答
漂亮的方法是printf '\33c\e[3J'
其他回答
删除最后一个输出:
⌘ + L
清空终端:
⌘ + K
我不能得到任何以前的答案工作(macOS)。
一个组合对我有用——
IO.write "\e[H\e[2J\e[3J"
这将清除缓冲区和屏幕。
或者您可以通过按Ctrl + L发送换行符(ASCII表单提要)。
虽然从技术上讲,这只是启动一个新页面,但这与所有其他方法具有相同的净效果,同时速度要快得多(当然,Apple + K解决方案除外)。
因为这是一个ASCII控制命令,它适用于所有shell。
漂亮的方法是printf '\33c\e[3J'
Command + K将清除之前的输出。
要清除输入的文本,首先用Command + A跳转到左边,然后用Control + K清除指针右边的文本。
可视化例子: