用户从我的应用程序菜单中选择了一个选项后,如何清除终端屏幕?
答案 0 :(得分:169)
:! 运行shell命令
的:! windows下的cls
的:!在linux和OS X下清除
答案 1 :(得分:56)
这是您可能正在寻找的:
ansi-terminal: 简单的ANSI终端支持,兼容Windows
您可以在Hackage中找到它使用cabal install ansi-terminal
安装。它具有清除屏幕,显示颜色,移动光标等功能。使用它清除屏幕很简单:(这是GHCI)
import System.Console.ANSI
clearScreen
答案 2 :(得分:11)
在了解ANSI转义序列的终端上(我相信Unix / Linux系统中的每个术语),您只需使用以下命令即可:
clear = putStr "\ESC[2J"
2
清除整个屏幕。如果要从光标到屏幕的结尾或从光标到屏幕的开头清除,则可以分别使用0
或1
。
但我认为这不适用于Windows shell。
答案 3 :(得分:8)
在Unix系统上,您可以System.system "clear"
执行命令行实用程序清除。对于不依赖于外部工具的解决方案,您需要一个可以在不同终端类型上进行抽象的库,例如ansi-terminal。
答案 4 :(得分:5)
只需按Ctrl + L(适用于Windows)
答案 5 :(得分:3)
Windows的快速方法是
import System.Process
clear :: IO ()
clear = system "cls"
答案 6 :(得分:3)
在Windows上,将 Ctrl + L 用于Haskell命令提示符终端。而且,对于GUI,请使用 Ctrl + S 。
答案 7 :(得分:0)
在Linux下(至少是Ubuntu),这是我用来清理终端的代码:
import qualified System.Process as SP
clearScreen :: IO ()
clearScreen = do
_ <- SP.system "reset"
return ()