首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何绑定函数键以发出颜色代码?

如何绑定函数键以发出颜色代码?
EN

Stack Overflow用户
提问于 2018-01-04 09:27:55
回答 1查看 73关注 0票数 0

我正在做一个终端录音,我想改变终端的前景色,以强调某些部分(如某些命令行参数)在录音中。

如何映射函数键以在bash/readline中发出颜色代码?

我可以使用bind '"\e[21~":"\e[A"'绑定到其他东西,比如箭头键,所以我认为做一些类似于bind '"\e[21~":"\e[[31m"'的事情应该发出一个颜色代码并更改fg颜色。

没有。我该怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-04 09:49:42

如果将键绑定到像\e[A这样的字符串,那么这个键就会发出这个字符串,然后由readline库再次解析这个字符串并对其进行解释(在本例中,表示"up“的意思是指向函数previous-history)。该字符串从未打印到终端。

因此,如果要打印某些内容,则需要将键绑定到打印任意内容的函数( ANSI颜色转义序列)。我不知道这样的读行函数,因为如果您仔细考虑,它就没有多大意义。问题是读行没有有色字符的概念(没有内部模型)。读行只适用于原始字符,没有字符样式。切换颜色,输入一些可见字符,然后使用光标键编辑已经键入的字符(可能是彩色的,可能是标准的) --这样的东西会导致重新绘制整条线。在这个过程中,颜色将很快被消除(因为读行并不真正了解它们)。

所以我想你想要的是不可能的。这是一个不受readline支持的特性,您不能简单地从外部(正确)添加到它中,而不会破坏一些东西。

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

https://stackoverflow.com/questions/48092218

复制
相关文章

相似问题

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