| TERMCAP(5) | Linux Programmer's Manual | TERMCAP(5) |
NAME
termcap 终端功能数据库
描述 DESCRIPTION
termcap 数据库是一个过时 (obsolete) 工具,用来描述以字符为单位的终端和打印机的功能。它之所以被保留,是为了兼容古老的程序;新程序应当使用terminfo(5) 数据库和相关的库。
/etc/termcap 是一个 ASCII 文件 (数据库主控文件),列出了许多不同类型终端的功能。程序可以读取它,来找到控制实际使用的终端的可视化属性的特定的脱逸字符 (escape code)。(终端的其他方面是 stty 处理的。)termcap 数据库按照 TERM 环境变量进行索引。
Termcap 条目必须以单个逻辑行定义,在新行符处应当用 `\' 来续行。字段以 `:' 分隔。每个条目的第一个字段从左边起始,包含一系列终端的名称,以 '|' 分隔。
第一个子字段可能 (在 4.3 及以前的 BSD termcap 条目中) 包含由两个字符组成的简称。这个简称可以由大写或小写字母组成。在 4.4BSD termcap 条目中,这个字段被忽略。
第二个子字段 (在较新的 4.4BSD 格式中是第一个字段) 包括环境变量 TERM 使用的名字。只能使用小写字母。可选的硬件功能应当通过附加一个连字符 (hyphen) 和后缀来标记。参见下面的范例。一般使用的后缀是 w (行宽超过 80 个字符),am (自动加边),nam (不自动加边),和 rv (反转视频显示)。
第三个子字段包含一个对这个 termcap 条目的长的描述性的名字。
接下来的字段包含终端功能。任何连续的功能行必须从左边缩进一个指标符 (tab) 位置。
尽管没有定义顺序,建议你将布尔值写在最先,然后是数字值,最后是字符串值;按照字母排序,没有大小写之分。类似功能可以写在同一行。
例如:Head line: vt|vt101|DEC VT 101 terminal in 80 character mode:\Head line: Vt|vt101-w|DEC VT 101 terminal in (wide) 132 character mode:\Boolean: :bs:\Numeric: :co#80:\String: :sr=\E[H:\
布尔值 Boolean Capabilities
5i 打印机不在屏幕上回显am 自动加边,意味着自动卷行bs Control-H (8 dec.) 执行一个退格 (backspace)bw 在行的左边退格回到上一行的右边da 显示保留在屏幕上方db 显示保留在屏幕下方eo 一个空格删除光标所在位置的所有字符es 工作在状态行的转义顺序 (escape sequence) 和特殊字符gn 普通设备hc 这是一个硬拷贝终端HC 光标不在底线时几乎看不见hs 有一个状态线hz Hazeltine bug, 终端不能打印 ~ 符号in 终端插入空字符,不是空格,来填充空白km 终端有一个meta键mi 光标移动是工作在插入模式下ms 光标移动是工作在突出/下划线 (standout/underline) 模式NP 无填充字符NR ti 不能反转为 tenx 无填充,必须使用 XON/XOFFos 终端能重击 (将光标置于要改变的字符下面,再通过键盘输入一个字符来替换原来的字符。)ul 终端不能被重击,只能下划线xb 蜂窝信号,f1 发射 ESCAPE, f2 发射 ^Cxn 换行/返转信号xo 终端使用xon/xoff协议xs 打印的文字超过突出的文本,将显示在突出的位置xt Teleray 信号,破坏tabs 和奇数化突出模式(standout mode)
数字值 Numeric Capabilities
co 列数dB 硬拷贝终端上退格 (backspace) 延时,以毫秒为单位dC 硬拷贝终端上回车 (carriage return) 延时,以毫秒为单位dF 硬拷贝终端上打印纸进纸 (form feed) 延时,以毫秒为单位dN 硬拷贝终端上新行符 (new line) 的延时,以毫秒为单位dT 硬拷贝终端上制表符停止位 (tabulator stop) 的延时,以毫秒为单位dV 硬拷贝终端上垂直制表符停止位的延时,以毫秒为单位it tab 位置间的差分lh 软标签高度lm 内存线(Lines of memory)lw 软标签的宽度li 行数Nl 软标签的数目pb 需要填充的最低波特率sg 突出信号ug 下划线信号vt 虚拟终端数目ws 若状态线宽度与屏幕宽度不同时的大小
字符串值 String Capabilities
!1 转义为保存键!2 转义为挂起键!3 转义为撤消键#1 转义为帮助键#2 转义为 home 键#3 转义为输入键#4 转义为光标左移键%0 重做 (redo) 键%1 帮助键%2 标记键%3 信息 (message) 键%4 转移键%5 下一对象 (next-object) 键%6 打开键%7 选项键%8 上一对象键%9 打印键%a 转义为信息 (message) 键%b 转义为转移键%c 转义为next键%d 转义为options键%e 转义为previous键%f 转义为打印键%g 转义为redo键%h 转义为替换键%i 转义为光标右移键%j 转义为恢复键&0 转义为取消键&1 参考键&2 刷新键&3 替换键&4 重新开始键&5 恢复键&6 保存键&7 挂起键&8 撤销键&9 转义为开始键*0 转义为查找键*1 转义为命令键*2 转义为拷贝键*3 转义为创建键*4 转义为删除字符*5 转义为删除行*6 选择键*7 转义为结束键*8 转义为清除行键*9 转义为退出键@0 查找键@1 开始键@2 取消键@3 关闭键@4 命令键@5 拷贝键@6 创建键@7 结束键@8 回车/发送键@9 退出键al 插入新行AL 缩进 %1 行ac 成对的图形字符块,映射替代的字符集ae 结束替代的字符集as 为图形字符块开始替代的字符集bc 退格,如果没有 ^Hbl 铃声bt 移动到前一个tab停止位cb 从行的开始处清除到光标处cc 虚设命令字符cd 清除到屏幕的末端ce 清除到行末ch 水平移动光标到 %1列cl 清除屏幕并将光标置位cm 光标移动到%1行,%2列 (屏幕中)CM 光标移动到%1行,%2列 (内存中)cr 回车cs 翻滚区域,从%1行到%2行ct 清除tabcv 垂直移动光标到%1行dc 删除一个字符DC 删除%1个字符dl 删除一行DL 删除%1行dm 开始delete模式do 光标下移一行DO 光标下移#1行ds 使状态行不可用eA 激活替代的字符集ec 从光标处开始,删除%1个字符ed 结束delete模式ei 结束insert模式ff 硬拷贝终端上的走纸符fs 在进入状态行之前返回字符到他的位置F1 由功能键F11发送的字符串F2 由功能键F12发送的字符串F3 由功能键F14发送的字符串... ...F9 由功能键F19发送的字符串FA 由功能键F20发送的字符串FB 由功能键F21发送的字符串... ...FZ 由功能键F45发送的字符串Fa 由功能键F46发送的字符串Fb 由功能键F47发送的字符串... ...Fr 由功能键F63发送的字符串hd 移动光标到下一行的中间ho 光标置初始位hu 移动光标到上一行的中间i1 登录时,初始化的字符串1i3 登录时,初始化的字符串3is 登录时,初始化的字符串2ic 插入一个字符IC 插入%1个字符if 初始化文件im 开始插入模式ip 插入填充时间和插入后所需要的特殊字符iP 初始化程序K1 辅助键盘的上左键K2 辅助键盘的center键K3 辅助键盘的上右键K4 辅助键盘的底部左键K5 辅助键盘的底部右键k0 功能键0k1 功能键1k2 功能键2k3 功能键3k4 功能键4k5 功能键5k6 功能键6k7 功能键7k8 功能键8k9 功能键9k; 功能键10ka 清除所有的tab键kA 插入行键kb 退格键kB 退回tab停止位kC 清屏键kd 光标下移键kD 删除光标下的字符键ke 关闭辅助键盘kE 清除到行末kF 向前/后滚卷kh 光标置初始位键kH 光标hown down键kI 插入字符/插入模式键kl 光标左移键kL 整行删除键kM 退出插入模式kN 下一页kP 上一页kr 光标右移键kR 向后/前滚卷键ks 开辅助键盘kS 清除到屏幕末端kt 清除这个tab键kT 设置这儿的tab键ku 光标向上键l0 如果没有f0,第零个标签功能键l1 如果没有f1,第一个标签功能键l2 如果没有f2,第二个标签功能键... ...la 如果没有f10,第十个标签功能键le 光标左移一个字符ll 移动光标到左底角LE 光标左移%1个字符LF 关闭软标签LO 开启软标签mb 开始闪烁MC 清除软标记md 开始粗体模式me 开始所有的模式如so, us, mb, md 和 mrmh 开始半闪烁模式mk 暗模式 (看不见字符)ML 设置左软标记mm 使终端为meta模式mo 使终端离开meta模式mp 打开保护属性mr 开始反亮模式MR 设置右软标记nd 光标右移一个字符nw 回车命令pc 填充字符pf 关闭打印机pk 对键%1编程,如同用户打印一样发送字符串%2pl 对键%1编程,以本地模式执行字符串%2pn 对软标签%1编程来显示字符串%2po 打开打印机pO 打开打印机%1 (<256)字节ps 在打印机上打印屏幕内容px 对键%1编程来发送字符串%2给计算机r1 向设定的终端重置字符串1到sane模式r2 向设定的终端重置字符串2到sane模式r3 向设定的终端重置字符串3到sane模式RA 取消自动标记功能rc 恢复存储的光标位置rf 重设字符串文件名RF 终端输入请求RI 光标右移%1个字符rp 重复字符%1,共%2次rP 替换模式中,在字符发送后填充rs 重设字符串RX 关闭XON/XOFF流量控制sa 设置 %1 %2 %3 %4 %5 %6 %7 %8 %9属性SA 激活自动标记功能sc 保存光标位置se 结束突出模式sf 正常滚卷一行SF 正常滚卷%1行so 开始突出模式sr 反向滚卷SR 向上滚卷%1行st 设置所有行的制表符的停止位到当前列SX 打开XON/XOFF流量控制ta 移动到下一个硬件tabtc 从另一个登记项读取终端描述te 结束使用光标动作的程序ti 开始光标动作的程序ts 移动光标到状态行的%1列uc 光标下方字符下划线,并向右移动光标ue 结束下划线up 光标向上一行UP 光标向上%1行us 开始下划线vb 可视化闹铃ve 正常的可见光标vi 光标不可见vs 突出光标wi 设置窗口,从%1行到%2行,从3%列到4%列XF XOFF字符,如果没有 ^S
还有一些方法定义字符串值功能的控制代码:
通常的字符表示它们自己,除了 '^','´ 和 '%' 。
一个 '^x' 表示Control-x. Control-A等于 1 个10进制数。
\x 表示一个特殊的代码。x 可以是以下的一个字符:
n 换行 Linefeed (10)
r 回车 Carriage return (13)
t 制表符 Tabulation (9)
b 退格 Backspace (8)
f 走纸符 Form feed (12)
0 空字符 Null character. \xxx 指定八进制为 xxx 的字符.
如果你使用二进制输出,那么你应该避免空字符,因为它是字符串的终止符。如果Tab键能够成为一个参数的二进制输出,你应该重新设置Tab键长度。
- 警告:
- 以上参数的元字符是针对 Minix 系统的 termcap,可能有一些问题,因为可能不是完全与 Linux 的 termcap 兼容的。
图形字符块通过三个字符串值功能来指定:
可以用下面这些名称:
+ 右箭头 right arrow (>), 左箭头 left arrow (<). 下箭头 down arrow (v)0 全直角 full square (#)I 上箭头 latern (#)- 上箭头 upper arrow (^)' 菱形 rhombus (+)a 棋板 chess board (:)f 度数 degree (')g 加-减 plus-minus (#)h 正方形 square (#)j 右下角 right bottom corner (+)k 右上角 right upper corner (+)l 左上角 left upper corner (+)m 左下角 left bottom corner (+)n 十字 cross (+)o 顶线 upper horizontal line (-)q 中线 middle horizontal line (-)s 下划线 bottom horizontal line (_)t 左侧T型 left tee (+)u 右侧T型 right tee (+)v 底部T型 bottom tee (+)w 常规T型 normal tee (+)x 垂直线 vertical line (|)~ 段落 paragraph (???)如果缺少相应功能,将缺省使用圆括号中的值,那是 curses 库使用的值。
参见 SEE ALSO
termcap(3), curses(3), terminfo(5)
[中文版维护人]
Timebob <[email protected]>
[中文版最新更新]
2000.12.15
《中国linux论坛man手册页翻译计划》:
http://cmpp.linuxforum.net
跋
本页面中文版由中文 man 手册页计划提供。
中文 man 手册页计划:https://github.com/man-pages-zh/manpages-zh
| Linux |