Для настройки на терминалы 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 | соответствующие им псевдорамочки > | |
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 | ||
%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 |