TERMCAP - Linux手册页
Linux程序员手册 第5部分
更新日期: 2020-08-13
名称
termcap-终端能力数据库
说明
termcap数据库是一种过时的工具,用于描述字符单元终端和打印机的功能。保留它仅是为了与旧程序兼容。新程序应使用terminfo(5)数据库和关联的库。
/ etc / termcap是一个ASCII文件(数据库主数据库),列出了许多不同类型的终端的功能。程序可以读取termcap来查找控制实际使用的终端的视觉属性所需的特定转义码。 (终端的其他方面由stty(1)处理。)termcap数据库在TERM环境变量上建立索引。
必须在单个逻辑行上定义Termcap条目,并使用aq \ aq禁止换行。字段之间用aq:aq分隔。每个条目的第一个字段都从左侧边缘开始,并包含终端名称列表,以aq | aq分隔。
第一个子字段可以(在4.3和更早版本的BSD termcap条目中)包含由两个字符组成的简称。该短名称可以由大写字母或小写字母组成。在4.4BSD中,termcap条目会省略此字段。
第二个子字段(第一个子字段,采用更新的4.4BSD格式)包含环境变量TERM使用的名称。应该用小写字母拼写。可选硬件功能应通过在此名称后附加连字符和后缀来标记。参见以下示例。通常的后缀是w(宽度超过80个字符),am(自动边距),nam(无自动边距)和rv(反向视频显示)。第三个子字段包含此termcap条目的描述性长名称。
后续字段包含终端功能;任何持续的功能行都必须从左边距缩进一个标签。
尽管没有定义顺序,但建议先编写布尔值,然后编写数字功能,然后编写字符串功能,每种功能都按字母顺序排序,而无需查看低位或高位拼写。相似功能的功能可以写成一行。
例如:
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 Printer will not echo on screen am Automatic margins which means automatic line wrap bs Control-H (8 dec.) performs a backspace bw Backspace on left margin wraps to previous line and right margin da Display retained above screen db Display retained below screen eo A space erases all characters at cursor position es Escape sequences and special characters work in status line gn Generic device hc This is a hardcopy terminal HC The cursor is hard to see when not on bottom line hs Has a status line hz Hazeltine bug, the terminal can not print tilde characters in Terminal inserts null bytes, not spaces, to fill whitespace km Terminal has a meta key mi Cursor movement works in insert mode ms Cursor movement works in standout/underline mode NP No pad character NR ti does not reverse te nx No padding, must use XON/XOFF os Terminal can overstrike ul Terminal underlines although it can not overstrike xb Beehive glitch, f1 sends ESCAPE, f2 sends haC xn Newline/wraparound glitch xo Terminal uses xon/xoff protocol xs Text typed over standout text will be displayed in standout xt Teleray glitch, destructive tabs and odd standout mode
Numeric capabilities
co Number of columns dB Delay in milliseconds for backspace on hardcopy terminals dC Delay in milliseconds for carriage return on hardcopy terminals dF Delay in milliseconds for form feed on hardcopy terminals dN Delay in milliseconds for new line on hardcopy terminals dT Delay in milliseconds for tabulator stop on hardcopy terminals dV Delay in milliseconds for vertical tabulator stop on hardcopy terminals it Difference between tab positions lh Height of soft labels lm Lines of memory lw Width of soft labels li Number of lines Nl Number of soft labels pb Lowest baud rate which needs padding sg Standout glitch ug Underline glitch vt virtual terminal number ws Width of status line if different from screen width
String capabilities
!1 shifted save key !2 shifted suspend key !3 shifted undo key #1 shifted help key #2 shifted home key #3 shifted input key #4 shifted cursor left key %0 redo key %1 help key %2 mark key %3 message key %4 move key %5 next-object key %6 open key %7 options key %8 previous-object key %9 print key %a shifted message key %b shifted move key %c shifted next key %d shifted options key %e shifted previous key %f shifted print key %g shifted redo key %h shifted replace key %i shifted cursor right key %j shifted resume key &0 shifted cancel key &1 reference key &2 refresh key &3 replace key &4 restart key &5 resume key &6 save key &7 suspend key &8 undo key &9 shifted begin key *0 shifted find key *1 shifted command key *2 shifted copy key *3 shifted create key *4 shifted delete character *5 shifted delete line *6 select key *7 shifted end key *8 shifted clear line key *9 shifted exit key @0 find key @1 begin key @2 cancel key @3 close key @4 command key @5 copy key @6 create key @7 end key @8 enter/send key @9 exit key al Insert one line AL Insert %1 lines ac Pairs of block graphic characters to map alternate character set ae End alternative character set as Start alternative character set for block graphic characters bc Backspace, if not haH bl Audio bell bt Move to previous tab stop cb Clear from beginning of line to cursor cc Dummy command character cd Clear to end of screen ce Clear to end of line ch Move cursor horizontally only to column %1 cl Clear screen and cursor home cm Cursor move to row %1 and column %2 (on screen) CM Move cursor to row %1 and column %2 (in memory) cr Carriage return cs Scroll region from line %1 to %2 ct Clear tabs cv Move cursor vertically only to line %1 dc Delete one character DC Delete %1 characters dl Delete one line DL Delete %1 lines dm Begin delete mode do Cursor down one line DO Cursor down #1 lines ds Disable status line eA Enable alternate character set ec Erase %1 characters starting at cursor ed End delete mode ei End insert mode ff Formfeed character on hardcopy terminals fs Return character to its position before going to status line F1 The string sent by function key f11 F2 The string sent by function key f12 F3 The string sent by function key f13 ... ... F9 The string sent by function key f19 FA The string sent by function key f20 FB The string sent by function key f21 ... ... FZ The string sent by function key f45 Fa The string sent by function key f46 Fb The string sent by function key f47 ... ... Fr The string sent by function key f63 hd Move cursor a half line down ho Cursor home hu Move cursor a half line up i1 Initialization string 1 at login i3 Initialization string 3 at login is Initialization string 2 at login ic Insert one character IC Insert %1 characters if Initialization file im Begin insert mode ip Insert pad time and needed special characters after insert iP Initialization program K1 upper left key on keypad K2 center key on keypad K3 upper right key on keypad K4 bottom left key on keypad K5 bottom right key on keypad k0 Function key 0 k1 Function key 1 k2 Function key 2 k3 Function key 3 k4 Function key 4 k5 Function key 5 k6 Function key 6 k7 Function key 7 k8 Function key 8 k9 Function key 9 k; Function key 10 ka Clear all tabs key kA Insert line key kb Backspace key kB Back tab stop kC Clear screen key kd Cursor down key kD Key for delete character under cursor ke turn keypad off kE Key for clear to end of line kF Key for scrolling forward/down kh Cursor home key kH Cursor hown down key kI Insert character/Insert mode key kl Cursor left key kL Key for delete line kM Key for exit insert mode kN Key for next page kP Key for previous page kr Cursor right key kR Key for scrolling backward/up ks Turn keypad on kS Clear to end of screen key kt Clear this tab key kT Set tab here key ku Cursor up key l0 Label of zeroth function key, if not f0 l1 Label of first function key, if not f1 l2 Label of first function key, if not f2 ... ... la Label of tenth function key, if not f10 le Cursor left one character ll Move cursor to lower left corner LE Cursor left %1 characters LF Turn soft labels off LO Turn soft labels on mb Start blinking MC Clear soft margins md Start bold mode me End all mode like so, us, mb, md, and mr mh Start half bright mode mk Dark mode (Characters invisible) ML Set left soft margin mm Put terminal in meta mode mo Put terminal out of meta mode mp Turn on protected attribute mr Start reverse mode MR Set right soft margin nd Cursor right one character nw Carriage return command pc Padding character pf Turn printer off pk Program key %1 to send string %2 as if typed by user pl Program key %1 to execute string %2 in local mode pn Program soft label %1 to show string %2 po Turn the printer on pO Turn the printer on for %1 (<256) bytes ps Print screen contents on printer px Program key %1 to send string %2 to computer r1 Reset string 1 to set terminal to sane modes r2 Reset string 2 to set terminal to sane modes r3 Reset string 3 to set terminal to sane modes RA disable automatic margins rc Restore saved cursor position rf Reset string filename RF Request for input from terminal RI Cursor right %1 characters rp Repeat character %1 for %2 times rP Padding after character sent in replace mode rs Reset string RX Turn off XON/XOFF flow control sa Set %1 %2 %3 %4 %5 %6 %7 %8 %9 attributes SA enable automatic margins sc Save cursor position se End standout mode sf Normal scroll one line SF Normal scroll %1 lines so Start standout mode sr Reverse scroll SR scroll back %1 lines st Set tabulator stop in all rows at current column SX Turn on XON/XOFF flow control ta move to next hardware tab tc Read in terminal description from another entry te End program that uses cursor motion ti Begin program that uses cursor motion ts Move cursor to column %1 of status line uc Underline character under cursor and move cursor right ue End underlining up Cursor up one line UP Cursor up %1 lines us Start underlining vb Visible bell ve Normal cursor visible vi Cursor invisible vs Standout cursor wi Set window from line %1 to %2 and column %3 to %4 XF XOFF character if not haS
有几种定义字符串功能的控制代码的方法:
除aqhaaq,aq \ aq和aq%aq之外,每个普通字符都代表自己。
hax表示Control-x。 Control-A等于1个小数。
\ x表示特殊代码。 x可以是以下字符之一:
- 逃脱游戏(27) n换行(10) r回车(13) t制表(9) b退格键(8) f换页(12) 0空字符。 \ xxx指定八进制字符xxx。
- i
- 将参数递增一。
- r
- 单参数功能
- +
- 将下一个字符的值添加到此参数并执行二进制输出
- 2
- 用2的字段对这个参数进行ASCII输出
- d
- 用3的字段对这个参数进行ASCII输出
- %
- 打印aq%aq
如果使用二进制输出,则应避免使用空字符(aq \ 0aq),因为它会终止字符串。如果制表符可以是参数的二进制输出,则应重置制表符扩展。
- Warning:
- 上面的参数元字符可能是错误的:它们记录了可能与Linux termcap不兼容的Minix termcap。
可以通过三种字符串功能来指定块图形字符:
- as
- 启动替代字符集
- ae
- 结束替代字符集
- ac
- 对字符。第一个字符是块图形符号的名称,第二个字符是其定义。
可以使用以下名称:
+ right arrow (>) , left arrow (<) . down arrow (v) 0 full square (#) I lantern (#) - upper arrow (ha) ' 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 left tee (+) u right tee (+) v bottom tee (+) w normal tee (+) x vertical line (|) ti paragraph (???)
括号中的值是curses库使用的建议默认值(如果缺少此功能)。
出版信息
这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/。