问题标签 [vt100]

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 投票
0 回答
734 浏览

python - 通过 os.system('') 激活 VT100?

在 Win10 conhost 获得 VT100 支持后,我尝试了一下。最终我发现os.system('')在 Python 中激活了支持并得到以下结果:

输出

(第二个Test印成蓝色。)

我在这里读到Python 不要求 Windows 启用 VT100,那么为什么os.system还要激活它呢?

0 投票
3 回答
20360 浏览

powershell - 使用 ANSI / VT100 代码在 PowerShell 控制台中输出彩色文本

我编写了一个打印字符串的程序,其中包含ANSI 转义序列以使文本着色。但正如您在屏幕截图中看到的那样,它在默认的 Windows 10 控制台中无法正常工作。

程序输出与转义序列一起显示为打印字符。如果我通过变量或管道将该字符串提供给 PowerShell,则输出将按预期显示(红色文本)。

如何在没有任何解决方法的情况下实现程序打印彩色文本?

在此处输入图像描述

这是我的程序源(Haskell)——但语言不相关,只是为了让您可以看到转义序列是如何编写的。

0 投票
2 回答
118 浏览

c - 倒回 VT100 终端命令中的一段文本

我基本上想操纵连接到终端的某些程序的输出,以便文本的底部始终是任意文本块(我们称之为页脚),而程序的正常输出显示在其上方。如果此页脚仅限于单个终端行,则只需清除当前行,在每次write调用之前将光标移动到行首,然后重写页脚,就可以很容易地做到这一点。但是,如果我想要的页脚跨越多个终端行,无论是通过包含换行符还是通过环绕屏幕边缘的行,事情都会变得复杂。我想我可以使用“保存光标”和“恢复光标”VT100 控制代码来解决这个问题,每次写入都会发出这些代码:

  1. 恢复光标
  2. 想要的write电话
  3. 保存光标
  4. 输出页脚

但是,当输出文本到达终端底部时,这些不起作用,因为保存的光标将始终位于底行。

有没有办法实现这个任意的终端页脚?只有 VT100 代码的东西是理想的,但如果唯一的方法是使用诅咒,那么我想这也是可能的。

0 投票
1 回答
1620 浏览

java - 如何在 Windows 上的 java 中使用 vt100 转义码

vt100 转义码是一种强大且流行的方法,用于在 xterm 或 konsole 等虚拟终端上格式化输出(颜色、定位、闪烁、下划线等)。见https://en.wikipedia.org/wiki/ANSI_escape_code

当您在 xterm、konsole 等和System.out.print此类代码中运行 java 程序时 - 例如

java 将它们原封不动地传递给终端,因此这些终端随后会解释代码并按照您的预期行事。

Java 程序应该是独立于平台的,但是当你从 windows 命令提示符运行这样的程序时,你会看到打印出来的代码,如下所示:

在寻找解决此问题的方法后,我找不到简单的解决方案,甚至找不到有关该主题的讨论。大多数解决方案都依赖于在不同的控制台应用程序中运行您的程序,或者在您的程序中包含一个基于 java 的自定义控制台。

那么 - 如何在 Windows 默认命令提示符下轻松使用 vt100 格式的文本?

0 投票
1 回答
1443 浏览

cross-compiling - “打开终端时出错:vt100。” 在 ARM 上运行带有 ncurses 的二进制文件时

我为 ARM 交叉编译了 ncurses。编写了一个链接到它的示例应用程序。尝试在 ARM 上运行二进制文件时,出现此错误。

打开终端时出错:vt100。

看起来我缺少一些 terminfo 安装,但不完全确定如何做到这一点。有人可以帮我吗?

这是 ./configure 命令 - ./configure --host arm64-linux-gnu --prefix=/sw/nic/third-party/ncurses-6.1/arm64/ -with-termlib --enable-termcap --with -caps --disable-database --with-fallbacks --without-xterm-new

** NCURSES 6.1 20180127 的配置摘要:

** 包含目录不在标准位置之后,我正在制作,我正在打包以下内容并将其加载到 ARM 板上。ncurses-6.1/lib/* /usr/share/terminfo/*

提前致谢。

问候, 赛

0 投票
3 回答
1959 浏览

bash - 刷新前 N 行并使用转义序列将光标重置到当前行的末尾?

这里的情况,我想做一些终端交互,我想启动子线程刷新前N行,并使用主线程来处理用户输入。

之后程序将打印可变字符串,也许是一些日志。

子线程是这样的:

例如:

刷新代码运行良好,但光标将重置到行首,我想始终将其移动到最后一行的末尾。我该怎么做这个把戏?

任何帮助将不胜感激。

0 投票
1 回答
246 浏览

terminal - 如何以及是否在没有 Ncurses 的情况下为文本着色

Ncurses 可以为文本着色,但 GNU 实用程序喜欢ls并且diff显然可以在不调用 Ncurses 的情况下为文本着色。我也可以在不调用 Ncurses 的情况下对文本进行便携式着色吗?例如,在 C 中:

这适用于我的安装,但看起来不太便携。另一方面,如果ls或多或少diff地以这种方式进行,那么我该称谁为不可移植的技术呢?

检查 GNU 源代码,我注意到ls使用dircolorsor $LS_COLORS,但不确定这与除ls. 无论如何,据我所知,既不使用也不使用Ncursesdiff进行着色。dircolors$LS_COLORS

此外,less -r似乎可以毫无问题地处理我的示例输出。

我错过了什么吗?\033[32m每当不需要 Ncurses 的完整机器时,发出像绿色这样的原始转义码真的是为文本着色的传统方法吗?或者是否存在我不知道的标准、更有序的轻量级技术?

参考

Stackoverflow 早期的一个问题处理了这个话题。

为了获得更多信息和方便参考,VT100/ANSI/ECMA-48 的转义序列,包括着色器,在源文件misc/terminfo.src末尾的 Ncurses 源中进行了解释和分类,摘录如下。

0 投票
1 回答
1379 浏览

terminal - 转义码 VT102 和 ANSI

我使用 minicom 通过串行线路与一个以十六进制转储接收到的字符的设备进行通信。我这样做是为了查看某些键的转义码。我用 VT102 终端仿真和一次 ANSI 尝试了 minicom。

对于 VT102 和 ANSI,箭头键对应于

这与我在几个网站上找到的内容相匹配,例如VT102 User Guide

我尝试了其他在整个网络上找不到任何参考的键:

这些代码是标准的吗?以及什么标准?我在哪里可以在互联网上找到匹配项?

如果我通过命令行(xfce-terminal)尝试,按以下顺序按 Home、End 和 Insert:

似乎 Home 等于 Minicom ANSI 序列,End 将 'O' 更改为 '[',Insert 等于 Minicom VT102 转义序列。
同样运行 GtkTerm。

我也尝试在 Windows 上使用 TeraTerm,但结果仍然不同。

总结

0 投票
1 回答
211 浏览

iterm2 - 如何识别正在使用的终端仿真器?

我正在开发一个库,该库需要识别正在运行的终端仿真器以输出特定于仿真器的转义码序列。

例如,iTerm 2 使用以下专有序列:

ConEmu使用 以下专有序列

现在,我需要查询终端(使用环境变量或使用转义序列)以输出正确的终端特定代码。

如何可靠地检测和识别我正在运行的终端仿真器?

0 投票
0 回答
185 浏览

c++ - 如何将 C++ 中的 VT100 转义序列打印到 Windows 终端?

我想将本网站http://www.climagic.org/mirrors/VT100_Escape_Codes.html中给出的 VT100 转义序列打印到屏幕上。我使用的是 windows10 PC。我对他们真的了解不多。