Home

termcap(5) - zh_TW

TERMCAP(5)Linux Programmer's ManualTERMCAP(5)

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 可以是以下的一個字元:

E 轉義符 Escape (27)
n 換行 Linefeed (10)
r 回車 Carriage return (13)
t 製表符 Tabulation (9)
b 退格 Backspace (8)
f 走紙符 Form feed (12)
0 空字元 Null character. \xxx 指定八進位制為 xxx 的字元.
逐一增加引數
單個引數功能
+
增加下一個字元的值到這個引數並以二進位制輸出
2
對於2,用一個欄位將引數以ASCII輸出
對於3,用一個欄位將引數以ASCII輸出
%
列印一個 '%'

如果你使用二進位制輸出,那麼你應該避免空字元,因為它是字串的終止符。如果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