Для настройки на терминалы UNIX использует базу терминалов
termcap, в котором описаны все (или почти все) виды терминалов,
существующие в природе. Выяснив, какой тип терминала подключен
к машине (а задается это в переменной окружения TERM (например
TERM=d460 или TERM=d211)), UNIX находит описание этого
терминала в termcap и, настроившись по хранящейся там
информации, может адекватно воспроизводить на нем информацию,
подлежащую выводу на этот терминал.
termcap названия |
Таблица всех характеристик базы терминалов | terminfo названия |
заголовок
d211-tansi|Tatung d211 temporary DG-ANSI mode:\
логические атрибуты терминала |
| 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", ".", "-" |
| ТОЛЬКО В INFORMIX |
| ki | ключ вставить строку |
| kj | ключ уничтожить строку |
| kf | ключ следующую страницу |
| kg | ключ на предыдущую страницу |
| gb | символы рисования рамки |
| gs | в режим псевдографики (в доп. алфавит) |
| ge | конец режима псевдографики (из доп. алфавита) |
| характеристики tc =d211 "все остальное как у d211" |
|---|
| ИНИЦИАЛИЗАЦИЯ ТЕРМИНАЛА |
| 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 |
УПРАВЛЕНИЕ АТРИБУТАМИ обеспечение атрибутовых возможностей.(reverse,blink, ...,color) |
| 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 |
| STATUSLINE |
| 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 |
| Xonoff протокол |
| 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 | PRINT |
| %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 |