我知道clear'清除'当前屏幕的命令,但它只是通过打印许多换行来实现这一点 - 清除的内容只是向上滚动.
有没有办法彻底擦除终端的所有先前输出,以便即使向上滚动也无法到达它?
我想在cygwin终端中从bash中清除屏幕.我试过了
cmd /c cls
echo -e "^V^L"
echo -e "\014"
Run Code Online (Sandbox Code Playgroud)
这些都不起作用 - 它们都提供"换行".按CTRL + L确实有效 - 但我想从Bash脚本调用它.
有任何想法吗?
我正在使用Symfony 2控制台组件编写控制台应用程序,我想在我的应用程序的第一行之前(或作为)运行控制台清除命令.
我做了一些研究,并努力寻找是否可能.
我已经打印了一些文字println!.现在我需要清除终端并写新文本.如何清除终端中的所有当前文本?
我试过这段代码.但它只清除了当前的行,并且1在输出中很明显.
fn main() {
println!("1");
print!("2");
print!("\r");
}
Run Code Online (Sandbox Code Playgroud) 我有一个问题。在powershell中使用clear或cls命令仅清除终端的可见部分,我想知道如何清除整个终端吗?
顺便说一下,我使用VSCode。
我想跟踪 awk 命令对许多文件进行操作的进度。目前,我正在使用每个打印语句将文件名打印到屏幕上,但我不想淹没屏幕。我希望一次又一次地写入同一行,而不是每次都打印到新行。这可能吗?
我想知道(如果可能的话)你如何清除/重置linux/mac/unix(不是DOS)中的终端屏幕,就像你在windows/DOS上用"conio.h"中的clrscr()一样.我知道这里和网上都有类似的问题,但我找不到能够回答我特定案例的问题.
注意:我知道模拟系统的curses/ncurses和解决方案("清除"),但这不是我想要的.我想完全重置终端缓冲区(即我不想向下滚动或添加换行符以清除屏幕),请不要使用curses/ncurses(我不喜欢ncurses屏幕模式,我想坚持使用默认模式).
是可能还是我在问一些不可能的事情?:P我试图制作一个没有诅咒的控制台游戏(不完全是一个roguelike),我不喜欢看到我在屏幕上打印的内容,只需向上滚动即可清除它.
编辑:我已经尝试过系统("重置"),这不是一个使用系统调用的好方法,并且它使用该命令得到了一个不好的延迟,但它接近我想要做的..是否有某种功能/库可以做类似的事情吗?
我认为这也是一个很好的解决方案,做一些像移动(0,0),然后再打印我需要的东西或只是空白(这样我不会滚动和上面的旧文本).但我不知道是否有一个库可以做到这一点,而不是没有curses模式.
现在看下面我自己的答案,我正在使用
printf("\033c");
Run Code Online (Sandbox Code Playgroud)
这个工作正常,解决了我的问题.如果有人知道此解决方案的任何问题,请告诉我.
我的光标可见性有问题.如果它被隐藏了,这段代码会再次显示,你知道修复此问题吗?
谢谢,
Zorgatone