Формат базы данных терминалов termcap
Для настройки на терминалы UNIX использует базу терминалов
termcap, в котором описаны все (или почти все) виды терминалов,
существующие в природе. Выяснив, какой тип терминала подключен
к машине (а задается это в переменной окружения TERM (например
TERM=d460 или TERM=d211)), UNIX находит описание этого
терминала в termcap и, настроившись по хранящейся там
информации, может адекватно воспроизводить на нем информацию,
подлежащую выводу на этот терминал.
| am | в терминале есть автоматические границы | am |
| bw | можно переводить курсор из колонки 0 в 80-ю | bw |
| mi | можно без опасений перемещаться в insert-моде | mir |
| ms | можно перемещаться в режиме сообщений | msgr |
| xo | терминал использует протокол xon/xoff | xon |
| xn | перевод строки после 80 колонок игнорируется | xenl |
| bs | CTRL-H дает шаг назад | |
| pt | Терминал имеет программируемую установку табул. | |
| co #80 | число колонок | cols |
| li #24 | число столбцов | lines |
| it #8 | шаг позиции табуляции | it |
| kn # | Число функц. клавиш, отличных от "0" - "9", ".", "-" | |
| ki | ключ вставить строку | |
| kj | ключ уничтожить строку | |
| kf | ключ следующую страницу | |
| kg | ключ на предыдущую страницу | |
| gb | символы рисования рамки | |
| gs | в режим псевдографики (в доп. алфавит) | |
| ge | конец режима псевдографики (из доп. алфавита) | |
| ti | переключение терминала в режим cap
в результате все функциональные клавиши переопределяются в длинные ESC последовательности. Причем зависят они только от терминала, а не от termcap файла. Можно переназначить возможность на другую клавишу только при условии, что это ключ. NewLine и CR не переназначаются - это не ключи! (Проверено) | smcup |
| te | cap завершение
Дравер терминала INFORMIX видимо плохо написан. Он не успевает обрабатывать ESC последовательности, в результате от них отрывается \Е и обрабатывается отдельно от своих вагонов. | rmcup |
| iP | маршрутное имя программы инициализации | iprog |
| if | имя файла, с цепочкой инициализации терминала | if |
| is | строка ° 0 инициализации терминала | is2 |
| i1 | строка ° 1 инициализации терминала | is1 |
| i3 | строка ° 2 инициализации терминала | is3 |
| rf | имя файла с reset строкой | rf |
| r1 | терминал - в нормальное состояние | rs1 |
| r2 | переустановить терминал полностью в sane режим | rs2 |
| r3 | переустановить терминал полностью в sane | rs3 |
| sa | определить видео атрибуты #1 - #9 sa =\E[0%?%p1%{0}%=%!%t%p1%{4}%m%;%?%t;2;7%;%?%p2%t;7\: %;%?%p3%t;5%;%?%p4%t;4%;m использует стек_машину терминала | sgr |
| as | перейти к дополнительному алфавиту | smacs |
| ae | вернуться из дополнительного алфавита | rmacs |
| ac | табличка символов для псевдографики +,.0i-`afghjklmnoqstuvwx~ | acsc |
| ac | соответствующие им псевдорамочки > acsc | |
| mp | в режим защищенных символов | prot |
| us | в режим UNDERLINE | smul |
| ue | конец UNDERLINE | rmul |
| so | в режим выделенных сообщений | smso |
| se | конец выделенных сообщений | rmso |
| md | в режим BOLD выделенных символов | bold |
| mr | в режим REVERSE негатив | rev |
| mb | в режим BLINK мерцание | blink |
| mh | в режим DIM тусклый | dim |
| mk | в режим INVINSIBLE невидимость | invis |
| me | выключить все атрибуты | sgr0 |
| im | в режим вставки | smir |
| ei | конец режима вставки | rmir |
| dm | в режим DELETE (enter) | smdc |
| ed | конец режима DELETE | rmdc |
| vi | сделать курсор невидимым | civis |
| ve | сделать курсор нормальным | cnorm |
| vs | сделать курсор ярким | cvvis |
| cl | очистить экран | clear |
| cd | очистить конец экрана | ed |
| ce | очистить конец строки | el |
| cb | очистить до начала строки | el1 |
| ic | вставить символ | ich1 |
| dc | удалить символ | dch1 |
| ec | уничтожить символ | ech |
| al | вставить строку | il1 |
| dl | удалить строку | dl1 |
| DC | удалить # симв | dch |
| IC | вставить # пробелов | ich |
| DL | удалить # строк | dl |
| AL | добавить # пустых строк | il |
| rp | повторить строку # # раз | rep |
| cs | установить роллируемую область # строки от # до # | csr |
| sf | роллировать текст вверх | ind |
| sr | роллировать текст вниз | ri |
| SF | роллинг вперед на # строк | indn |
| SR | роллинг вниз на # строк | rin |
| uc | подчеркнуть символ | uc |
| bl | звонок | bel |
| vb | видимый звонок | flash |
| ch | установить горизонтальную позицию | chts |
| cv | абсолютная вертикальная позиция # | vpa |
| cm | позиционировать курсор #стр #столб | cup |
| CM | относительное позиционир курсора в памяти | mrcup |
| LE | курсор влево на # позиций | cub |
| RI | курсор вправо на # позиций | cuf |
| DO | курсор вниз на # строк | cud |
| UP | курсор вверх на # строк | cuu |
| sc | запомнить позицию курсора | sc |
| rc | восстановить позицию курсора | rc |
| ho | в начало экрана (если нет ti (cap)) | home |
| ll | посл.строка, первый столбец,(если нет cap) | ll |
| nl | перейти на новую строку (если не \n) | |
| bc | шаг назад | |
| le | курсор влево | cub1 |
| do | курсор вниз | cud1 |
| nd | курсор вправо | cuf1 |
| up | курсор вверх | cuu1 |
| hu | На полстроки вверх | hu |
| hd | на полстроки вниз | hd |
| cr | вернуть каретку | cr |
| nw | возврат каретки и переход к новой строке | nel |
| st | установить остановку по табуляции | hts |
| ct | сбросить все позиции табуляции | tbc |
| bt | обратная табуляция | cbt |
| ta | табулировать на след позицю аппаратного табулятора | ht |
| ds | убрать statusline | dsl |
| ts | войти в statusline, в столбец # | tsl |
| fs | вернуться из statusline | fsl |
| ps | распечатать экран | mc0 |
| ff | (*) распечатать экран eject | ff |
| pO | переключить на принтер # символов | mc5p |
| po | включить принтер | mc5 |
| pf | выключить принтер | mc4 |
| mm | в "meta" режим (8 й бит) | smm |
| mo | конец "meta" режима | rmm |
| ks | в режим "keypad-transmit" | smkx |
| ke | конец режима "keypad-transmit" | rmkx |
| cA | Enable alternate_ char set | |
| SA | Start alternate_ char set | smam |
| MC | очистить левые и правые soft границы | mgc |
| RA | выключить автоматические границы | |
| ML | установить программную левую границу | smgl |
| MR | установить программную правую границу | smgr |
| wi | текущее окно в позициях #1 - 4 | wind |
| SX | Turn on xon/xoff handshaking | smxon |
| RX | Turn off xon/xoff handshaking | rmxon |
| XF | X-off символ | xoffc |
| XN | X-on символ | xonc |
| LF | выключить программируемые метки | rmln |
| LO | включить программируемые метки | smln |
| pk | программировать фклавишу # в строку # | pfkey |
| pl | программировать фклавишу # в выполнение строки # | pfloc |
| px | программировать фклав # в xmit строки # | pfx |
| pn | прогр метку # показать стр # | pln |
| eA | ||
| cA | ||
| rP | lp в режиме замены | rmp |
| CC | Term. settable cmd char in prototype | cmdch |
| ip | заполнители, вставляемые после ins-char | ip |
| pc | символ-заполнитель (если не \0) | pad |
| RF | послать следующий введенный символ (для ptys) | rfi |
| kb =\b | ключ BACKSPACE (забой) | kbs |
| kh | ключ HOME | khome |
| ku | ключ стрелка вверх | kcuu1 |
| kr | ключ стрелка вправо | kcuf1 |
| kl | ключ стрелка влево | kcub1 |
| kd | ключ стрелка вниз | kcud1 |
| K1 | лев.верхн C1 | ka1 |
| K2 | центр Home | kb2 |
| K3 | прав.верхн C2 | ka3 |
| K4 | лев.нижн. C3 | kc1 |
| K5 | прав.нижн. C4 | kc3 |
| ko=nd,up | доп.функц. клавиши, сверх {0-9},{.},{-} (см kn#) | |
| k0 | F1 | kf0 |
| k1 | F2 | kf1 |
| . . . и т.д. | ||
| k9 | F10 | kf9 |
| kA | F11 | kil1 |
| kB | F12 | kcbt |
| kC | F13 | kclr |
| kD | F14 | kdch1 |
| kE | F15 | kel |
| k; | ключ f10 | km |
| F1 | ключ f11 | kf11 |
| F2 | ключ f12 | kf13 |
| . . . и т.д. | ||
| F9 | ключ f19 | kf19 |
| FA | ключ f20 | kf21 |
| . . . и т.д. | ||
| FZ | ключ f45 | kf45 |
| Fa | ключ f46 | kf46 |
| . . . и т.д. | ||
| Fr | ключ f63 | kf63 |
| l1 | f1 если на ней написано не f1 | lf1 |
| l2 | f2 если на ней написано не f2 | lf2 |
| . . . и т.д. | ||
| l7 | lf7 | |
| la | f10 если нет f10 | lf10 |
| ka | ключ CLEAR_ALL_TABS | ktbc |
| kt | ключ CLEAR_TAB | kctab |
| @0 | ключ FIND | |
| @1 | ключ BEGINING | |
| @2 | ключ CANCEL | |
| @3 | ключ CLOSE | |
| @4 | ключ CMD | |
| @5 | ключ COPY | |
| @6 | ключ CREATE | |
| @7 | ключ END | |
| @8 | ключ ENTER/SEND | |
| @9 | ключ EXIT | |
| kL | ключ DELETE_LINE | kdl1 |
| kD | ключ DELETE_CHAR | kdch1 |
| kM | ключ smlr или rmrl в режиме вставки | krmir |
| kЕ | ключ END_OF_LINE | |
| kS | ключ CLEAR_TO_END_OF_SCREEN | ked |
| kH | HOME_DOWN | kll |
| kN | NEXT_PAGE | knp |
| kP | PREVIOUS_PAGE | kpp |
| kF | SCROLL_FORWARD/DOWN | kind |
| kR | SCROLL_BACKWARD/UP | kri |
| kT | ключ SET TAB | khts |
| %1 | HELP | |
| %2 | MARK | |
| %3 | MESSAGE | |
| %4 | MOVE | |
| %5 | NEXT_OBJECT | |
| %6 | OPEN | |
| %7 | OPTIONS | |
| %8 | PREVIOUS_OBJECT | |
| %9 | ||
| %0 | REDO | |
| &1 | REFERENCE | |
| &2 | REFRESH | |
| &3 | REPLACE | |
| &4 | RESTART | |
| &5 | RESUME | |
| &6 | SAVE | |
| &7 | SUSPEND | |
| &8 | UNDO | |
| &9 | SHIFT_BEGIN | |
| &0 | SHIFT_CANCEL | |
| *1 | SHIFT_COMMAND | |
| *2 | SHIFT_COPY | |
| *3 | SHIFT_CREATE | |
| *4 | SHIFT_DELETE | |
| *5 | SHIFT_DEL_LINE | |
| *6 | SHIFT_SELECT | |
| *7 | SHIFT_END | |
| *8 | SHIFT_CLEAR_LINE | |
| *9 | SHIFT_EXIT | |
| *0 | SHIFT_FIND | |
| #1 | SHIFT_HELP | |
| #2 | SHIFT_HOME | |
| #3 | SHIFT_INPUT | |
| #4 | SHIFT_LEFT_ARROW | |
| #5 | SHIFT_MESSAGE | |
| %a | SHIFT... | |
| . . . и т.д. | ||
| %j | SHIFT_RESUME | |
| !1 | SHIFT_SAVE | |
| !2 | SHIFT_SUSPEND | |
| !3 | SHIFT_UNDO |