ansi-escape相关内容

规范地确定光标键的转义序列

我想对光标键做出反应;为此,我想找出当前终端以规范的方式使用的转义序列。大多数解决方案在源代码中仅包含字符串“ \e [A” 等。我知道在目标系统使用不同的转义序列的情况下这不是可移植的。 我尝试使用 tput 以获得正确的转义序列,但是 tput kcud1 返回的转义序列与用于向下箭头键的转义序列不同:它返回“ \eOB” ,但键结果为“ \e [B” 。但是,没有给tput赋予任何大写 ..
发布时间:2020-06-06 19:15:01 其他开发

ANSI转义码序列“ ESC [> c”是什么?

在bash中键入“ vi [FILENAME]”后,得到以下结果: .... \r\ “ gu1.txt\” 16L,87C ESC [> cESC [1; 1H 111\r\ 11n1112 ..... 此行中标记的第一个文本是文件名,其后跟vi结果。 第二个文本包含两个我不理解其含义的转义序列: ESC [> c 和 ESC [1; 1H 。 最后一个文本包括显示为vi ..
发布时间:2020-06-06 19:14:59 其他开发

Python正则表达式转义字符

我们有: >> str 'exit\r\ndrwxr-xr-x 2 root root 0 2000年1月1日 \x1b [1; 34mbin\x1b [0m\r\ndrwxr-xr-x 3 root root 2000年1月1日0x1b [1; 34mlib\x1b [0m\r\ndrwxr-xr-x 10] root root 0 1970年1月1日\x1b [1; 34ml ..
发布时间:2020-06-06 19:14:54 Python

当使用get-content回显到屏幕时,如何启用powershell解释ansi颜色代码?

我有一个日志文件,其中包含围绕各种文本的ansi颜色代码。我使用powershell语言命令将其回显到控制台: get-content logfile.log -wait 这样我就可以看到最新的日志更改。但是,所有的ansi颜色代码都显示为文本字符,例如: Esc [90mEsc [39m 如何在Powershell窗口中将它们解释为颜色代码? ..
发布时间:2020-06-06 19:14:51 其他开发

如何在Python中从字面上打印字符串

这可能真的很简单,但我找不到它。 我需要打印Python字符串中包含的内容。我正在从串行端口收集数据,我需要知道它是否正在发送CR或CRLF +其他不是ascii的控制代码。 例如,我说 s =“ ttaassdd\n\rssleeroo” 然后我想做的是: print s 在哪里显示\n\r而不是将其隐藏为转义字符。 解决方 ..
发布时间:2020-06-06 19:14:45 Python

tmux手册页搜索突出显示

例如,当我在 tmux 会话中搜索 man ls 时,搜索字符串不会t会以突出显示的形式出现-该页面跳下来,使得搜索字符串如预期那样位于缓冲区的第一行,但未突出显示。 在同一外壳中而不在 tmux 会话中执行相同的操作会导致突出显示搜索字符串。 我不知道从哪里着手解决这个问题。任何提示表示赞赏。 解决方案 修复了该问题。问题在于屏幕 $ TERM 处理斜体的方式。从 tmux ..
发布时间:2020-06-06 19:14:43 其他开发

ANSI颜色特定的RGB序列重击

我知道在bash终端中更改颜色的可靠方法是使用ANSI转义序列。例如: echo -e“ \033 [0; 31mbrown text\033 [0; 00m] 应该输出 棕色文本(棕色) 有没有一种方法可以使用特定的RGB集来输出颜色ANSI?说我要亮红色: echo -e“ ** \033 [255:0:0m ** red text\ ..
发布时间:2020-06-06 19:14:38 其他开发

过滤掉ANSI转义序列

我有一个python脚本,该脚本试图解释分别向stdout和stdin写入和读取的数据痕迹。问题在于,这些数据充满了我不在乎的ANSI转义符。这些转义是JSON编码的,因此看起来像“ \033 [A”和“ \033] 0;”。我实际上不需要解释代码,但是我确实需要知道每个代码中包含多少个字符(您会注意到第一个序列是6个字符,而第二个序列是7个字符)。有没有直接的方法可以从我拥有的字符串中过滤掉这些 ..
发布时间:2020-06-06 19:14:35 Python

在Windows上为stdout启用ANSI颜色的P​​ython模块?

我正在寻找可以在Windows下添加ANSI支持的Python模块。 这意味着导入模块后,如果输出ANSI转义的字符串,它们将 解决方案 有两个可以执行此操作的python模块 colorama 和 tendo.ansiterm 模块,最初是为 waf 。 通过初步测试表明, colorama 更成熟,即使它需要两行代码而不是一行。 导入系统 尝试: 导入colorama ..
发布时间:2020-06-06 19:14:33 Python

如何进行单元/集成测试程序的ANSI转义代码行为?

我已经开始向我的应用程序添加一些着色和其他功能(行重置等),并且希望进行一些有关行为的单元测试. 我知道我可以断言输出包含适当的\e[...代码,但这很脆弱.例如,如果将其交换为\033或以其他琐碎但不完全相同的方式进行重构,则会失败. 但是,更重要的是,测试字符序列并不能真正实现我想要的功能.我想断言或验证行为并未更改(甚至根本无法在特定环境中运行). 是否有任何合理的方法来测 ..
发布时间:2020-05-29 18:39:01 Java开发

如何区分转义和转义序列

我的最终目标是区分键盘上的 Esc (ASCII 27)和键盘上的→ 键(到27 91 67的序列).我正在使用termios将终端设置为非规范模式. 我想我知道有两种选择: 等待一些时间,看看是否有东西进来(似乎很hacky) 检查STDIN是否为空 我正在尝试后者.为此,我试图使用select来查看stdin是否为空. 问题 select似乎总是返回0(超时到期 ..
发布时间:2020-05-29 18:35:25 其他开发

什么是回车,换行和换页?

以下控制字符是什么意思: 回车 换行符 换页 解决方案 回车表示返回到当前行的开头而不向下移动.该名称来自打印机的托架,因为在创建该名称时很少使用监视器.通常以\r转义,缩写为 CR ,并具有ASCII值13或0x0D. 换行是指向下前进到下一行;但是,它已被重新调整用途并重命名.用作“换行符",它终止行(通常与分隔行混淆).通常以\n转义,缩写为 LF 或NL,并 ..

用ncurses处理转义序列? printf是否处理转义序列?

我的程序从网络读取了一些文本数据,例如: Hello \033[1;34mworld\033[0m and bla bla bla!!!\n". 当程序使用prinf输出此字符串时,单词"world"为蓝色.但是,当我将ncurses接口与wprintw或addch一起使用时,会看到带有转义序列的原始字符串. 这是否意味着printf处理转义序列? 用ncurses处理转义序列的最佳方法是什么? ..
发布时间:2020-05-16 23:07:49 其他开发

诅咒如何保存屏幕内容?

启动(n)curses程序时,它将从终端仿真器中删除滚动条,清除屏幕,滚动日志(历史记录)也将消失.退出程序时,屏幕内容会再次出现,滚动条返回,滚动缓冲区返回. 它的作用是什么?我已经研究了所有ANSI转义代码,看不到任何可以做这种事情的东西.这背后的技术是什么? 解决方案 该技术称为备用屏幕缓冲区.终端仿真器提供两种模式:主模式和备用模式.备用屏幕缓冲区没有向后滚动,当您在这些缓冲 ..
发布时间:2020-05-16 23:07:43 其他开发

保存和还原终端内容

我正在编写自动化脚本(perl/bash).他们中的许多人都受益于一些基本的终端GUI.我想我会使用标准的ANSI序列进行基本绘图.在绘制终端之前,我先执行clear,但是这样做会丢失一些终端命令历史记录.我希望能够在程序存在时恢复终端命令历史记录.许多终端程序(例如less,man,vim,htop,nmon,whiptail,dialog等)都可以做到这一点.所有这些都还原了终端窗口,从而使用 ..
发布时间:2020-05-01 08:47:07 服务器开发

如何确定ANSI端子的尺寸?

标准输入和输出连接到实现ANSI转义序列但尺寸未知的终端. 我需要知道终端有多大,以便于在其上绘制全屏文本UI.如何获得尺寸? 没有将正确的大小加载到环境变量中.我不能使用TIOCGETS;调用将返回成功,但值不正确-内核也不知道大小. 搜索stackoverflow有很多答案,但是它们全都取决于操作系统以另一种方式提供答案.但这不是真的. 我能找到的最好的线索是返回当前光 ..
发布时间:2020-04-27 04:04:10 其他开发