问题标签 [ansi-escape]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3078 浏览

emacs - 在 Emacs 中修改 ansi-term 颜色

下面红色椭圆中的文字很难阅读

                     在此处输入图像描述

当我用C-u C-x =(什么脸)检查脸时,我看到以下内容:

在此处输入图像描述

所以我去更新脸部term-bold(见下文),但颜色似乎与我在上面屏幕上实际得到的不匹配(根据脸部定义,它应该是蓝色+黄色)。有什么想法吗?

在此处输入图像描述

0 投票
1 回答
303 浏览

ruby - 为 ANSI 转义序列构建一个非常简单的包装器

也许是不可能完成的任务。曾几何时,我SimpleDialog为 DOS 窗口中的文本着色编写了一个 Ruby 模块。它通过与 Windows API 对话来实现。现在我想让它也适用于 Mac OS,甚至适用于整个 unix 世界。好的,目前只有 Terminal 和 xterm 可以满足我的需求。ANSI 转义序列似乎是适合这项工作的武器。但是使用它们我不能总是按照我的意愿处理事情。这是我尝试实现的功能:

"\e[H\e[2J"部分与clear命令相同(这就是我找到此序列的方式[在一些实验后第二天编辑:"\e[2J"不会删除序列之前发送的任何文本"\e[H",即使它在屏幕上可见])。终端和 xterm 仅清除屏幕的可见部分[问题 1]。该"\ec"部分对终端不再有意义,但这次 xterm 确实成功清除了整个屏幕缓冲区。这样做时,它会响铃[问题 2],而终端保持沉默。由于"\ec"序列会重置颜色,因此必须再次恢复最后的设置。完全不是很优雅。这clear从命令行提交的命令通常会清除 xterm 的整个屏幕缓冲区。但是,它不能消除我试图通过仅从"\e[H\e[2J"Ruby 发送来清除屏幕而留下的部分。

color方法几乎可以正常工作,只有一个令人失望。在 Windows 中,我可以更改矩形的颜色,而无需修改已放置在其中的文本。我看不出如何通过 ANSI 转义序列[issue 3]来做到这一点。当然,作为一种解决方法,我可以记住所涉及的文本并在之后恢复它。而这个真的让我很困惑:对"\e[6n"(报告光标位置)的响应被打印到屏幕上,最后几个字符在命令提示符后重复。它可以被 Ruby [问题 4]拦截吗?

其他方法是小菜一碟:

MS-Windows 也允许我获取title当前窗口标题,但我看不到它的真正用途(当参数是空字符串时,xterm 根本不听,顺便说一句)。该write方法利用该color方法。这里没有问题。所以,最后,要克服四个障碍。还是一起生活?

0 投票
0 回答
800 浏览

ruby - 从字符串中删除 ansi-escape-sequences 同时仍然尊重它们

如果我有一个带有 ansi 转义序列的字符串,当我将它们打印到终端时,它们可以为我移动光标,所以我最终得到以下结果:

如何编写一种方法来将字符串编码为最终输出。这种方法需要比仅仅剥离转义序列更复杂 - 因为它们实际上需要对最终字符串产生影响。

换句话说,我该如何写some_magic才能给我这种任意输入字符串的输出。

0 投票
1 回答
294 浏览

linux - ansi-terminal:Windows 上的意外行为

我正在 Haskell 中试验ansi-terminal,与 Linux 相比,Windows 上的行为似乎有问题。在 Linux 上,我得到一个蓝色的“@”,我可以用 wasd 键移动它(如预期的那样),并且可以通过按任何其他键退出。在 Windows 上,我只是得到一个不会移动的白色“@”,并且根本无法移动角色。

如何在 Windows 中复制 Linux 行为?

几点注意事项:

  • Windows,我的意思是我在 wine 下编译和运行
  • 阴谋集团 1.18.0.3
  • ghc 7.6.3
  • 通过'wine cabal install'安装了ansi-terminal
  • 如果可能的话,我宁愿不必使用 ncurses (hscurses)

更新:最小的失败代码是:

在 Linux 上,这样做是“正确”的事情,即打印了一个蓝色的“@”。在酒下,我看不到任何变化。我希望这只是 wine 的一个特性,而不是 Windows,因为我没有 Windows 盒子来尝试这个。

我试过的(原始)代码:

0 投票
1 回答
1109 浏览

build - 如何从 Sublime Text 3 的构建输出中删除颜色?

我在 Sublime Text 3 中使用了一个默认输出颜色的构建系统,我想要一种简单的方法从构建窗口的输出中去除该颜色。

这是我的崇高项目文件:

我怎样才能完成我想做的事情?

0 投票
1 回答
361 浏览

c - ANSI 键序列

  • 平台:Linux 3.2.0 x86 (Debian Wheezy)
  • 编译器:GCC 4.7.2 (Debian 4.7.2-5)

我正在编写一个函数,它读取由键生成的 ANSI 转义序列并返回与输入的键对应的宏。我已经测试了我的功能,它可以正确读取箭头键。但是该功能目前只能读取箭头键,我想添加控制/备用组合、功能键、主页、插入等。但是我似乎找不到键的所有 ANSI 转义序列的列表。事实上,我找到了一份 ECMA-48 的副本,当没有提到密钥的转义序列时,我感到很困惑。那么有谁知道我在哪里可以获得与功能键、箭头键等相对应的 ANSI 转义序列列表?

0 投票
2 回答
128 浏览

redis - 控制台上奇怪的 REDIS 字符?

我已经从 MsOpenTech安装了最新版本的 Redis v2.8.9

服务器已启动,一切正常。

但是当我调用redis-cli.exe并输入单词时info我看到每个 char {each click} 周围都有奇怪的信息

在此处输入图像描述

对于 redis 的先前版本(2.8.4),它不会发生并且所有字符都正常显示。

问题

那些额外的字符是什么?我怎样才能让它正常显示?

nb - Windows 8 / 64位

0 投票
1 回答
606 浏览

io - Julia:控制光标在打印输出中的位置

我在 Julia 包(ProgressMeter)中发现了一些很酷的东西,它允许用户控制光标所在的位置以打印消息,即

这些"\u1b[1G"作品叫什么,我在文档中查找它们时遇到了麻烦。还有哪些可能的事情?我可以将光标向上移动 1 行吗?

编辑:

我做了一些实验:

当我使用\u1b[1H它时,它将光标带到控制台顶部u1b[1J并将其带到控制台顶部并清除控制台的其余部分。

0 投票
1 回答
293 浏览

perl - Ansi-转义序列和重定向:意外行为

当我运行此脚本时,只要我不重定向STDOUT到文件,它就可以正常工作。当我重定向STDOUT到文件时,ENTER:中断后的输出。如果我将 重定向到文件,为什么脚本不再起作用STDOUT

0 投票
1 回答
104 浏览

c# - 如何基于vt320更改TE的窗口标题?

我们正在开发基于套接字的应用程序。为了与服务器通信,我们使用基于 vt320 的终端。

例如,我们使用一些 ANSI 转义字符来清除屏幕、开始打印、结束打印。

现在我们正在寻找如何更改TE的窗口标题,但直到现在都没有成功。

有人可以帮助我吗?