栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在TERM = linux中,ctrl +箭头(左,右,…)的终端转义序列是什么

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在TERM = linux中,ctrl +箭头(左,右,…)的终端转义序列是什么

终端是由键盘和输出设备组成的硬件设备(最初是硬拷贝打印机,后来是CRT监视器)。一台大型计算机可以连接多个远程终端。每个终端将具有用于与计算机进行有效通信的协议,对于基于CRT的终端,这包括具有特殊的“控制序列”以更改光标位置,擦除当前行/屏幕的一部分,切换到备用全屏模式。
..

终端模拟器是一种模拟那些较旧的终端之一的应用程序。它允许执行诸如光标定位,设置前景色和背景色之类的功能,…终端仿真器尝试模拟某些特定的终端协议,但是每个都有自己的一套怪癖和偏差。

Unix系统具有描述终端和终端仿真器的数据库,因此应用程序是从使用中的特定终端(或终端仿真器)中抽象出来的。较旧的数据库是

termcap(5)
,而
terminfo(5)
较新的数据库。这些数据库允许应用程序查询使用中的终端的功能。功能可以是布尔值,数字功能,甚至是字符串功能,例如:如果特定终端类型具有/支持F12键,则它将具有功能“
key_f12”(长期信息名称),“ kf12”(短期信息名称),描述密钥生成的字符串的“ F2”(termcap名称)。尝试使用:
tput kf12 |od -tx1

由于直接使用功能进行编程可能很麻烦,因此应用程序通常使用更高级别的库,例如curses / ncurses,slang等。

有一个称为的特殊环境变量

TERM
,它告诉应用程序正在与哪种终端类型通信。如果该变量存在于数据库中,则应将其设置为确切的终端类型,以获得最佳结果。这只是告诉应用程序终端了解哪些精确的协议和协议偏差。更改
TERM
变量并
没有 改变终端的类型,它只是改变了终端类型的应用程序认为它聊天。

所说的

Ctrl+arrow
只是xterm行为(取决于配置选项),根本不会反映在terminfo /
termcap数据库中,因此大多数应用程序对此一无所知。无论哪种方式,您的终端仿真器(在您的情况下
pyte
)都支持它,或者不支持。

假设您的主应用程序是

bash
或其他使用该
readline
库的应用程序,则您可能会改用readline
backward-word
(默认情况下是meta-b / Alt-b / ESC b,可在中配置
inputrc
)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/399165.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号