Kullanıcım uygulama menüsünden bir seçenek seçtikten sonra bir terminal ekranını nasıl temizleyebilirim?
Kullanıcım uygulama menüsünden bir seçenek seçtikten sonra bir terminal ekranını nasıl temizleyebilirim?
Yanıtlar:
:! kabuk komutunu çalıştır
:! cls pencerelerin altında
:! linux ve OS X altında temizle
:! cls
benim kullanım durumum için yeterli, ancak soruyu soran kişi GHCi kullanmadığından sorucunun durumu için çalışmıyor.
Aradığınız şey bu olabilir:
ansi-terminal: Windows uyumluluğu ile basit ANSI terminal desteği
Hackage'da bulabilir ve kullanarak yükleyebilirsinizcabal install ansi-terminal
. Özellikle ekranı temizleme, renkleri görüntüleme, imleci hareket ettirme vb. İşlevlere sahiptir.Ekranı temizlemek için kullanmak kolaydır: (bu GHCI ile)
import System.Console.ANSI
clearScreen
ANSI kaçış dizilerini anlayan bir terminalde (Unix / Linux sistemlerindeki her terime inanıyorum) bunu basitçe aşağıdakilerle yapabilirsiniz:
clear = putStr "\ESC[2J"
2
Tüm ekranı temizler. Kullanabilirsiniz0
1
İmleçten ekranın sonuna veya imleçten ekranın başına kadar temizlemek isterseniz sırasıyla veya tuşlarını .
Ancak bunun Windows kabuğunda çalıştığını düşünmüyorum.
Ctrl + L tuşlarına basmanız yeterlidir (Windows'ta çalışır)
Unix sistemlerinde, System.system "clear"
sadece komut satırı yardımcı programını temizleyen yapabilirsiniz. Harici araçlara bağlı olmayan bir çözüm için, örneğin ansi-terminal gibi farklı terminal türlerini özetleyen bir kitaplığa ihtiyacınız vardır .
Windows'ta hızlı bir yol,
import System.Process
clear :: IO ()
clear = system "cls"
system "clear
.
Windows'ta Haskell komut istemi terminali için Ctrl + L tuşlarını kullanın . Ve GUI için Ctrl + S kullanın .
Linux altında (en azından Ubuntu), terminali temizlemek için kullandığım kod bu:
import qualified System.Process as SP
clearScreen :: IO ()
clearScreen = do
_ <- SP.system "reset"
return ()