如何清除Haskell中的终端屏幕?

时间:2010-03-18 18:28:25

标签: haskell terminal ghci

用户从我的应用程序菜单中选择了一个选项后,如何清除终端屏幕?

8 个答案:

答案 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清除整个屏幕。如果要从光标到屏幕的结尾或从光标到屏幕的开头清除,则可以分别使用01

但我认为这不适用于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 ()