首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Windows上清除Iex中的屏幕

如何在Windows上清除Iex中的屏幕
EN

Stack Overflow用户
提问于 2015-06-17 18:14:07
回答 5查看 3.3K关注 0票数 10

请如何清除Iex上的屏幕

在Iex帮助中记录的方法不起作用:

  • clear/0 -清除屏幕

这个StackOverflow的答案在Windows中也不工作。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-12-20 00:08:27

我发现这是可能的,因为Windows 10中的本机终端支持ANSI颜色和转义序列。唯一的办法是在iex shell中启用它。

根据https://github.com/elixir-lang/elixir/blob/master/lib/elixir/lib/io/ansi.ex#L41,这个选项是可配置的。作为一种快速解决方案,只需输入您的iex会话,代码如下:

Application.put_env(:elixir, :ansi_enabled, true)

为了使其永久化,您可以在iex文件(https://hexdocs.pm/iex/IEx.html#module-configuring-the-shell)中配置~/.iex.exs shell。只需粘贴到文件中:

IEx.configure [colors: [enabled: true]]

票数 14
EN

Stack Overflow用户

发布于 2016-06-25 16:14:09

您可以在iex上直接使用ANSI代码和支持它们的控制台(比如ConEmu或Windows10控制台)。

这将清除iex中的屏幕。

代码语言:javascript
复制
iex> IO.write "\e[H\e[J"; IEx.dont_display_result

解释:

  • 没有换行符的IO.write输出到控制台
  • \e[是ANSI CSI码的前缀。
  • H是CSI杯-游标位置代码,没有参数,默认情况下将光标移到第1行第1列。
  • J是没有参数的CSI编辑-擦除显示代码,默认情况下从当前光标位置清除屏幕。
  • IEx.dont_display_result防止在清除屏幕后显示IO.write:ok结果。

您还可以使用IO.ANSI而不是原始转义代码清除屏幕:

iex> IO.write [IO.ANSI.home, IO.ANSI.clear]; IEx.dont_display_result

这基本上就是clear/1实施的样子。

票数 6
EN

Stack Overflow用户

发布于 2015-06-18 08:39:14

是的,据我所知,我们不能在Windows上清除它。如果有一种方法可以输出到IO设备以清除Windows上的屏幕,我想知道这个功能并将其添加到Windows中。:)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30899247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档