terminfo 디렉토리
용도
컴파일된 terminfo 소스 파일을 포함합니다.
설명
Terminfo 는 터미널의 기능을 설명하는 컴파일된 데이터베이스입니다. 터미널은 항목을 통해 terminfo 소스 파일에 설명되어 있습니다. 각 항목에는 특정 터미널 또는 공통 터미널 세트의 기능에 대한 정보가 포함되어 있습니다. 기능에는 수행할 수 있는 조작, 채우기 요구사항, 커서 위치 지정, 명령 순서 및 초기화 순서가 포함됩니다.
컴파일된 terminfo 데이터베이스는 터미널에 대한 지식이 있어야 하지만 터미널에 종속되지 않으려는 애플리케이션 (예: curses및 vi) 에서 사용됩니다.
이 문서에서는 terminfo 소스 파일 형식에 대해 설명하고 다음 주제를 다룹니다.
- 소스 파일 항목
- 기능 유형
- 설명 준비
- 기본 기능
- 매개변수화된 문자열
- 커서 이동
- 영역 지우기
- 스크롤링
- 문자 삽입 또는 삭제
- 강조표시, 밑줄 및 시각적 벨
- 키패드
- 탭 및 초기화
- 기타 문자열
- 상태 라인
- 선 그래픽
- 색상 조작
- 특수 케이스
- 유사 터미널
- 프린터 기능
- 데이터베이스 파일 이름
terminfo 소스 파일의 예 가 제공됩니다.
이 문서에서는 terminfo 소스 파일 형식에 대해 설명합니다. 애플리케이션이 terminfo 설명을 사용하기 전에 애플리케이션이 상주하는 terminfo 소스 파일을 tic 명령을 사용하여 컴파일해야 합니다. tic 명령을 사용하면 각 터미널에 하나씩 하나 이상의 2진이 작성됩니다. 디렉토리 (일반적으로 /usr/share/lib/terminfo) 에 있는 terminfo 2진의 콜렉션을 terminfo 데이터베이스 또는 terminfo라고 합니다.
소스 파일 항목
소스 파일을 편집하거나 수정할 수 있습니다. 소스 파일은 하나 이상의 터미널 설명 또는 항목을 포함할 수 있습니다. terminfo 소스 파일에는 .ti 접미부가 있습니다. 소스 파일의 예로는 IBM® 터미널을 설명하는 /usr/share/lib/terminfo/ibm.ti 파일과 DEC 터미널을 설명하는 /usr/share/lib/terminfo/dec.ti 파일이 있습니다.
2진만 사용 가능한 경우 터미널에 대한 소스 설명을 얻으려면 infocmp 명령을 참조하십시오.
terminfo 소스 파일의 각 항목은 쉼표로 구분된 여러 필드로 구성됩니다. 쉼표 사이의 공백은 무시됩니다. 다음 예제는 소스 파일 항목을 표시합니다.
ibm6155-113|IBM 6155 Black & White display,
font0=\E[10m, font1=\E[11m, font2=\E[12m,
bold=\E[12m, sgr0=\E[0;10m,
cols#113, lines#38,
sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;12%;m,
blink@, use=ibm5151, 항목은 각 후속 행의 시작 부분에 공백을 배치하여 여러 행으로 계속될 수 있습니다. 주석 행을 작성하려면 행을 # (파운드 기호) 문자로 시작하십시오. 개별 터미널 기능을 주석 처리하려면 기능 이름 앞에 마침표를 넣으십시오.
각 터미널의 첫 번째 필드 (또는 행) 는 터미널이 알려진 다양한 이름을 | (파이프 기호) 문자로 구분하여 제공합니다. 첫 번째 이름은 터미널의 가장 일반적인 약어여야 합니다. (이 이름은 TERM 환경 변수를 설정할 때 가장 일반적으로 사용되는 이름입니다.) 제공된 성은 터미널을 완전히 식별하는 긴 이름이어야 합니다. 다른 모든 이름은 터미널 이름의 동의어로 이해됩니다. 마지막 이름을 제외한 모든 이름은 공백을 포함하지 않아야 합니다. 성은 읽기 쉽도록 공백을 포함할 수 있습니다. 모든 이름은 고유해야 합니다.
나머지 필드는 터미널의 기능을 식별합니다.
터미널 이름을 선택할 때 따라야 하는 몇 가지 규칙이 있습니다. 루트 이름은 터미널의 특정 하드웨어 클래스를 표시해야 합니다. 다른 이름과 충돌하는 동의어를 피하는 경우를 제외하고는 루트 이름에 하이픈을 사용하지 마십시오. 하드웨어 또는 사용자 환경 설정에 대해 가능한 모드를 표시하려면-(빼기 부호) 및 다음 접미부 중 하나를 추가하십시오.
| 접미어 | 의미 | 예 |
|---|---|---|
| -am | 자동 여백 사용 (일반적으로 기본값) | 터미널-am |
| -m | 단색 모드 | 터미널-m |
| -w | 와이드 모드 (80컬럼이상) | 터미널-w |
| 남 | 자동 여백 없음 | 터미널-nam |
| - n | 화면의 행 수 | 터미널-60 |
| -나 | 화살표 키가 없습니다. (로컬에 두십시오.) | 터미널-na |
| - n p | 메모리의 페이지 수 | 터미널-4p |
| -rv | 반전 영상 | 터미널-rv |
| -s | 상태 표시줄 시뮬레이션입니다. 터미널을 사용하면 일반적으로 화면의 일부인 하나 이상의 회선을 상태 표시줄에 사용할 수 있습니다. 이는 영구 전용 상태 회선이 있는 터미널과 동일하지 않습니다. | 터미널-s |
| -unk | 알 수 없는 모드. 이 항목은 위에서 설명한 여러 모드가 있는 터미널의 일반 설명을 정의하는 데 사용할 수 있습니다. 다른 항목은 알 수 없는 항목을 기본 설명으로 사용하고 적절한 사용자 정의를 추가합니다. 사용 = 필드를 참조하십시오. | 터미널-unk |
132열모드의 터미널은 Terminal-w입니다.
기능 유형
terminfo 항목은 여러 기능을 정의할 수 있습니다. 모든 기능은 다음 세 가지 유형 중 하나에 속합니다.
| 항목 | 설명 |
|---|---|
| 부울식 | 터미널에 특정 기능이 있음을 표시합니다. 해당 이름이 터미널 설명에 포함된 경우 부울 기능은 true입니다. |
| NUMERIC | 터미널의 크기 또는 특정 지연의 크기를 제공합니다. |
| 문자열 | 특정 터미널 조작을 수행하는 데 사용할 수 있는 시퀀스를 제공합니다. |
이 문서에서는 기능 유형을 문서화하는 테이블을 제공합니다. 모든 테이블은 다음을 나열합니다.
| 항목 | 설명 |
|---|---|
| 변수 | 애플리케이션이 기능에 액세스하는 데 사용하는 이름입니다. |
| 캡 이름 | 짧은 기능 이름입니다. 이 이름은 terminfo 데이터베이스 텍스트 및 소스 파일 항목을 작성하거나 편집하는 사용자에 의해 사용됩니다. tput 명령을 사용하여 특정 터미널에 대한 기능 값을 출력할 수 있습니다. |
| I.Code | 컴파일된 데이터베이스에서 사용되는 2자의 내부 코드입니다. 이 코드는 항상 termcap 기능 이름에 해당합니다. |
| 설명 | 기능에 대한 설명입니다. |
기능 이름에는 절대 길이 제한이 없습니다. 이를 짧게 유지하고 caps 소스 파일의 탭을 맞출 수 있도록 하기 위해 5자의 비공식적인 한계가 채택되었습니다. 가능할 때마다 1979의 ANSI X3.64 표준과 동일하거나 유사한 이름이 선택됩니다.
기능에 따라 다양한 기능에 대한 자세한 설명은 다음을 참조하십시오.
부울 기능
부울 기능은 터미널에 일부 특정 기능이 있음을 표시합니다. 예를 들어, 터미널 설명의 am 기능은 터미널에 자동 여백이 있음을 표시합니다 (예: 회선 끝에 도달할 때 자동 줄 바꾸기). 다음은 부울 기능입니다.
| 변수 | 캡 이름 | I.Code |
|---|---|---|
|
bw | bw |
|
오전 | 오전 |
|
Bce | 영향력 |
|
ccc | 참조 |
|
xhp | XS |
|
Xhpa | YA |
|
C픽셀 | YF |
|
크랙스엠 | YB |
|
XT | XT |
|
Xenl | Xn |
|
EO | EO |
|
Gn | Gn |
|
HC | HC |
|
차트 | HC |
|
KM | KM |
|
데이지 | YC |
|
HS | HS |
|
hls | HL |
|
다음에서 | 다음에서 |
|
LPix | YG |
|
DA | DA |
|
DB | DB |
|
미르 | MI |
|
메시지 관리자 | 밀리초 |
|
색슨 | NX |
|
xsb | XDB |
|
NPC | NP |
|
ndscr | ND |
|
nrrmc | NR |
|
OS | OS |
|
mc5i | 5i |
|
XVpa | YD |
|
Sam | YE |
|
에슬로크 | es |
|
Hz | Hz |
|
ul | ul |
|
xon | XO |
숫자 기능
숫자 기능 다음에는 # (파운드 기호) 문자와 숫자 값이 옵니다. cols#80 기능은 터미널에 80개의 컬럼이 있음을 표시합니다. 다음은 숫자 기능입니다.
| 변수 | 캡 이름 | I.Code |
|---|---|---|
|
버프츠 | YA |
|
열 | co |
|
가시 | YC |
|
시금치 | YB |
|
그것(it) | 그것(it) |
|
LH | LH |
|
LW | LW |
|
행 | li |
|
LM | LM |
|
XMC | SG |
|
ma | ma |
|
색상 | CO |
|
Maddr | YD |
|
점프 | YE |
|
쌍 | PA |
|
숫자 | 메가와트 |
|
mcs | 예프 |
|
MLS | 예 |
|
Ncv | NC |
|
나브 | nl |
|
핀 | YH |
|
orc | YI |
|
오르히 | YK |
|
오일 | 예 |
|
오비 | 일 |
|
PB | PB |
|
cps | 이의어 |
|
VT | VT |
|
과부 | YN |
|
WSDL | ws |
문자열 기능
el=\EK$<3>tputs 서브루틴은 지연에 대한 패딩 문자를 제공합니다. 지연은 다음과 같은 숫자일 수 있습니다.20또는 * (별표) 가 뒤에 오는 숫자입니다. 예를 들면, 다음과 같습니다.3*. 별표는 필수 채우기가 조작의 영향을 받는 행 수에 비례함을 표시합니다. 제공된 숫자는 영향을 받는 각 장치의 필수 채우기를 나타냅니다. (삽입 문자의 경우, 인수는 영향을 받는 행 수이며 터미널에 xenl 기능이 있고 소프트웨어가 지원하지 않는 한 항상 1입니다.) 별표를 지정하면 다음과 같이 a.b양식의 지연을 제공하는 것이 유용할 수 있습니다.3.5, 각 단위에 대한 지연을 10분의 1밀리초로 지정합니다. 소수 자리는 하나만 지정할 수 있습니다.
terminfo 데이터베이스는 쉬운 문자 인코딩을 위해 문자열 값 기능으로 여러 이스케이프 시퀀스를 제공합니다. 다음 이스케이프 코드가 인식됩니다.
| 이스케이프 코드 | 의미 |
|---|---|
| \E,\e | 나옴 |
| \n | 줄 바꾸기 |
| \l | 줄 바꾸기 |
| \r | 캐리지 리턴(CR) |
| \t | 탭 |
| \b | 백스페이스 |
| \f | 용지 넘김 |
| \s | 공백 |
| \^ | 곡절 부호 |
| \\ | 백슬래시 |
| \, | 쉼표 |
| \: | 콜론 |
| \ nnn | 8진수 값 nnn을 갖는 문자 |
| ^ x | 적절한 x 의 경우 Ctrl-x |
| \0 | 널 (null) 문자.\0실제로 문자열을 종료하지는 않지만 대부분의 터미널에서 널 문자로 작동하는 \200을 생성합니다. |
다음 규칙이 문자열 기능 테이블에서 사용됩니다.
- (G)
- 문자열이 제공된 대로 매개변수를 사용하여 tparm을 통해 전달됨을 표시합니다 (#i).
- (*)
- 패딩이 영향을 받는 행 수를 기반으로 할 수 있음을 표시합니다.
- (#i웹 사이트 참조)
- ith 매개변수를 표시합니다.
표 4. 문자열 기능 변수 캡 이름 I.Code - appl_defined_str
- 애플리케이션 정의 터미널 문자열입니다.
Apstr za - ASCII 문자
- 문자에 대한 글리프의 대체 문자 세트 맵핑입니다.
조정 AC - 백탭
- 이전 탭.
cbt BT - 벨
- 들을 수 있는 신호 (벨) 를 생성합니다.
BEL BL - box_chars_1
- 상자 문자, 기본 세트.
box1 BX - box_chars_2
- 상자 문자, 대체 세트.
box2 기준 - box_attr_1
- box_chars_1의 속성입니다.
batt1 BX - box_attr_2
- box_chars_2의 속성입니다.
batt2 기한 - 캐리지 리턴
- 캐리지 리턴을 표시합니다. (*)
cr cr - 문자 피치 변경
- 인치당 문자 수를 변경하십시오.
cpi ZA - 회선 피치 변경
- 인치당 행 수를 변경하십시오.
lpi ZB - 자원 호즈 변경
- 수평 해상도를 변경하십시오.
CHR ZC - 자원 버전 변경
- 수직 해상도를 변경하십시오.
CVR XD - 문자 추가
- 대체 모드에 있을 때 문자 채우기를 지정합니다.
Rmp rP - 스크롤 영역 변경
- 화면이동 영역을 #1 - #2행으로 변경합니다. (G)
Csr cs - 문자 세트 이름
- 문자 세트 이름의 목록입니다.
Csnm 흐릿한 - 모든 탭 지우기
- 모든 탭 중지를 지웁니다.
tbc ct - 정리 여백
- 왼쪽 및 오른쪽 소프트 여백을 지웁니다.
관리 MC - 화면 지우기
- 화면을 지우고 커서를 홈 위치에 놓습니다. (*)
지우기 cl - 클r_bol
- 행의 시작 부분까지 지웁니다.
el1 cb - 클r_eol
- 행의 끝까지 지웁니다.
el CE - 클r_eod
- 화면 끝까지 지웁니다. (*)
ed cd - color_bg_0
- 배경색 0, 검은색.
colb0 d0 - color_bg_1
- 배경색 1, 빨간색.
colb1 d1 - color_bg_2
- 배경색 2, 녹색.
colb2 d2 - color_bg_3
- 배경색 3, 갈색.
colb3 d3 - color_bg_4
- 배경색 4, 파란색.
colb4 d4 - color_bg_5
- 배경색 5, 자홍색.
colb5 d5 - color_bg_6
- 배경색 6, 청록색.
colb6 d6 - color_bg_7
- 배경색 7, 흰색.
colb7 d7 - color_fg_0
- 전경색 0, 검은색.
colf0 c0 - color_fg_1
- 전경색 1, 빨간색.
colf1 c1 - color_fg_2
- 전경색 2, 녹색.
colf2 c2 - color_fg_3
- 전경색 3, 갈색.
colf3 c3 - color_fg_4
- 전경색 4, 파란색.
colf4 c4 - color_fg_5
- 전경색 5, 자홍색.
colf5 c5 - color_fg_6
- 전경색 6, 청록색.
colf6 c6 - color_fg_7
- 전경색 7, 흰색.
colf7 c7 - 컬럼 주소
- 커서 열을 설정합니다. (G)
Hpa ch - 명령 문자
- 터미널 명령 프로토타입 문자를 설정할 수 있음을 표시합니다.
명령 CC - 작성 창
- #2, #3 에서 #4, #5로 이동하도록 win #1 을 정의하십시오.
Cwin CW - 현재 주소
- 화면 상대 커서 이동 행 #1, col #2을 표시합니다. (G)
cup cm - 커서_아래
- 커서를 한 행 아래로 이동합니다.
cud1 do - 커서_홈
- 커서를 홈 위치로 이동합니다 ( 컵 주소 지정이 없는 경우).
홈 HO - 커서_보이지 않음
- 커서를 보이지 않게 합니다.
시비스 vi - cursor_left
- 커서를 왼쪽으로 한 칸 이동합니다.
cub1 le - 커서 메모리 주소
- 메모리 상대 커서 주소 지정을 표시합니다. (G)
컵 CM - 커서_일반
- 커서를 정상으로 표시합니다 (실행 취소 vs 또는 vi).
코노름 VE - 오른쪽 커서
- 비파괴 공간을 표시합니다 (커서 오른쪽).
cuf1 nd - cursor_to_ll
- 마지막 행의 첫 번째 열로 커서를 이동합니다 ( 컵 주소 지정이 없는 경우).
ll ll - 커서_위로
- 커서를 한 행 위로 이동합니다.
cuu1 up - 커서 표시
- 커서를 매우 가시적으로 만듭니다.
CVvis 대 - 문자 정의
- 문자 세트에서 문자를 정의하십시오.
정의 ZE - 문자 삭제
- 문자를 삭제합니다. (*)
dch1 DC - 라인 삭제
- 행을 삭제합니다. (*)
dl1 dl - 전화 걸기
- 전화 번호 #1.
dial DI - dis_status_line
- 상태 표시줄을 사용하지 않습니다.
DSL ds - 시계 표시
- 시각 시계를 표시합니다.
DCLK DK - 다운_하프라인
- 아래 첨자를 표시합니다 (앞으로 1/2줄 바꾸기).
HD HD - Ena_acs
- 대체 문자 세트를 사용 가능하게 하십시오.
Enacs eA - 입력_alt_charset_mode
- 대체 문자 세트를 시작합니다.
Smacs as - 입력 _am_mode
- 자동 여백을 켭니다.
스마름 SA - 블라인드 모드 입력
- 깜박임을 사용합니다
깜박임 MB - 굵은체 모드 입력
- 굵은체 (추가 밝음) 모드를 사용합니다.
굵은체 md - 맨 아래 모드 입력
- 맨 아래 행 모드를 시작합니다. 이 문자열 기능은 테이블을 그리는 데 도움이 되며 aixterm 및 aixterm-m 터미널 정의에만 유효합니다.
BTml BM - 입력 ca_mode
- 컵 주소 지정을 사용하는 프로그램을 시작합니다.
스컵 TI - 입력 삭제 모드
- 삭제 모드를 시작합니다.
Smdc dm - 입력 dim_mode
- 반밝기 모드를 사용합니다.
흐리게 표시 mh - 더블 와이드 모드 진입
- 2배폭 인쇄를 사용 가능하게 합니다.
미망인 ZF - 입력 _draft_quality
- 초안 품질 인쇄를 설정합니다.
Sdrfq ZG (Z) - 입력 삽입 모드
- 삽입 모드를 시작합니다.
스미르 im - 이탤릭_모드 입력
- 이탤릭체를 사용합니다.
좌중 zh - 왼쪽 모드 입력
- 왼쪽 캐리지 이동을 사용으로 설정하십시오.
슬램 존 (Zl) - 입력 lvert_mode
- 왼쪽 세로선 모드를 시작합니다. 이 문자열 기능은 테이블을 그리는 데 도움이 됩니다. aixterm 및 aixterm-m 터미널 정의에만 유효합니다.
구불구불한 lv - 마이크로_모드 입력
- 마이크로 모션 기능을 사용으로 설정합니다.
제삼자 ZJ (Z) - 입력 _near_letter_quality
- 문자에 가까운 품질의 인쇄를 설정하십시오.
Snlq ZK (Z) - 일반 품질 입력
- 일반 품질 인쇄를 설정하십시오.
스rmq ZL - 보호 모드 입력
- 보호 모드를 사용합니다.
Prot MP - 반전 모드 입력
- 반전 비디오 모드를 사용합니다.
rev mr - 입력 rvert_mode
- 오른쪽 세로선 모드를 시작합니다. 이 문자열 기능은 테이블을 그리는 데 도움이 되며 aixterm 및 aixterm-m 터미널 정의에만 유효합니다.
버트어 RV - 보안 모드 입력
- 공백 모드를 사용합니다 (문자는 표시되지 않음).
침입 mk - 새도우 모드 입력
- 새도우 인쇄를 사용합니다.
Sshm ZM - 표준 모드 입력
- 표준 모드를 시작합니다.
스몰소 so - 입력 서브스크립트 모드
- 아래 첨자 인쇄를 사용합니다.
ssubm ZN - 윗첨자 모드 입력
- 위첨자 인쇄를 사용합니다.
Ssupm ZO - 상단 라인 모드 진입
- 맨 위 행 모드를 시작합니다. 이 문자열 기능은 테이블을 그리는 데 도움이 되며 aixterm 및 aixterm-m 터미널 정의에만 유효합니다.
토플 tp - 밑줄 모드 입력
- 밑줄 모드를 시작합니다.
스무 us - 업그레이드 모드 입력
- 위로 캐리지 이동을 사용으로 설정하십시오.
sum ZP - 입력 xon_mode
- 손/xoff 핸드쉐이킹을 켜십시오.
스손 SX - 지우기_문자
- #1 문자를 지웁니다. (G)
ech ec - 종료 alt_charset_mode
- 대체 문자 세트를 종료합니다.
Rmacs ae - 종료 모드 (exit_am_mode)
- 자동 여백을 끕니다.
rmam RA - 종료 속성 모드
- 모든 속성을 사용 안함으로 설정합니다.
sgr0 나 - 종료 ca_mode
- 컵 주소 지정을 사용하는 프로그램을 종료합니다.
Rmcup TE - 삭제 모드 종료
- 삭제 모드를 종료합니다.
Rmdc ed - exit_doublewide_mode
- 2배폭 인쇄를 사용 불가능하게 하십시오.
미망인 ZQ - 삽입 모드 종료
- 삽입 모드를 종료합니다.
령 EI - 이탤릭체 모드
- 기울임꼴을 사용하지 않습니다
리트름 ZR - 왼쪽 모드 종료
- 오른쪽 (정상) 캐리지 이동을 사용 가능하게 하십시오.
Rlm ZS - 종료 마이크로_모드
- 마이크로 모션 기능을 사용 안함으로 설정합니다.
운모 ZT - 새도우 모드 종료
- 새도우 인쇄를 사용 안함으로 설정합니다.
Rshm ZU - 표준 모드 종료
- 표준 출력 모드를 종료합니다.
Rmso se - 하위 스크립트 모드 종료
- 아래 첨자 인쇄를 사용하지 않습니다
RSubm ZV - 위첨자 모드 종료
- 윗첨자 인쇄를 사용 불가능하게 합니다.
rsupm ZW - 종료 밑줄 모드
- 밑줄 모드를 종료합니다.
Rmul UE - 작동 모드 종료
- 다운어드 (정상) 캐리지 이동을 사용으로 설정하십시오.
RUM ZX - 종료 xon_mode
- 손/xoff 핸드쉐이킹을 끕니다.
Rmxon RX - 플래시 화면
- 시각적 벨을 표시합니다 (커서를 이동할 수 없음).
플래시 VB - 수정된 일시정지
- 2-3초동안 일시정지합니다.
pause PA - 플래시 후크
- 스위치 후크를 깜박입니다.
후크 Fh - font_0
- 글꼴 0을 선택하십시오.
font0 f0 - font_1
- 폰트 1을 선택하십시오.
font1 f1 - font_2
- 글꼴 2를 선택하십시오.
font2 f2 - font_3
- 글꼴 3을 선택하십시오.
font3 f3 - font_4
- 글꼴 4를 선택하십시오.
font4 f4 - font_5
- 글꼴 5를 선택하십시오.
font5 f5 - font_6
- 글꼴 6을 선택하십시오.
font6 f6 - font_7
- 글꼴 7을 선택하십시오.
font7 f7 - 용지 넘김
- 페이지를 방출합니다 (하드카피 터미널). (*)
ff ff - 시작 상태 라인
- 상태 표시줄에서 리턴합니다.
Fsl fs - 창으로 이동
- 창 #1으로 이동하십시오.
윙오 WG (W) - 정지
- 전화를 끊으십시오.
호업 HU - init_1string
- 터미널을 초기화합니다.
is1 i1 - init_2string
- 터미널을 초기화합니다.
is2 is - init_3string
- 터미널을 초기화합니다.
is3 i3 - 초기화 파일
- is long 초기화 문자열을 포함하는 파일을 식별합니다.
if if - 초기화 프로그램
- 초기화할 프로그램을 찾습니다.
Iprog iP - 초기화 색상
- 색상 정의를 초기화하십시오.
초기화 IC - 초기화 쌍
- 색상 쌍을 초기화하십시오.
initp IP - 문자 삽입
- 문자를 삽입합니다.
ich1 ic - 삽입_줄
- 새 공백 행을 추가합니다. (*)
il1 al - 삽입 채우기
- 삽입된 문자 뒤에 채움 문자를 삽입합니다. (*)
ip ip - key_a1
- 키패드의 왼쪽 상단을 지정합니다.
ka1 K1 - key_a3
- 키패드의 오른쪽 상단을 지정합니다.
ka3 K3 - 키 조치
- 조치 키에 의해 전송되었습니다.
행동 kJ - key_b2
- 키패드의 가운데를 지정합니다.
kb2 K2 - 키 백스페이스
- 백스페이스 키에 의해 전송되었습니다.
KB KB - 키 빌
- 시작 키. KEY_BEG
구걸 @1 - 키_btab
- 백탭 키에 의해 전송되었습니다. KEY_BTAB
부채 kB - key_c1
- 키패드의 왼쪽 하단을 지정합니다.
kc1 K4 - key_c3
- 키패드의 오른쪽 하단을 지정합니다.
kc3 K5 - 키 취소
- 취소 키. KEY_CANCEL
카칸 @2 - 키_케이탭
- 모두 지우기 탭 키에 의해 전송되었습니다.
Ktbc KA - 키 지우기
- 지우기 화면 또는 지우기 키로 전송됩니다.
Kclr kC - 키 닫기
- 닫기 키. KEY_CLOSE
클코 @3 - 키 명령
- 명령 요청 키입니다.
kcmd @4 - 키 명령 분할창
- 명령 분할창 키.
Kcpn @7 - 키 복사
- 키를 복사하십시오. KEY_COPY
양귀비 @5 - 키 작성
- 키를 작성하십시오. KEY_CREATE
크릿 @6 - 키 탭
- 지우기 탭 키에 의해 전송되었습니다.
kctab KT - 키 DC
- 삭제 문자 키에 의해 전송되었습니다.
kdch1 kD - 키 dl
- delete-line키에 의해 전송되었습니다.
kdl1 kL - 키_do
- 요청 키를 수행하십시오.
키도 KI - 키 아래로
- 터미널 아래로 화살표 키에 의해 전송됩니다.
kcud1 KD - 키_eic
- 삽입 모드에서 rmir 또는 smir 에 의해 송신됩니다.
크르미르 kM - 키 끝
- 종료 키. KEY_END
매듭 @7 - 키 입력
- 입력/전송 (신뢰할 수 없음). KEY_ENTER.
켄트 @8 - 키_열
- 행의 끝까지 지우기 키로 전송됩니다.
켈 kE - 키_eos
- 화면 끝까지 지우기 키로 전송됩니다.
크드 kS - 키 종료
- 종료 키. KEY_EXIT.
kext @9 - key_f0
- 기능 키 F0에 의해 송신되었습니다.
kf0 k0 - key_f1
- 기능 키 F1에 의해 송신됩니다.
kf1 k1 - key_f2
- 기능 키 F2에 의해 전송됩니다.
kf2 k2 - key_f3
- 기능 키 F3에 의해 송신됩니다.
kf3 k3 - key_f4
- 기능 키 F4에 의해 송신됩니다.
kf4 k4 - key_f5
- 기능 키 F5에 의해 송신됩니다.
kf5 k5 - key_f6
- 기능 키 F6에 의해 송신됩니다.
kf6 k6 - key_f35
- 기능 키 35에 의해 송신됨. KEY_F (35)
kf35 FP - key_f36
- 기능 키 36에 의해 송신됨. KEY_F (36)
kf36 FP - key_f37
- 기능 키 37에 의해 송신됨. KEY_F (37)
kf37 Fq - key_f38
- 기능 키 38에 의해 송신됨. KEY_F (38)
kf38 fr - key_f39
- 기능 키 39에 의해 송신됨. KEY_F (39)
kf39 FS - key_f40
- 기능 키 40에 의해 송신됨. KEY_F (40)
kf40 FT - key_f41
- 기능 키 41에 의해 송신됨. KEY_F (41)
kf41 FU - key_f42
- 기능 키 42에 의해 송신됨. KEY_F (42)
kf42 미래가치(v) - key_f43
- 기능 키 43에 의해 송신됨. KEY_F (43)
kf43 FW - key_f44
- 기능 키 44에 의해 송신됨. KEY_F (44)
kf44 FX - key_f45
- 기능 키 45에 의해 송신됨. KEY_F (45)
kf45 FY - key_f46
- 기능 키 46에 의해 송신됨. KEY_F (46)
kf46 뉴질랜드 - key_f47
- 기능 키 47에 의해 송신됨. KEY_F (47)
kf47 FA - key_f48
- 기능 키 48에 의해 송신됨. KEY_F (48)
kf48 FB - key_f49
- 기능 키 49에 의해 송신됨. KEY_F (49)
kf49 FC - key_f50
- 기능 키 50에 의해 송신됨. KEY_F (50)
kf50 fd - key_f51
- 기능 키 f51에 의해 송신되었습니다. KEY_F (51)
kf51 FE - key_f52
- 기능 키 f52에 의해 송신되었습니다. KEY_F (52)
kf52 FF - key_f53
- 기능 키 f53에 의해 송신되었습니다. KEY_F (53)
kf53 FG - key_f54
- 기능 키 f54에 의해 송신되었습니다. KEY_F (54)
kf54 fi - key_f55
- 기능 키 f55에 의해 송신되었습니다. KEY_F (55)
kf55 Fj - key_f56
- 기능 키 f56에 의해 송신되었습니다. KEY_F (56)
kf56 Fk - key_f57
- 기능 키 f57에 의해 송신되었습니다. KEY_F (57)
kf57 FL - key_f58
- 기능 키 f58에 의해 송신되었습니다. KEY_F (58)
kf58 FM - key_f59
- 기능 키 f59에 의해 송신되었습니다. KEY_F (59)
kf59 Fn - key_f60
- 기능 키 f60에 의해 송신되었습니다. KEY_F (60)
kf60 포 (Fo) - key_f61
- 기능 키 f61에 의해 송신되었습니다. KEY_F (61)
kf61 Fp - key_f62
- 기능 키 f62에 의해 송신되었습니다. KEY_F (62)
kf62 Fq - key_f63
- 기능 키 f63에 의해 송신되었습니다. KEY_F (63)
kf63 금 - 키 찾기
- 키를 찾으십시오. KEY_FIND
송신 @0 - 키 도움말
- 도움말 키.
칼립 KQ - 키 홈
- 홈 키에 의해 전송되었습니다.
홈 KH - 키
- insert-character/ enter-insert-mode키에 의해 전송되었습니다.
kich1 kI - 키_일
- 삽입 행 키에 의해 전송되었습니다.
kil1 kA - 키 왼쪽
- 터미널 왼쪽 화살표 키에 의해 전송되었습니다.
kcub1 KL - 키
- 홈 다운 키에 의해 전송되었습니다.
킬레 kH - 키 표시
- 키를 표시하십시오. KEY_MARK
kmrk %2 - 키 메시지
- 메시지 키. KEY_MESSAGE
Kmsg %3 - 키 이동
- 키를 이동합니다. KEY_MOVE
Kmov %4 - 키 줄 바꾸기
- 줄 바꾸기 키.
뜨개질 KN - 키 다음
- 다음 오브젝트 키. KEY_NEXT
편물 %5 - 키_다음 분할창
- 다음 분할창 키.
편물 KV - 키 페이지
- 다음 페이지 키에 의해 송신됩니다.
knp kN - 키 열기
- 키를 여십시오. KEY_OPEN
코프른 %6 - 키 옵션
- 옵션 키. KEY_OPTIONS
Kopt %7 - 키 페이지
- 이전 페이지 키에 의해 송신됨.
Kpp kP - 키 분할창
- 이전 분할창 키에 의해 전송되었습니다.
Kppn kV - 키_prev_cmd
- 이전 명령 키에 의해 전송되었습니다.
kpcmd KP - 키 이전
- 이전 오브젝트 키. 이전 키
kprv %8 - 키 인쇄
- 인쇄 또는 복사. KEY_PRINT
키프로트 %9 - 키 종료
- 키를 종료하십시오.
중지 kQ - 키 다시 실행
- 다시 실행 키. KEY_REDO
크르도 %0 - 키 참조
- 참조 키. KEY_REFERENCE
Kref &1 - KEY_REFRESH
- 키를 새로 고칩니다. KEY_REFRESH
krfr &2 - 키 바꾸기
- 키를 바꾸십시오. KEY_REPLACE
Krpl &3 - 키 다시 시작
- 키를 다시 시작하십시오. KEY_RESTART
크리스트 &4 - 키 재개
- 재개 키. KEY_RESUME
Kres &5 - 키 오른쪽
- 터미널 오른쪽 화살표 키에 의해 전송됩니다.
kcuf1 kr - 키 저장
- 키를 저장하십시오. KEY_SAVE
카사브 &6 - 키 저장소
- 이동된 시작 키. KEY_SBEG
kBEG &9 - 키 스캔
- 취소 키가 이동되었습니다. KEY_SCANCEL
kCAN &0 - 키_스커맨드
- 이동된 명령 키. KEY_SCOMMAND
kCMD *1 - 키 복사
- 시프트된 복사 키. KEY_SCOPY
kCPY *2 - 키 작성
- 이동된 작성 키. KEY_CREATE
kCRT *3 - 키 스크롤 왼쪽
- 왼쪽으로 화면이동합니다.
kscl kz - 키 스크롤 오른쪽
- 오른쪽으로 화면이동합니다.
KSCR kZ - 키 _DC
- 시프트된 삭제 문자 키. KEY_SDC
kDC *4 - 키 _sdl
- 시프트된 행 삭제 키. KEY_SDL
kDL *5 - 키 선택
- 키를 선택하십시오.
슬렛 *6 - 키 송신
- 이동된 끝 키. KEY_SEND
kEND *7 - 키 세트
- 이동된 행 지우기 키. KEY_SEOL
kEOL *8 - 키_섹시it
- 시프트된 나감 키. KEY_SEXIT
kEXT *9 - 키 서비스
- scroll-forward/ scroll-down키로 전송됩니다.
친절한 kF - key_sf1
- 특수 기능 키 1.
ksf1 S1 - key_sf2
- 특수 기능 키 2.
ksf2 S2 - key_sf3
- 특수 기능 키 3.
ksf3 S3 - key_sf4
- 특수 기능 키 4.
ksf4 S4 - key_sf5
- 특수 기능 키 5.
ksf5 S5 - key_sf6
- 특수 기능 키 6.
ksf6 S6 - key_sf7
- 특수 기능 키 7.
ksf7 S7 - key_sf8
- 특수 기능 키 8.
ksf8 S8 - key_sf9
- 특수 기능 키 9.
ksf9 S9 - key_sf10
- 특수 기능 키 10.
ksf10 S0 - 키 찾기
- 이동된 찾기 키. KEY_SFIND
kFND *0 - 키 쉘
- 이동된 도움말 키. KEY_SHELP
kHLP #1 - 키 shome
- 이동된 홈 키입니다. KEY_SHOME
kHOM #2 - 키
- 이동된 입력 키. KEY_SIC
kIC #3 - 키 왼쪽
- 이동된 왼쪽 화살표 키. KEY_SLEFT
kLFT #4 - key_smap_in1
- 특수 맵핑 키 1에 대한 입력입니다.
kmpf1 KV - key_smap_in2
- 특수 맵핑 키 2에 대한 입력입니다.
kmpf2 KW - key_smap_in3
- 특수 맵핑 키 3에 대한 입력입니다.
kmpf3 KX - key_smap_in4
- 특수 맵핑 키 4에 대한 입력입니다.
kmpf4 KY - key_smap_in5
- 특수 맵핑 키 5에 대한 입력입니다.
kmpf5 츠 (Kz) - key_smap_in6
- 특수 맵핑 키 6에 대한 입력입니다.
kmpf6 KR - key_smap_in7
- 특수 맵핑 키 7에 대한 입력입니다.
kmpf7 KS - key_smap_in8
- 특수 맵핑 키 8에 대한 입력입니다.
kmpf8 KT - key_smap_in9
- 특수 맵핑 키 9에 대한 입력입니다.
kmpf9 KU - key_smap_out1
- 맵핑된 키 1의 출력입니다.
kmpt1 KV - key_smap_out2
- 맵핑된 키 2의 출력입니다.
kmpt2 KW - key_smap_out3
- 맵핑된 키 3의 출력입니다.
kmpt3 KX - key_smap_out4
- 맵핑된 키 4의 출력입니다.
kmpt4 KY - key_smap_out5
- 맵핑된 키 5의 출력입니다.
kmpt5 KZ - key_smap_out6
- 맵핑된 키 6의 출력입니다.
kmpt6 KR - key_smap_out7
- 맵핑된 키 7의 출력입니다.
kmpt7 KS - key_smap_out8
- 맵핑된 키 8의 출력입니다.
kmpt8 KT - key_smap_out9
- 맵핑된 키 9의 출력입니다.
kmpt9 KU - 키 _메시지
- 이동된 메시지 키입니다. KEY_SMESSAGE
kMSG %a - 키 이동
- 이동 키가 이동되었습니다. KEY_SMOVE
kMOV %b - 키_다음
- 다음 키가 이동되었습니다. KEY_SNEXT
kNXT %c - 키 _옵션
- 이동된 옵션 키. KEY_SOPT
kOPT %d - key_sprevious
- 이전 키가 이동되었습니다. KEY_SPREVIOUS
kPRV %e - 키 스프린트
- 이동된 인쇄 키. KEY_스프린트
kPRT %f - 키 __sr
- 화면이동-뒤로 키에 의해 송신됩니다.
크리 kR - 키 다시 실행
- 시프트된 다시 실행 키입니다. KEY_SREDO
kRDO %g - 키 바꾸기
- 이동된 대체 키. KEY_REPLACE
kRPL %h - 키 오른쪽
- 오른쪽 화살표 키가 이동되었습니다. KEY_SRIGHT
kRIT %i - 키 사용
- 이동된 재개 키. KEY_SRSUME
kRES %j - 키 저장
- 시프트된 저장 키. KEY_SSAVE
kSAV !1 - 키 일시중단
- 이동된 일시중단 키. KEY_SSUPEND
kSPD !2 - 키_스탭
- 설정 탭 키에 의해 전송되었습니다.
가비츠 kT - 키_선do
- 이동된 실행 취소 키입니다. KEY_SUNDO
kUND !3 - 키 일시중단
- 일시중단 키. 키 일시중단
KSPID &7 - 키 탭
- Tab키.
ktab ko - 키 실행 취소
- 키를 실행 취소하십시오. KEY_실행 취소
쿤드 &8 - 키 위로
- 터미널 위로 화살표 키에 의해 전송됩니다.
kcuu1 KU - 키 로컬
- 키패드 전송 모드를 종료합니다.
Rmkx KE - 키 전송
- 터미널을 키패드 전송 모드로 설정합니다.
스틱스 KS - lab_f0
- F0이 아닌 경우 기능 키 F0에 레이블을 붙입니다.
lf0 l0 - lab_f1
- F1이 아닌 경우, 기능 키 F1에 레이블을 붙입니다.
lf1 l1 - lab_f2
- F2가 아닌 경우 기능 키 F2에 레이블을 지정합니다.
lf2 l2 - lab_f3
- F3이 아닌 경우 기능 키 F3에 레이블을 지정합니다.
lf3 l3 - lab_f4
- F4가 아닌 경우 기능 키 F4에 레이블을 붙입니다.
lf4 l4 - lab_f5
- F5가 아닌 경우 기능 키 F5에 레이블을 지정합니다.
lf5 l5 - lab_f6
- F6이 아닌 경우 기능 키 F6에 레이블을 붙입니다.
lf6 l6 - lab_f7
- F7이 아닌 경우 기능 키 F7에 레이블을 지정합니다.
lf7 l7 - lab_f8
- F8이 아닌 경우 기능 키 F8을 레이블합니다.
lf8 l8 - lab_f9
- F9가 아닌 경우, 기능 키 F9에 레이블을 붙입니다.
lf9 l9 - lab_f10
- F10이 아닌 경우 기능 키 F10에 레이블을 지정합니다.
lf10 LA - 레이블 형식
- 레이블 형식.
플렌 LF - 레이블_오프
- 소프트 레이블을 끄십시오.
Mln LF - 레이블_온
- 소프트 레이블을 켜십시오.
스몰른 LO - 메타
- 메타 모드 활성화(8번째 비트).
Smm mm - 메타 오프
- 메타 모드를 사용하지 않습니다.
rmm 월 - 마이크로_컬럼 주소
- 왼쪽에서 N개의 단계를 이동합니다.
Mhpa ZY (Z) - 마이크로_다운
- 한 단계 아래로 이동합니다.
mcud1 ZZ - 마이크로_왼쪽
- 한 단계 왼쪽으로 이동하십시오.
mcub1 ZA - 마이크로_오른쪽
- 한 단계 오른쪽으로 이동하십시오.
mcuf1 ZB - 마이크로_행 주소
- 맨 위에서 N 단계를 이동하십시오.
MVpa ZC - 마이크로업
- 한 단계 위로 이동합니다.
mcuu1 Zd를 - 줄 바꾸기
- 줄 바꾸기 기능을 수행합니다 (줄 바꾸기가 뒤에 오는 캐리지 리턴과 같이 작동함).
nel NW - 핀 순서
- 소프트웨어 비트를 인쇄 헤드 핀에 일치시킵니다.
포더 즈 - 원래 색상
- 원래 색상.
OC OC - 원본 쌍
- 원래 색상 쌍입니다.
op op - 패드_문자
- 문자를 채웁니다 (NULL 대신).
채우기(pad) pc - 매개변수 dch
- #1 문자를 삭제합니다. (G)
dch DC - 매개변수 삭제 라인
- #1 행을 삭제합니다. (G)
dl DL - parm_down_커서
- 커서를 #1 행 아래로 이동합니다. (G*)
cud DO - parm_down_마이크로
- N 단계를 아래로 이동하십시오. (G*)
Mcud ZF - Parm_ich
- #1 공백 문자를 삽입합니다. (G*)
ich IC - 매개변수 인덱스
- #1 행 앞으로 화면이동합니다. (G)
indn SF - 매개변수 삽입 라인
- #1 새 공백 라인을 추가합니다. (G*)
il AL - 매개변수 왼쪽 커서
- 커서를 왼쪽으로 #1 이동합니다. (G)
cub 대기업 - 왼쪽 마이크로 매개변수
- N 단계를 왼쪽으로 이동하십시오.
mcub 그 (Zg) - 매개변수 오른쪽 커서
- 커서를 오른쪽으로 #1 이동합니다. (G*)
cuf RI - 파마_오른쪽_마이크로
- N 단계를 오른쪽으로 이동하십시오.
Mcuf zh - 매개변수 인덱스
- #1 행 뒤로 화면이동합니다. (G)
RIN SR - parm_up_커서
- 커서를 #1 행 위로 이동합니다. (G*)
cuu 작동 - 상위 마이크로
- N 단계를 위로 이동하십시오.
Mcuu ZI - pkey_키
- 함수 키 #1 을 (를) 문자열 #2유형으로 프로그램합니다.
pfkey PK - pkey_로컬
- 함수 키 #1 를 프로그램하여 문자열 #2를 실행합니다.
플록 pl - pkey_xmit
- 함수 키 #1 를 프로그램하여 문자열 #2을 전송합니다.
픽셀 px - Plab_norm
- 문자열 #2를 표시하는 프로그램 레이블 #1 .
플른 PN - 인쇄 화면
- 화면의 내용을 인쇄합니다.
mc0 ps - 비례 배분되지 않은
- #1 바이트에 대해 프린터를 사용 가능하게 합니다.
mc5p pO - 제거 (prtr_off)
- 프린터를 사용 불가능하게 합니다.
mc4 pf - Prtr_on
- 프린터를 사용 가능하게 합니다.
mc5 po - 펄스
- 펄스 다이얼링을 선택하십시오.
펄스 PU - 빠른 다이얼
- 진행 상태를 감지하지 않고 전화번호 #1로 전화를 겁니다.
다이얼 QD - 시계 제거
- Time-of-day 시계를 제거합니다.
Rmclk RC - 반복 문자
- #1 character #2 번 반복합니다. (G*)
대표 RP - 입력 요청
- 다음 입력 문자 전송 (pty용).
Rfi RF - reset_1string
- 터미널을 알려진 모드로 재설정합니다.
rs1 r1 - reset_2string
- 터미널을 알려진 모드로 재설정합니다.
rs2 r2 - reset_3string
- 터미널을 알려진 모드로 재설정합니다.
rs3 r3 - 파일 재설정
- 재설정 문자열을 포함하는 파일을 식별합니다.
RF RF - 커서 복원
- 마지막 sc (save_cursor) 의 위치로 커서를 복원합니다.
rc rc - 행 주소
- 커서를 절대 수직 위치에 위치시킵니다 (행 설정). (G)
Vpa cv - 저장 커서
- 커서 위치를 저장합니다.
sc sc - 스크롤 포워드
- 텍스트를 위로 화면이동합니다.
ind SF - 스크롤 반전
- 텍스트를 아래로 스크롤합니다.
ri sr - 선택 문자 세트
- 문자 세트를 선택하십시오.
scs 즈 (Zj) - 세트 속성
- 비디오 속성을 정의합니다. (G) #1-#9
sgr sa - 배경 설정
- 배경색을 설정합니다.
설정 SB - 맨 아래 여백 설정
- 현재 행에서 소프트 bottojm 여백을 설정합니다.
Smgb 크 (Zk) - 하단 여백 설정 매개변수
- 소프트 맨 아래 여백을 설정하십시오.
Smgbp 존 (Zl) - 시계 설정
- 하루 중 시간 시계를 설정합니다.
스클크 SC - 색상 쌍 설정
- 색상 쌍을 설정하십시오.
scp sp - 전경 설정
- 전경색을 설정하십시오.
세프 SF - 왼쪽 여백 설정
- 소프트 왼쪽 여백을 설정하십시오.
작은 ML - set_left_margin_parm
- 소프트 왼쪽 여백을 설정하십시오.
스글프 진 (Zm) - 오른쪽 여백 설정
- 소프트 오른쪽 여백을 설정하십시오.
Smgr MR - set_right_margin_parm
- 소프트 오른쪽 여백을 설정하십시오.
Smgrp Zn - 세트 탭
- 현재 열의 모든 행에 탭을 설정합니다.
hts st - 맨 위 여백 설정
- 현재 행에서 위쪽 여백을 설정합니다.
Smgt ZO - 상단 여백 설정 매개변수
- 소프트 상단 여백을 설정하십시오.
스지프 ZP - 창 설정
- 현재 창이 행 #1-#2, 컬럼 #3-#4임을 표시합니다. (G)
사이버 공격 위 - 시작 비트 이미지
- 비트 이미지 그래픽 인쇄를 시작합니다.
Sbim 크 (Zq) - 시작_문자_집합_정의
- 문자 세트의 정의를 시작합니다.
Scsd ZR - 정지 비트 이미지
- 비트 이미지 그래픽 인쇄를 종료합니다.
Rbim Z - stop_char_set_def
- 문자 세트의 정의를 종료합니다.
Rcsd ZT - 첨자 문자
- 아래첨자에 표시될 수 있는 문자 목록입니다.
하위 CS Zu - 상첨자 문자
- 위첨자에 표시될 수 있는 문자 목록입니다.
지원 Zv (Z) - 탭
- 다음 8공간 하드웨어 탭 정지로 이동합니다.
ht TA - Cause_cr
- 이러한 문자를 인쇄하면 캐리지 리턴이 발생합니다.
문서 주 (Zw) - 톤
- 터치 톤 전화 걸기를 선택하십시오.
톤 SALESFORCE를 - 상태 라인에 대한
- 상태 표시줄, #1열로 이동합니다. (G)
Tsl ts - 밑줄 문자
- 한 문자에 밑줄을 긋고 그 너머로 이동합니다.
UC UC - 상단 반선
- 위첨자를 표시합니다 (역방향 1/2행넘김).
hu hu - user0
- 사용자 문자열 0.
u0 u0 - user1
- 사용자 문자열 1.
u1 u1 - user2
- 사용자 문자열 2.
u2 u2 - user3
- 사용자 문자열 3.
u3 u3 - user4
- 사용자 문자열 4.
u4 u4 - user5
- 사용자 문자열 5.
u5 u5 - user6
- 사용자 문자열 6.
u6 u6 - user7
- 사용자 문자열 7.
u7 u7 - user8
- 사용자 문자열 8.
u8 u8 - user9
- 사용자 문자열 9.
u9 u9 - 대기 톤
- 다이얼 톤을 대기합니다.
Wiat WA - xoff_문자
- X-off 문자입니다.
Xoffc XF (X) - Xon_문자
- X-on 문자.
Xonc Xn - 제로_모션
- 후속 문자에 대한 움직임이 없습니다.
제로섬 Zx
설명 준비
유사한 터미널의 설명을 복사한 후 수정하여 터미널 설명을 작성할 수 있습니다. vi 편집기를 사용하여 부분 설명의 정확성을 확인할 수 있습니다. 일부 터미널은 vi 편집기에서 버그를 발견할 수 있을 뿐만 아니라 터미널 설명을 제공하는 terminfo 데이터베이스의 기능이 부족할 수 있습니다.
새 터미널 설명을 테스트하려면 TERMINFO 환경 변수를 작업 중인 컴파일된 설명을 포함하는 디렉토리의 경로 이름으로 설정하십시오. 그런 다음, 프로그램은 /usr/share/lib/terminfo 디렉토리 대신 해당 디렉토리를 확인합니다.
올바른 채우기 (알려진 경우) 를 테스트하려면 다음을 수행하십시오.
- 9600보오 (baud) 에서 /etc/passwd 파일을 편집하십시오.
- 화면 중간에서 약 16행을 삭제하십시오.
- u키를 여러 번 빠르게 누르십시오.터미널이 결과를 올바르게 표시하는 데 실패하면 일반적으로 더 많은 채우기가 필요합니다. 삽입 문자에 대해 유사한 테스트를 수행할 수 있습니다.주: 과도하게 패딩하면 터미널의 속도가 느려집니다.
기본 기능
이 절에서는 몇 가지 기본 터미널 기능에 대해 설명합니다. 터미널이 이러한 기능 중 하나를 지원하는 경우 터미널의 terminfo 소스 파일 항목이 이를 표시합니다. 다음 목록은 기본 기능의 목록입니다.
| 항목 | 설명 |
|---|---|
| 오전 | 커서가 오른쪽 여백에 도달할 때 다음 행의 시작으로 이동함을 표시합니다. 이 기능은 또한 커서가 화면의 맨 아래 오른쪽 모서리를 넘어 이동할 수 있는지 여부를 표시합니다. |
| BEL | 들을 수 있는 신호 (예: 벨 또는 발신음) 를 생성합니다. |
| bw | 터미널의 왼쪽 가장자리로부터의 백스페이스가 커서를 이전 행의 마지막 열로 이동함을 표시합니다. |
| clear | 커서를 홈 위치에 두고 화면을 지웁니다. |
| 열 | 터미널에 대한 각 행의 열 수를 지정합니다. |
| cr | 현재 행의 왼쪽 가장자리로 커서를 이동합니다. 이 코드는 일반적으로 캐리지 리턴 (Ctrl-M) 입니다. |
| cub1 | 커서를 왼쪽으로 한 칸 이동합니다 (예: 백스페이스). |
| cuf1 | 커서를 오른쪽으로 한 칸 이동합니다. |
| cuu1 | 커서를 한 칸 위로 이동합니다. |
| cud1 | 커서를 한 칸 아래로 이동합니다. |
| hc | 소프트카피 장치가 없는 인쇄 터미널을 지정합니다. os 기능도 지정해야 합니다. |
| ind | 텍스트를 위로 화면이동합니다. |
| LF | 줄 바꾸기를 지정합니다. |
| 행 | CRT (cathode ray tube) 터미널의 선 수를 지정합니다. |
| nel | 줄 바꾸기를 지정합니다. 터미널은 줄 바꾸기가 뒤따르는 캐리지 리턴을 수신한 것처럼 작동합니다. |
| OS | 문자가 이미 다른 문자가 차지하고 있는 위치에 표시되거나 인쇄될 때 터미널이 기존 문자를 새 문자로 대체하지 않고 겹쳐찍기함을 표시합니다. os 기능은 스토리지 범위, 인쇄 및 APL 터미널에 적용됩니다. |
| ri | 텍스트를 아래로 스크롤합니다. |
LINES및 COLUMNS 환경 변수가 설정된 경우 이 변수는 terminfo 데이터베이스의 값을 겹쳐씁니다.
terminfo 데이터베이스 파일에서 인코딩된 로컬 커서 이동은 CRT 터미널의 왼쪽 및 맨 위 가장자리에 정의되어 있지 않습니다. 프로그램은 bw 문자열이 제공되지 않는 한 왼쪽 가장자리를 중심으로 백스페이스를 시도하거나 맨 위에서 로컬로 위로 이동하려고 시도하지 않아야 합니다.
텍스트를 위로 화면이동하려면 프로그램이 화면의 맨 아래 왼쪽 구석으로 이동하여 색인 문자열을 전송해야 합니다. 텍스트를 아래로 화면이동하기 위해 프로그램은 화면의 맨 위 왼쪽 구석으로 이동하여 역방향 색인 문자열을 전송합니다. 색인 문자열은 ind 기능에 의해 지정되고 역방향 색인 문자열은 ri 기능에 의해 지정됩니다. 색인 문자열 및 역방향 색인 문자열은 화면의 각 모서리에 있지 않을 때 정의되지 않습니다.
am 기능은 텍스트가 출력될 때 커서가 화면의 오른쪽 가장자리에 붙는지 여부를 판별하지만, 마지막 열에서 오른쪽으로 커서를 이동할 때 ( cuf1 기능) 반드시 적용되는 것은 아닙니다. 터미널은 bw 기능이 정의된 경우에만 왼쪽 모서리에서 로컬 움직임을 가집니다. 그러면 왼쪽 모서리에서 왼쪽으로 이동할 때 ( cub1 기능) 커서가 이전 행의 오른쪽 모서리로 이동합니다. 터미널에 bw 기능이 없는 경우, 효과가 정의되지 않습니다. 이는 예를 들어 화면의 가장자리 주위에 상자를 그리는 데 유용합니다.
am 기능이 지정된 경우 터미널에는 스위치 선택 가능 자동 여백이 있습니다. 터미널에 다음 행의 첫 번째 열로 이동하는 명령이 있는 경우 nel (줄 바꾸기) 기능을 정의할 수 있습니다. 명령이 현재 행의 나머지 부분을 지우는지 여부는 중요하지 않습니다. 따라서 터미널에 cr 및 lf가 없는 경우 작업 중인 nel 은 여전히 둘 중 하나 또는 둘 다에서 작성될 수 있습니다.
33 | tty33 | tty | Model 33 Teletype
bel=^G, cols#72, cr=^M, cud1=^J, hc, ind=^J, os, xon,xxxx | x | xxxxxxxx,
am, bel=^G, clear=^Z, cols#80, cr=^M, cub1=^H, cud1=^J,
ind=^J, lines#24,매개변수화된 문자열
매개변수가 필요한 커서 주소 지정 및 기타 문자열은 매개변수화된 문자열 기능으로 설명됩니다. 이러한 문자열에는 printf %x 형식과 유사한 이스케이프 시퀀스가 있습니다. 예를 들어, 커서의 주소를 지정하려면 행 및 열 매개변수를 사용하여 컵 기능을 지정합니다.
매개변수화된 기능에는 다음이 포함됩니다.
| 항목 | 설명 |
|---|---|
| cub1 | 커서를 한 칸 뒤로 이동합니다. |
| cup | 행 및 열 매개변수를 사용하여 커서의 주소를 지정합니다. 행 및 열은 0부터 시작하여 번호가 지정되며 메모리가 아닌 사용자에게 표시되는 실제 화면을 참조합니다. |
| hpa 및 vpa | 커서에 행 또는 열 절대 커서 주소 지정 (수평 위치 절대 (hpa) 또는 수직 절대 (vpa)) 이 있음을 표시합니다. 때때로 hpa 및 vpa 기능은 보다 일반적인 두 개의 매개변수 시퀀스보다 짧으며 cup 기능보다 우선적으로 사용할 수 있습니다. 매개변수화된 로컬 이동 (예: 오른쪽으로 n 공간 이동) 은 cud, cub, cuf및 cuu 기능을 사용하여 정의되며 이동할 공간 수를 표시하는 단일 매개변수를 사용합니다. 이러한 기능은 터미널에 컵 기능이 없는 경우에 주로 유용합니다. |
| indn 및 rin | 텍스트를 화면이동합니다. 이는 기본 ind 및 ri 기능의 매개변수화된 버전입니다. n 값은 행 수입니다. |
| mrcup (mrcup) | 터미널에 메모리 관련 커서 주소 지정이 있음을 표시합니다. |
매개변수 메커니즘은 스택을 사용하며 특수 % (퍼센트 부호) 코드를 사용하여 스택을 조작합니다. 일반적으로 시퀀스는 매개변수 중 하나를 스택에 넣은 후 일부 형식으로 인쇄합니다. 종종 더 복잡한 조작이 필요합니다. 인코딩의 의미는 다음과 같습니다.
| 항목 | 설명 |
|---|---|
| %% | % (퍼센트 부호) 를 출력합니다. |
| % [[:] 플래그] [너비 [.정밀도]] [doxXs] | printf 명령과 마찬가지로 플래그는 [-+# ] 및 공백입니다. |
| %d | printf 명령과 같이 pop () 을 인쇄합니다 (스택의 숫자 문자열). |
| %2d | %2d 와 같은 pop () 을 인쇄합니다 (스택에서 최소 2자리출력). |
| %3d | %3d 와 같은 pop () 을 인쇄합니다 (스택에서 최소 3자리출력). |
| %02d | printf 명령에서와 같이 인쇄합니다 (2자리출력). |
| %03d | printf 명령에서와 같이 인쇄합니다 (3자리출력). |
| %c | pop () 을 인쇄하여 %c (스택의 문자 출력) 를 제공합니다. |
| %s | pop () 을 인쇄하여 %s 을 (를) 제공합니다 (스택의 문자열 출력). |
| %p [i] | i번째 매개변수를 스택으로 푸시합니다. 여기서 i 는 1-9사이의 숫자입니다. |
| %P [a-z] | 변수 [a-z] 를 pop () (스택의 변수 출력) 로 설정합니다. |
| %g [a-z] | [a-z] 변수를 가져와서 스택에 푸시합니다. |
| % 'c' | 문자 상수 c. |
| %{nn} | 정수 상수 nn. |
| %l | strlen푸시 (pop ()) |
| %+%-% *%/%m | 산술 연산자 (%m 은 모듈러스): push (pop () operation pop ()). |
| %& %| %^ | 비트 조작: push (pop () operation pop ()). |
| %= %> %< | 논리 연산: push (pop () operation pop ()). |
| %! %~ | 단항 연산: push (operation pop ()). |
| %i | 처음 두 개의 매개변수에 1을 추가하십시오 (ANSI 터미널의 경우). |
| %?expr %t 파트 %e elsepart%; | If-then-else %e elsepart 는 선택적입니다. 다음 예제에서 Al골 68을 사용하여 else-if 구성을 작성할 수 있습니다. 여기서 ci 는 조건 및 bi 본문을 나타냅니다. |
2진 조작은 일반적인 순서로 피연산자가 있는 접미부 양식으로 되어 있습니다. 즉,x - 5사용%gx%{5}%-.
- (빼기 부호) 플래그를%[doxXs], 그런 다음% (퍼센트 부호) 와 - (빼기 부호) 사이에 콜론을 배치하여 플래그를%-2진 조작, 예:%:-16.16s.
전송해야 하는 터미널을 고려하십시오.\E&a12c03Y행 3및 열 12에 도달하기 위해 6밀리초동안 채워집니다. 여기서 행과 열의 순서가 반전되고 행과 열은 두 자리 숫자로 0으로 채워집니다. 따라서 이 터미널의 컵 기능은 다음과 같습니다.cup=\E&a%p2%2.2dc%p1%2.2dY$<6>.
마지막 예제는 공백 문자로 행 및 열 오프셋을 사용하는 터미널입니다.cup=\E=%p1%'\s'%+%c%p2'\s'%+%c. 전송 후\E=이 조작은 첫 번째 매개변수를 푸시하고, 공백 (32) 에 대한 ASCII값을 푸시하고, 이를 추가하고 (두 개의 이전 값 대신 스택에서 합계를 푸시함), 해당 값을 문자로 출력합니다. 그런 다음 두 번째 매개변수에 대해 동일하게 수행됩니다. 스택을 사용하여 더 복잡한 산술 연산이 가능합니다.
커서 이동
화면의 맨 위 왼쪽 구석이 홈 위치입니다. 터미널이 홈 위치로 커서를 가져오는 빠른 방법이 있는 경우, 홈 기능을 지정하십시오. ll 기능을 사용하여 왼쪽 맨 아래 모서리로 빠르게 이동하는 방법을 지정하십시오. 이 방법은 홈 위치에서 위로 이동 (cuu1) 하는 것을 포함할 수 있지만, 홈 위치에서 위로 이동하는 효과가 확실하지 않기 때문에 ll 이 수행하지 않는 한 프로그램은 이를 수행해서는 안됩니다.
터미널에 행 또는 열 절대 커서 주소 지정이 있는 경우, 단일 hpa 기능 (위의 수평 위치) 및 vpa 기능 (수직 위치 절대) 을 지정해야 합니다. 이러한 매개변수는 일반적인 두 개의 매개변수 시퀀스보다 짧은 경우가 있으며 컵 기능 대신 사용할 수 있습니다.
터미널에 매개변수화된 로컬 이동이 있는 경우, 예를 들어, 커서 n 공간을 오른쪽으로 이동할 수 있는 경우, 이동할 공간 수를 표시하는 단일 매개변수를 사용하여 cud, cub, cuf및 cuu 기능을 지정할 수 있습니다. 이러한 기능은 터미널에 컵 기능이 없는 경우에 유용합니다.
영역 지우기
다음 기능은 터미널의 큰 영역을 지웁니다.
| 항목 | 설명 |
|---|---|
| ed | 현재 위치에서 화면 끝까지 지웁니다. 이는 행의 첫 번째 열에서만 정의됩니다. (따라서 실제 ed 를 사용할 수 없는 경우 많은 수의 행을 삭제하는 요청으로 시뮬레이션할 수 있습니다.) |
| el | 커서를 이동하지 않고 현재 커서 위치에서 행 끝까지 지웁니다. |
| el1 | 행의 시작부터 현재 위치까지 지웁니다. 커서가 이동되지 않습니다. |
스크롤링
다음 insert-line및 delete-line 기능은 터미널이 다음을 수행할 수 있음을 표시하는 데 사용됩니다.
| 항목 | 설명 |
|---|---|
| csr (csr) | 스크롤 영역을 변경하십시오. 이 기능은 두 개의 매개변수 (스크롤 영역의 맨 위 및 맨 아래 행) 를 사용합니다. 화면의 맨 위 행은 0입니다. 이 기능을 사용하면 커서 위치가 정의되지 않습니다. 이 절의 sc 및 rc 기능을 참조하십시오. |
| DA | 화면 위에 디스플레이를 유지하십시오. 행이 삭제되거나 화면이 스크롤되면 맨 위에 공백이 아닌 행을 가져올 수 있습니다. 이 기능은 일반적으로 다중 페이지 터미널에 대해 정의됩니다. |
| DB | 화면 아래에 디스플레이를 유지하십시오. 행이 삭제되거나 화면이 역방향으로 스크롤되는 경우 터미널은 맨 아래에 공백이 아닌 행을 가져올 수 있습니다. 이 기능은 일반적으로 다중 페이지 터미널에 대해 정의됩니다. |
| dl1 | 커서가 있는 행을 삭제하십시오. 이는 삭제될 행의 첫 번째 위치에서만 수행됩니다. 또한 dl 기능은 삭제할 행 수를 표시하는 단일 매개변수를 사용합니다. |
| il1 | 현재 커서가 있는 행 앞에 새 빈 행을 작성하고 화면의 나머지 부분을 아래로 스크롤합니다. 이는 행의 첫 번째 위치에서만 수행됩니다. 그러면 커서가 새로운 공백 행에 표시됩니다. 또한 il 기능은 삽입할 행 수를 표시하는 단일 매개변수를 사용할 수 있습니다. |
| ind | 색인 또는 앞으로 화면이동합니다. 이 기능이 있는 터미널은 맨 위 행을 삭제하고 맨 아래에 빈 행을 추가하여 표시장치를 한 행 위로 이동할 수 있습니다. |
| indn | 앞으로 화면이동할 행 수를 지정하십시오. 이 기능은 ind 기능도 정의된 경우에만 의미가 있습니다. |
| rc | 커서를 복원하십시오. 이 기능은 csr 및 sc 기능에 유용합니다. |
| ri | 스크롤을 반대로 하십시오. 이 기능을 사용하여 터미널은 맨 아래 행을 삭제하고 맨 위에 빈 행을 추가하여 화면을 아래로 이동할 수 있습니다. |
| RIN | 역방향으로 화면이동할 행 수를 지정하십시오. 이 기능은 ri 기능도 정의된 경우에만 의미가 있습니다. |
| sc | 커서를 저장하십시오. 정의된 경우, csr 기능을 사용하기 전에 sc 기능을 사용하여 커서를 저장할 수 있습니다. csr 기능을 사용한 후에는 커서 위치가 정의되지 않으므로 커서를 저장해야 합니다. csr 기능을 사용하기 전에 보유한 위치로 커서를 복원하려면 rc 기능을 사용하십시오. |
| 사이버 공격 | 터미널에 메모리의 일부로 창을 정의할 수 있는 기능이 있음을 표시합니다. 이는 네 개의 매개변수 (메모리의 시작 및 끝 행과 메모리의 시작 및 끝 열) 가 있는 매개변수화된 문자열 기능입니다. |
csr 기능이 있는 터미널은 영역 위와 아래의 다른 행은 그대로 두고 화면의 일부를 스크롤할 수 있습니다. 영역에 적용된 앞으로 스크롤은 영역의 맨 위를 삭제하고 영역의 맨 아래에 행을 추가합니다. 스크롤 영역을 완료하면 csr 기능을 사용하여 스크롤 영역을 전체 화면으로 복원해야 합니다.
csr 이 정의된 터미널에는 파괴적 스크롤링 영역이 있습니다. 한 행이 화면 밖으로 화면이동되면 터미널이 이를 검색할 수 없습니다. 비파괴 스크롤링 영역이 있는 터미널은 스크롤링을 반전하여 스크롤링된 행을 복원할 수 있습니다. ind, ri, indn, rin, dl및 dl1 이 모두 파괴적 스크롤링을 시뮬레이션하지 않는 한, 터미널에 비파괴적 스크롤링 영역이 있는 경우 csr 기능을 지정하지 마십시오.
다중 페이지 터미널에서, 스크롤링은 한 행을 다른 페이지에 놓을 수 있으며 반대 방향으로 스크롤링하면 해당 행이 다시 표시됩니다. 마찬가지로 행을 삭제하면 다른 페이지의 행이 화면에 표시될 수 있습니다. 다중 페이지 터미널에는 스크롤을 사용하는 프로그램이 해당 동작을 조정할 수 있도록 da 및 db 기능이 정의되어 있어야 합니다.
몇몇 터미널은 창을 메모리의 일부로 정의할 수 있습니다. 이러한 유형의 터미널의 경우, 모든 지우기, 삭제, 삽입 및 랩핑 명령은 창이 정의된 메모리의 영역에 영향을 줍니다.
문자 삽입 또는 삭제
일반적으로 터미널은 두 가지 방법 중 하나로 삽입/삭제 문자 조작을 처리합니다. 가장 일반적인 문자 삽입/삭제 조작은 현재 행의 문자에만 영향을 주고 문자를 오른쪽 및 오른쪽으로 이동합니다. 다른 터미널은 화면에서 유형이 지정된 공백과 유형이 지정되지 않은 공백을 구별합니다. 문자를 삽입할 때 표시된 데이터가 시프트되고 입력되지 않은 공백이 제거됩니다. 유형이 지정되지 않은 모든 공백이 제거되면 문자를 계속 삽입하는 경우 표시된 데이터가 다음 행으로 랩핑됩니다. 문자를 삭제할 때 입력되지 않은 공백이 행에 추가되어 삭제된 문자를 보완합니다.
일반적으로 터미널은 한 행 모드 또는 여러 행 모드에서 문자를 삽입/삭제합니다. 두 가지 유형의 터미널도 유형이 지정되지 않은 공간을 다르게 처리합니다. 한 행 모드가 가장 일반적인 모드입니다. 한 행 모드에서 문자 삽입/삭제 조작은 현재 행의 문자에만 영향을 줍니다. 삽입은 문자를 오른쪽으로 이동하고 행을 해제합니다.
다중 회선 모드 터미널은 둘 이상의 회선에 영향을 줄 수 있습니다. 이 모드에서 터미널은 화면에서 입력된 공백과 입력되지 않은 공백을 구별합니다. 다중 행 모드 터미널에 문자를 삽입하면 표시된 데이터가 이동되고 유형이 지정되지 않은 공백이 제거됩니다. 입력되지 않은 모든 공백이 제거되고 계속해서 문자를 삽입하는 경우, 표시 화면은 다음 행으로 랩핑됩니다. 문자를 삭제할 때 다중 행 터미널은 입력되지 않은 공백을 행에 추가하여 삭제된 문자를 보완합니다.
터미널 유형 판별
화면을 지운 후 커서 이동으로 분리된 텍스트를 입력하면 터미널이 수행하는 삽입/삭제 조작의 유형을 판별하는 데 도움이 됩니다. 화면을 지우고 다음과 같이 진행하십시오.
- 유형abc def공백이 아닌 로컬 커서 이동을 사용하여abc및def.
- 커서를abc.
- 터미널을 삽입 모드에 두십시오.
- 텍스트 행을 입력하십시오. 입력으로 인해abc def문자를 사용하여 오른쪽으로 이동하고 화면의 오른쪽을 나가면 터미널은 공백과 유형이 지정되지 않은 위치를 구분하지 않습니다.
If theabc위치로 이동합니다.def문자는 행의 오른쪽 끝으로 이동하고 다음 행으로 이동합니다. 터미널은 두 번째 유형입니다. 이는 삽입 널을 나타내는 in 기능으로 설명됩니다.
이 두 속성 (한 행 대 여러 행 삽입 모드 및 유형이 지정되지 않은 공간의 다른 처리) 이 논리적으로 분리되어 있지만 단일 속성으로 삽입 모드를 설명할 수 없는 알려진 터미널이 없습니다.
문자 기능 삽입 또는 삭제
terminfo 데이터베이스는 삽입 모드가 있는 터미널과 현재 행에서 공백 위치를 열기 위해 단순 시퀀스를 전송하는 터미널을 설명합니다. 다음은 문자 삽입/삭제 기능을 설명하는 데 사용됩니다.
| 항목 | 설명 |
|---|---|
| dch1 | 단일 문자를 삭제합니다. 하나의 매개변수 n이 있는 dch 기능은 n 자를 삭제합니다. |
| ech | 커서에서 시작하여 지정된 수의 문자를 공백으로 대체합니다. 커서 위치는 변경되지 않습니다. |
| ich1 | 문자를 삽입할 행에서 공백을 엽니다. 이 순서는 실제 문자 삽입에 선행합니다. 실제 삽입 모드가 있는 터미널은 이 기능을 사용하지 않습니다. |
| ip | 사후 채우기가 필요함을 표시합니다. 이는 밀리초 단위로 제공됩니다. 단일 문자를 삽입한 후 전송해야 할 수 있는 다른 시퀀스를 이 기능에서 제공할 수 있습니다. |
| 미르 | 삽입 모드에서 커서 이동을 허용합니다. 동일한 행의 문자를 삭제하기 위해 삽입 모드에 있는 동안 커서를 이동해야 하는 경우가 있습니다. 일부 터미널은 삽입 모드의 처리로 인해 이 기능을 사용할 수 없습니다. |
| rmdc (rmdc) | 삭제 모드를 종료합니다. |
| 령 | 삽입 모드를 종료합니다. |
| rmp (Rmp) | 삽입 모드에 있지 않을 때 입력된 문자 사이에 채우기가 필요함을 표시합니다. 이 기능은 대체 모드에서 사용됩니다. |
| SMDC (smdc) | 삭제 모드로 들어갑니다. |
| 스미르 (smir) | 삽입 모드를 시작합니다. |
삽입 모드가 필요하고 삽입된 각 문자 앞에 특수 코드가 필요한 터미널에 대한 terminfo 설명을 작성하는 경우 smir/rmr및 ich1 기능을 정의하십시오. 하나의 매개변수 n이 있는 ich 기능은 n 개의 공백을 열어 n 개의 문자를 삽입할 수 있습니다.
강조표시, 밑줄 및 비주얼 벨
터미널에 강조표시, 밑줄 및 비주얼 벨과 같은 하나 이상의 표시 속성이 있는 경우 여러 가지 방법으로 표시할 수 있습니다. 표준 출력 모드와 같은 강조표시는 오류 메시지 및 기타 중요한 메시지에 강조를 추가하는 고대비의 읽기 쉬운 형식을 제공합니다. 밑줄은 터미널의 특정 부분에 주의를 집중시키는 또 다른 방법입니다. 시각적 벨에는 화면 깜박임과 같은 메소드가 포함됩니다. 다음 기능은 강조표시, 밑줄 및 시각적 벨을 설명합니다.
- 깜박임
- 터미널에 깜박임 강조표시 모드가 있음을 표시합니다.
- 굵은체
- 터미널에 추가 밝은 강조표시 모드가 있음을 표시합니다.
- 시비스
- 커서를 보이지 않게 합니다.
- 코노름
- 일반 커서를 표시합니다. 이 기능은 civis 및 cvvis 기능의 영향을 반전시킵니다.
- CVvis
- 커서가 맨 아래 행에 있지 않을 때 일반적인 것보다 더 많이 볼 수 있도록 합니다.
- 흐리게 표시
- 터미널에 반밝기 강조표시 모드가 있음을 표시합니다.
- EO
- 공백이 겹쳐찍기를 지움을 표시합니다.
- Enacs
- 대체 문자 세트 모드를 사용하는 명령 문자열을 지정합니다. 일부 터미널은 먼저 특정 명령을 수신하지 않으면 대체 문자 세트 모드로 들어갈 수 없습니다. enacs 기능은 명령을 정의합니다.
- 플래시
- 터미널에 커서를 이동하지 않고 오류에 대한 화면 플래시 (벨 대체로) 를 작성하는 방법이 있음을 표시합니다.
- 침입
- 터미널에 공백 또는 표시되지 않는 텍스트 강조표시 모드가 있음을 표시합니다.
- 메시지 관리자
- 커서를 표준 모드로 이동하는 것이 안전함을 표시합니다. 그렇지 않으면, 표준 모드를 사용하는 프로그램은 커서를 이동하거나 줄 바꾸기를 전송하기 전에 이 모드를 종료해야 합니다. 일부 터미널은 새 행으로 이동하거나 커서가 주소 지정될 때 자동으로 표준 모드를 종료합니다.
- nrrmc
- rmcup 순서가 출력된 후 smcup 순서가 화면을 복원하지 않음을 표시합니다. 이는 rmcup을 출력하기 전의 상태로 화면을 복원할 수 없음을 의미합니다.
- OS
- 터미널이 원래 문자를 지우지 않고 기존 문자를 겹쳐찍을 수 있음을 표시합니다. 겹쳐찍기는 복합 문자를 작성합니다.
- Prot
- 터미널에 보호 텍스트 모드가 있음을 표시합니다. 이는 터미널이 텍스트를 겹쳐쓰거나 지우지 않도록 보호함을 의미합니다. 보호 방법은 터미널에 따라 다릅니다.
- rev
- 터미널에 반전 영상 모드가 있음을 표시합니다.
- Rmacs
- 대체 문자 세트 모드를 종료합니다.
- Rmso
- 표준 출력 모드를 종료합니다.
- Rmul
- 밑줄을 종료합니다.
- sgr
- 임의의 속성 조합을 설정하는 순서를 제공합니다. sgr 기능은 9개의 속성을 설정할 수 있습니다. 이러한 속성의 순서는 다음과 같습니다.
- standout
- 밑줄
- 깜박임
- 흐리게 표시
- 굵은체
- 공백
- 보호
- 대체 문자 세트
모드를 켜려면 0이 아닌 값으로 설정하십시오. 모드를 끄려면 0으로 설정하십시오. sgr 기능은 별도의 기능이 이미 터미널에 존재하는 모드만 지원할 수 있습니다.
- sgr0
- 대체 문자 세트를 포함하여 모든 특수 모드를 전환합니다.
- Smacs
- 대체 문자 세트 모드로 들어갑니다.
- smcup및 rmcup
- 강조표시, 밑줄 또는 시각적 벨 기능을 사용하는 프로그램을 실행할 때 터미널이 특수 모드에 있어야 함을 표시합니다. smcup 기능은 이 모드로 들어가고 rmcup 기능은 이 모드를 종료합니다.
이러한 요구는, 예를 들어, 2페이지 이상의 메모리 페이지를 갖는 단말기들에서 발생한다. 터미널에 화면 상대적 커서 주소 지정이 아닌 메모리 상대적 커서 주소 지정만 있는 경우, 커서 주소 지정이 제대로 작동하려면 화면 크기의 창을 터미널에 고정해야 합니다. 이는 smcup 기능이 terminfo 데이터베이스 파일이 사용할 명령 문자를 설정할 때도 사용됩니다.
- 스몰소
- 표준 출력 모드로 들어갑니다.
- 스무
- 밑줄 긋기를 시작합니다.
- UC
- 현재 문자에 밑줄을 긋고 커서를 오른쪽으로 한 칸 이동합니다.
- ul
- 터미널이 겹쳐찍히지 않더라도 밑줄이 있는 문자를 올바르게 생성함을 표시합니다 (특수 코드가 필요하지 않음).
- XMC
- 표준 출력 모드를 시작하거나 종료하는 기능이 화면에 공백을 남기는 경우 남아 있는 공백 수를 표시합니다.
강조표시, 겹쳐찍기 및 밑줄
하나의 표시 방법을 표준 모드로 선택하고 이를 사용하여 주의를 끌려는 오류 메시지 및 기타 유형의 텍스트를 강조표시해야 합니다. 예를 들어, 반전 영상+반밝기 또는 반전 영상만을 선택할 수 있습니다. smso 및 rmso 기능을 사용하여 표준 모드를 시작하고 종료하는 순서를 제공합니다. 표준 모드로 변경하거나 표준 모드에서 변경하는 코드가 화면에 하나 또는 두 개의 공백을 남겨 두는 경우, xmc 를 지정하여 남아 있는 공백 수를 알려야 합니다.
터미널이 특수 코드 없이 밑줄 문자를 사용하여 밑줄 문자를 생성하는 경우 ul 부울 기능을 지정해야 합니다. 터미널이 문자를 오버스트라이크하지 않는 경우에도 이 기능을 지정해야 합니다. 다른 문자를 겹쳐찍기하여 두 문자가 모두 화면에 표시되는 터미널의 경우 os 기능을 지정하십시오. 터미널이 공백으로 겹쳐찍기를 지울 수 있는 경우 eo 기능을 지정하여 이를 표시하십시오.
sgr 기능 사용 예제
다음 예제는 sgr 기능을 사용하여 다양한 모드를 켜는 방법을 보여줍니다. 다양한 모드를 켜기 위해 다음 이스케이프 시퀀스가 필요한 터미널을 정의해야 한다고 가정합니다.
| Terminfo 매개변수 | 모드 | 이스케이프 시퀀스 |
|---|---|---|
| 없음 | \E[0m | |
| p1 | standout | \E[0;4;7m |
| p2 | 밑줄 | \E[0;3m |
| p3 | 되돌리기 | \E[0;4m |
| p4 | 깜박임 | \E[0;5m |
| p5 | 흐리게 표시 | \E[0;7m |
| p6 | 굵은체 | \E[0;3:4m |
| p7 | 침입 | \E[0;8m |
| p8 | 보호 | 사용할 수 없음 |
| p9 | 대체 문자 세트 | ^O(꺼짐)^N(켜짐) |
다른 모드를 결합하여 일부 모드를 시뮬레이션할 수 있습니다. 이 예에서 standout 속성 이스케이프 시퀀스는 reverse 및 dim 시퀀스의 조합입니다. 또한 예제에서 굵은체 시퀀스는 reverse 및 underline 시퀀스의 조합입니다. 밑줄 및 깜박임과 같은 모드를 결합하려면 사용할 순서는 다음과 같습니다.\E[0;3;5m.
다른 모드를 결합하여 특정 모드를 시뮬레이션할 수 없습니다. 예를 들어, protect 모드를 시뮬레이션할 수 없습니다. 이 예제에서 시스템은 p8 매개변수를 무시합니다. altcharset 모드는 대체 문자 모드 세트가 켜져 있는지 또는 꺼져 있는지에 따라 ^ O 또는 ^ N이라는 점에서 다릅니다. 모든 모드가 켜지면 시퀀스가 다음과 같이 표시됩니다.\E[0;3;4;5;7;8m^N.
일부 시퀀스는 하나 이상의 모드에 대해 출력됩니다. For example, the;3 isp2 매개변수 또는 p6 매개변수가 true일 때 출력됩니다. 위의 시퀀스를 종속성과 함께 작성하면 결과는 다음과 같습니다.
| 시퀀스 | 출력 시기 | terminfo 변환 |
|---|---|---|
| \E[0 | 항상 | \E[0 |
| ;3 | p2 또는 p6 인 경우 | %?%p2%p6%|%t;3%; |
| ;4 | p1 또는 p3 또는 p6 인 경우 | %?%p1%p3%|%p6%|%t;4%; |
| ;5 | p4 인 경우 | %?%p4%t;5%; |
| ;7 | p1 또는 p5 인 경우 | %?%p1%p5%|%t;7%; |
| ;8 | p7 인 경우 | %?%p1%t;8%; |
| m | 항상 | m |
| ^N or ^O | p9 ^ N인 경우, 그렇지 않으면 ^ O입니다. | %?%p9%t^N%e^O%; |
최종 결과는 다음과 같이 표시되는 sgr 시퀀스를 생성합니다.
sgr=\E[0%?%p2%p6%|%t;3%;%?%p1%p3%|%p6%|%t;4%;%?%p4%t;5;%?%p1%p5%|
%t;7%;%?%p1%t;8%;m%?%p9%t^N%e^O%;,키 패드
키를 누를 때 터미널에 코드를 전송하는 키패드가 있는 경우, 터미널의 terminfo 항목에서 이를 정의할 수 있습니다. 키패드가 로컬 모드에서만 작동하는 터미널은 처리할 수 없습니다. 키패드를 전송 또는 전송하지 않도록 설정할 수 있는 경우, 이 코드를 smkx 및 rmkx로 제공하십시오. 그렇지 않으면, 키패드는 항상 전송하는 것으로 가정됩니다.
왼쪽 화살표, 오른쪽 화살표, 위로 화살표, 아래로 화살표 및 홈 키로 전송된 코드를 정의하려면 kcub1, kcuf1, kcud1및 khome 기능을 각각 사용하십시오. F0, F1, ..., F63, 전송하는 코드는 kf0, kf1, ..., kf63 기능. 처음 11개의 키에 기본 F0 - F10이외의 레이블이 있는 경우, lf0, lf1, ..., lf10 기능. 특정 기타 특수 키에 의해 전송되는 코드는 다음을 사용하여 정의할 수 있습니다.
| 항목 | 설명 |
|---|---|
| KB | 백스페이스 키. |
| kclr (kclr) | 화면을 지우거나 키를 지우십시오. |
| kctab | 이 열에서 탭 간격을 지웁니다. |
| kdch1 | 문자 삭제 키. |
| kdl1 | 행 삭제 키. |
| 킹됨 (ked) | 화면 끝까지 지웁니다. |
| 켈 (kel) | 행의 끝까지 지웁니다. |
| 가즈 (k기츠) | 이 열에 탭 간격을 설정하십시오. |
| kich1 | 문자를 삽입하거나 삽입 모드로 들어갑니다. |
| kil1 | 행을 삽입하십시오. |
| 종류 | 앞으로 또는 아래로 화면이동하거나 둘 다 화면이동합니다. |
| kll | 홈 다운 키 (이 경우, 홈은 디스플레이의 왼쪽 하단 모서리입니다). |
| 크르미르 (krmir) | 삽입 모드를 종료합니다. |
| knp | 다음 페이지. |
| kpp (kpp) | 이전 페이지. |
| ktbc | 모든 탭 지우기 키. |
| ri | 앞뒤로 또는 위로 화면이동하거나 둘 다 화면이동합니다. |
또한 키패드에 네 개의 화살표 키를 포함하여 세 개씩 세 개의 키 배열이 있는 경우, 다른 다섯 개의 키를 ka1, ka3, kb2 kc1및 kc3으로 지정하십시오. 이 키는 3 * 3방향 패드의 효과가 필요할 때 유용합니다.
기능 키를 프로그래밍하는 문자열은 pfkey, pfloc및 pfx 기능으로 제공될 수 있습니다. 소프트 화면 레이블을 프로그래밍하기 위한 문자열은 pln으로 제공될 수 있습니다. 이러한 각 문자열은 두 개의 매개변수를 사용합니다. 하나는 프로그램에 대한 기능 키 번호 (0-10) 이고 다른 하나는 프로그램에 대한 기능 키 번호입니다. 이 범위를 벗어나는 기능 키 번호는 터미널 종속 방식으로 정의되지 않은 키를 프로그래밍할 수 있습니다. pfkey 를 누르면 주어진 키가 주어진 문자열을 입력하는 사용자와 동일하게 되고, pfloc 를 실행하면 터미널이 로컬 모드에서 문자열을 실행하며, pfx 를 실행하면 문자열이 컴퓨터로 전송된다는 점에서 기능이 다릅니다. nlab, lw및 lh 기능은 소프트 레이블의 수와 너비 및 높이를 정의합니다. 소프트 레이블을 켜고 끄기 위한 명령을 지정하려면 smln 및 rmln 을 사용하십시오. smln 은 일반적으로 하나 이상의 pln 시퀀스 뒤에 출력되어 변경사항이 표시되도록 합니다.
탭 및 초기화
터미널에 하드웨어 탭이 있는 경우 ht 기능 (일반적으로 Ctrl-I) 을 사용하여 다음 탭 중지로 진행할 명령을 지정할 수 있습니다. 이전 탭 정지 쪽으로 왼쪽으로 이동하는 명령을 지정하려면 cbt 기능을 사용하십시오. 규칙에 따라 터미널 모드가 운영 체제가 탭을 터미널로 전송하지 않고 펼치고 있음을 표시하는 경우, 프로그램은 ht 또는 cbt 기능이 있는 경우에도 이 기능을 사용하지 않아야 합니다. 사용자가 탭 중지를 올바르게 설정하지 않았을 수 있기 때문입니다.
터미널의 전원이 켜질 때 터미널에 초기에 모든 n 개의 공간마다 설정되는 하드웨어 탭이 있는 경우, 해당 terminfo 설명은 숫자 기능 it 을 정의하여 탭이 설정된 공간 수를 표시해야 합니다. 일반적으로 tput init 명령은 it 매개변수를 사용하여 하드웨어 탭 확장 모드를 설정할지 여부와 탭 중지를 설정할지 여부를 판별합니다. 터미널에 비휘발성 메모리에 저장할 수 있는 탭 정지가 있는 경우, terminfo 설명은 이들이 올바르게 설정되었다고 가정할 수 있습니다.
기타 유사한 기능에는 터미널에 대한 is1, is2및 is3 초기화 문자열, 터미널의 초기화 프로그램을 지정하는 iprog 기능 및 긴 초기화 문자열을 포함하는 파일의 이름을 식별하는 if 기능이 포함됩니다. 이러한 문자열은 터미널을 나머지 terminfo 파일 설명과 일치하는 모드로 설정할 것으로 예상됩니다. 일반적으로 사용자가 로그인할 때마다 tput init 명령에 의해 터미널로 전송됩니다. 사용자가 로그인할 때 시스템은 다음을 수행합니다.
- iprog 프로그램을 실행합니다.
- is1을 인쇄합니다.
- is2를 인쇄하십시오.
- mgc, smgl및 smgr 기능을 사용하여 여백을 설정합니다.
- tbc 및 츠 기능을 사용하여 탭을 설정합니다.
- if 파일을 인쇄합니다.
- is3을 인쇄합니다.
is2 기능에 공통 시퀀스를 넣고 is1 및 is3 기능에 특수 케이스를 넣어 문자열을 복제하지 않고 특수 터미널 모드를 설정할 수 있습니다. 완전히 알 수 없는 상태에서 더 강력하게 재설정하는 시퀀스를 지정하려면 is1, is2, is3및 if 기능과 동일한 rs1, rs2, rs3및 rf 기능을 지정하십시오.
일부 터미널은 if 및 rf 파일을 사용합니다. 그러나 권장되는 방법은 초기화 및 재설정 문자열을 사용하는 것입니다. 이러한 문자열은 tput reset 명령에 의해 출력됩니다. 이 명령은 터미널이 이상하게 작동하기 시작하거나 전혀 응답하지 않을 때 사용됩니다. 명령은 일반적으로 rs1, rs2, rs3 및 rf 기능에 배치됩니다. 이 기능은 화면에 방해가 되는 효과를 생성하고 로그인할 때 필요하지 않은 경우에만 적용됩니다. 예를 들어, 터미널을 80열모드로 설정하는 명령은 일반적으로 is2의 일부이지만, 대부분의 터미널이 80열모드에서 초기화되기 때문에 번거로운 화면 작동을 유발하므로 필요하지 않습니다.
탭 간격을 설정하고 지우는 명령이 있는 경우 tbc (모든 탭 간격 지우기) 및 면 (모든 행의 현재 열에 탭 간격 설정) 기능을 사용하여 탭 간격을 지정하십시오. 탭을 설정하는 데 더 복잡한 시퀀스가 필요한 경우 시퀀스를 is2 또는 if 기능에 배치하십시오.
mgc 기능은 모든 여백을 지울 수 있습니다. 여백을 설정하고 지우는 방법에 대한 자세한 정보는 여백을 참조하십시오.
기타 문자열
터미널에 널 문자 이외의 문자가 패드로 필요한 경우 pad 문자열을 지정하십시오. pad 문자열의 첫 번째 문자만 사용됩니다. 터미널에 채움 문자가 없는 경우 npc 기능을 지정하십시오.
터미널이 한 행의 위 또는 아래로 이동할 수 있는 경우 hu (위로 반행) 및 hd (아래로 반행) 기능을 정의하십시오. 이러한 기능은 주로 하드카피 터미널의 윗첨자 및 아래첨자에 유용합니다. 하드카피 터미널이 다음 페이지 (용지 넘김) 로 꺼낼 수 있는 경우 ff (일반적으로 Ctrl-L) 기능으로 지정하십시오.
지정된 문자를 지정된 횟수만큼 반복하는 명령이 있는 경우 (많은 수의 동일한 문자를 전송하는 시간을 절약하기 위해), 이는 rep 매개변수화된 문자열로 표시될 수 있습니다. 첫 번째 매개변수는 반복할 문자이고 두 번째 매개변수는 반복할 횟수입니다. 따라서 다음과 같습니다.
tparm(repeat_char,'x',10) 이는 다음과 같습니다.
xxxxxxxxxx 터미널에 설정 가능한 명령 문자 (예: Tektronix 4025) 가 있는 경우 cmdch 기능을 사용하여 이를 표시하십시오. 모든 기능에서 사용되는 프로토타입 명령 문자가 선택됩니다. 이 문자는 이를 식별하기 위해 cmdch 기능에서 제공됩니다. 일부 UNIX 시스템에서 CC 환경 변수가 있는 경우 프로토타입 문자의 모든 어커런스가 CC 변수의 문자로 대체됩니다.
스위치, 전화 접속, 패치 및 네트워크와 같은 특정 종류의 알려진 터미널을 표시하지 않는 터미널 설명에는 gn (일반) 기능이 포함되어야 합니다. 이 기능을 사용하면 프로그램이 터미널과 대화할 수 없는 경우 오류를 리턴할 수 있습니다. gn 기능은 이스케이프 시퀀스가 알려진 가상 터미널 설명에 적용되지 않습니다. 터미널이 UNIX 시스템 가상 터미널 프로토콜에서 지원되는 경우, vt 기능을 사용하여 터미널 번호를 정의하십시오.
터미널이 플로우 제어에 대해 xon/xoff 핸드쉐이킹을 사용하는 경우 해당 설명에 xon 기능이 포함되어야 합니다. 루틴이 비용에 대해 더 나은 의사결정을 내릴 수 있도록 채우기 정보도 포함해야 합니다. 그러나 실제 채움 문자는 전송되지 않습니다. 손/xoff 핸드쉐이킹을 켜고 끄는 시퀀스를 지정하려면 smxon 및 rmxon 기능을 사용하십시오. 데이터 교환에 사용되는 문자가 ^ S및 ^ Q가 아닌 경우 xonc 및 xoffc 기능을 사용하여 정의하십시오.
터미널에 전송된 문자의 8번째비트를 설정하기 위한 시프트 키 역할을 하는 메타 키가 있는 경우, km 기능으로 키를 식별하십시오. 그렇지 않으면, 소프트웨어는 8번째비트가 패리티인 것으로 가정하고 일반적으로 지워집니다. 이 메타 모드를 켜고 끄는 문자열이 있는 경우 smm 및 rmm 기능으로 제공될 수 있습니다.
터미널에 한 번에 화면에 맞는 것보다 많은 메모리 라인이 있는 경우, lm 기능을 사용하여 메모리 라인 수를 정의하십시오. lm#0 값은 행 수가 고정되어 있지 않지만 화면에 맞는 것보다 더 많은 메모리 행이 있음을 표시합니다.
터미널에 연결된 보조 프린터를 제어하는 매체 복사 문자열은 다음 기능으로 식별됩니다.
| 항목 | 설명 |
|---|---|
| mc0 | 화면의 내용을 인쇄합니다. |
| mc4 | 프린터를 끄고 |
| mc5 | 프린터를 켭니다. 프린터가 켜지면 터미널로 전송된 모든 텍스트가 프린터로 전송됩니다. 프린터가 켜져 있을 때 텍스트가 터미널 화면에도 표시되는지 여부는 정의되지 않습니다. |
| mc5p | 지정된 문자 수만큼 프린터를 켜고 프린터를 끕니다. mc5p 에 전달된 매개변수는 255를 초과할 수 없습니다. |
프린터가 켜져 있을 때 터미널 화면에 텍스트가 표시되지 않으면 mc5i 기능을 지정하여 자동 프린터를 표시하십시오. mc4를 포함한 모든 텍스트는 mc5p 가 적용되는 동안 프린터에 투명하게 전달됩니다.
상태 라인
terminfo 항목을 사용하여 터미널에 소프트웨어에서 일반적으로 사용되지 않는 추가 상태 표시줄이 있음을 표시할 수 있습니다. 상태 행이 커서가 정상적으로 주소 지정될 수 있는 맨 아래 행 아래의 추가 행으로 표시되는 경우, hs 기능이 제공되어야 합니다. 상태 표시줄의 처음으로 이동하고 상태 표시줄에서 리턴하는 특수 문자열은 각각 tsl 및 fsl 기능으로 제공될 수 있습니다. ( fsl 은 커서 위치를 tsl이전과 동일한 위치에 두어야 합니다. 필요한 경우 sc 문자열 및 rc 문자열을 tsl 및 fsl 에 포함하여 이 효과를 얻을 수 있습니다.) tsl 기능은 하나의 매개변수를 사용합니다. 이 매개변수는 커서가 이동될 상태 표시줄의 컬럼 번호입니다.
이스케이프 시퀀스 및 기타 특수 명령 (예: 탭) 이 상태 표시줄에 있는 동안 작동하는 경우 eslok 기능을 지정하십시오. 상태 표시줄을 끄는 (또는 컨텐츠를 지우는) 문자열은 dsl로 제공되어야 합니다. 터미널에 커서의 위치를 저장하고 복원하는 명령이 있는 경우 sc 및 rc 기능으로 제공하십시오. 상태 표시줄은 일반적으로 나머지 화면과 동일한 너비로 가정됩니다 (예: cols). 상태 표시줄이 다른 너비인 경우 (터미널이 전체 행을 로드하도록 허용하지 않기 때문일 수 있음) 열의 너비는 wsl 숫자 매개변수로 표시할 수 있습니다.
선 그래픽
터미널에 선 그리기 대체 문자 세트가 있는 경우 acsc 기능에서 문자에 대한 글리프 맵핑을 지정하십시오. 이 문자열의 정의는 DEC VT100 터미널에서 사용되는 대체 문자 세트를 기반으로 하며, AT&T4410v1 터미널의 일부 문자로 약간 확장됩니다. 다음을 사용하여 문자열을 정의하십시오.
| 글리프 이름 | vt100+ 문자 |
|---|---|
| 오른쪽 화살표 | + |
| 왼쪽 화살표 | , |
| 아래쪽 화살표 | . |
| 입체 정방 블록 | 0 |
| 랜턴 기호 | I |
| 위쪽 화살표 | - |
| 다이아몬드 | ' |
| 체크보드 (스티플) | a |
| 도 기호 | f |
| 더하기 또는 빼기 부호 | g |
| 정방 보드 | h |
| 오른쪽 하단 코너 | j |
| 오른쪽 상단 코너 | k |
| 왼쪽 상단 코너 | l |
| 왼쪽 하단 코너 | m |
| 더하기 | n |
| 스캔 행 1 | o |
| 가로선 | q |
| 스캔 행 9 | s |
| 왼쪽 T | t |
| 오른쪽 T | u |
| 맨 아래 T | v |
| 상단 T | w |
| 세로선 | x |
| 글머리 기호 | ~ |
새 터미널의 선 그래픽 세트를 설명하는 가장 좋은 방법은 터미널이 대체 문자 세트 모드에 있을 때 적절한 글리프를 생성하는 새 터미널의 문자를 사용하여 위의 테이블에 세 번째 열을 추가하는 것입니다. 예를 들어 다음과 같습니다.
glyph name vt100 tty
character character upper left corner l R lower left corner m F upper right corner k T lower right corner j G horizontal line q , vertical line x . 그런 다음, 다음과 같이 왼쪽에서 오른쪽으로 문자를 지정하여 acsc 기능을 지정합니다.
acsc=lRmFkTjGq\,x.색상 조작
색상 조작에는 HP 방법과 Tektronix 방법의 두 가지 방법이 있습니다. 대부분의 기존 색상 터미널은 이 두 클래스 중 하나에 속합니다. Tektronix 메소드는 사용자가 현재 전경 및 배경 색상을 선택할 수 있는 N 사전 정의된 색상 세트 (일반적으로 8) 를 사용합니다. 따라서 터미널은 동시에 화면에 표시되는 N*N 색상 쌍으로 혼합된 최대 N 개의 색상을 지원할 수 있습니다.
HP 메소드는 사용자가 백그라운드와 독립적으로 포그라운드를 정의하거나 포그라운드와 독립적으로 백그라운드를 정의하지 못하도록 제한합니다. 대신 사용자는 한 번에 전체 색상 쌍을 정의해야 합니다. 2 *M 개의 다른 색상으로 작성된 최대 M 개의 색상 쌍을 이 방법으로 정의할 수 있습니다.
숫자 변수 색상 및 쌍 은 터미널이 한 번에 화면에 표시할 수 있는 색상 및 색상 쌍의 수를 정의합니다. 터미널이 색상의 정의를 변경할 수 있는 경우 ccc 기능을 지정해야 합니다. Tektronix 메소드를 사용하여 색상의 정의를 변경하려면 initc 기능을 사용하십시오. 이 기능에는 네 개의 매개변수 (0- colors-1 범위의 색상 번호 및 0-1,000범위의 빨간색, 녹색, 파란색 (RGB) 값) 가 필요합니다.
현재 전경 및 배경을 지정된 색상으로 설정하려면 setf 및 setb 기능을 사용하십시오. 이러한 기능에는 색상 번호를 지정하는 단일 매개변수가 필요합니다. HP 메소드를 사용하여 색상 쌍을 초기화하려면 initp 기능을 사용하십시오. 이 기능에는 7개의 매개변수가 필요합니다.
- 색상 쌍의 번호는 0부터 쌍까지의 범위입니다. -1
- 포그라운드에 대한 세 개의 RGB 값
- 배경에 있는 세 개의 RGB 값
initc 또는 initp 기능을 사용할 때 빨간색, 녹색, 파란색 또는 색조, 밝음, 채도의 순서로 각각 값을 지정해야 합니다. 색상 쌍을 현재 상태로 만들려면 scp 기능을 사용하십시오. 이 기능은 하나의 매개변수 (색상 쌍의 번호) 를 사용합니다.
일부 터미널은 현재 배경색으로 화면의 영역을 지웁니다. 이 경우 bce 기능을 정의하십시오. op 기능에는 전경 및 배경 색상을 터미널 시작 시의 색상으로 설정하기 위한 시퀀스가 포함되어 있습니다. 마찬가지로, oc 기능에는 모든 색상 또는 -pairs를 터미널 시작 시 보유한 값으로 설정하기 위한 제어 순서가 포함되어 있습니다.
일부 색상 터미널은 비디오 속성의 색상을 대체합니다. 이러한 비디오 속성은 색상과 결합되지 않아야 합니다. 이러한 비디오 속성에 대한 정보를 ncv 기능에 압축해야 합니다. 해당 변수의 9개의 최하위 비트와 비디오 속성 사이에 일대일 대응이 있습니다. 다음 표는 이러한 대응을 설명합니다.
| 속성 | NCV 비트 번호 |
|---|---|
| A_STANDOUT | 0 |
| A_UNDERLINE | 1 |
| A_REVERSE | 2 |
| A_BLINK | 3 |
| A_DIM | 4 |
| A_BOLD | 5 |
| INVIS | 6 |
| 보호 | 7 |
| A_ALTCHARSET | 8 |
특정 비디오 속성을 색상과 함께 사용하지 않아야 하는 경우 해당 ncv 비트를 1로 설정해야 합니다. 그렇지 않으면 비트를 0으로 설정하십시오. 예를 들어, 터미널이 색상을 사용하여 반전 비디오 및 굵은체를 시뮬레이션하는 경우 비트 2및 5를 1로 설정해야 합니다. ncv 의 결과 값은 22입니다.
특수 케이스
일부 터미널에는 terminfo 데이터베이스에 의한 특수 지원이 필요합니다. 이 터미널은 부족하지 않습니다. 이러한 터미널에는 대부분의 터미널에 대해 terminfo 데이터베이스가 예상하는 것과 약간 다를 수 있는 하드웨어가 있습니다. 이 절에서는 몇 가지 특수한 경우에 대해 설명합니다. 터미널에 대한 프로그래머 매뉴얼은 터미널에 대한 terminfo 설명을 코딩하는 데 필요한 모든 정보를 제공해야 합니다.
~(물결 기호) 문자를 허용하지 않는 터미널의 경우 hz 기능을 사용하십시오.
am 줄 바꾸기 바로 다음에 줄 바꾸기 문자를 무시하는 터미널에 대한 설명에는 xenl 기능이 포함되어야 합니다. 가장 오른쪽 문자를 수신할 때 즉시 랩핑하지 않고 다른 문자가 수신될 때까지 커서가 가장 오른쪽 열에 남아 있는 터미널도 xenl 기능을 사용해야 합니다.
el 기능이 표준 출력을 제거하는 데 필요한 경우 (단순히 정상 텍스트를 맨 위에 쓰는 대신) xhp 기능을 지정해야 합니다.
탭이 이동된 모든 문자를 공백으로 변경하는 터미널은 xt 기능 (파괴적 탭) 을 표시해야 합니다. 이 기능은 표준 모드에 삽입된 패드의 맨 위에 커서를 놓을 수 없음을 의미하는 것으로 해석됩니다. 대신, 삭제 및 삽입 행을 사용하여 표준 모드를 지워야 합니다.
ESC (이스케이프) 또는 Ctrl-C 문자를 올바르게 전송할 수 없는 터미널은 xsb 기능을 지정해야 합니다. 이 기능은 ESC에 대해 F1 키가 사용되고 Ctrl-C에 대해 F2 키가 사용됨을 표시합니다.
다른 특정 터미널 문제점은 더 많은 기능을 추가하여 정정할 수 있습니다.
유사한 터미널
term-nl | Terminal smkx@, rmkx@, use=termsmkx 또는 rmkx 기능이 없는 터미널을 정의하므로 시각적 모드에서는 기능 키 레이블을 켜지 않습니다. 이는 다른 터미널 모드 또는 다른 사용자 환경 설정에 유용합니다. 둘 이상의 use 기능을 지정할 수 있습니다.
프린터 기능
terminfo 데이터베이스를 사용하면 터미널 및 프린터의 기능을 정의할 수 있습니다. 터미널 및 프린터에 사용할 수 있는 기능을 찾으려면 터미널 기능 아래에서 변수 및 기능 이름별로 기능을 나열하는 두 개의 목록을 참조하십시오.
반올림 값
매개변수화된 문자열 기능은 정수 값에 대해서만 작동하므로 terminfo 디자이너가 반올림된 숫자 값을 예상하는 문자열을 작성하는 것이 좋습니다. 프로그래머는 매개변수화된 문자열 기능과 함께 사용하기 전에 항상 가장 가까운 정수로 값을 반올림해야 합니다.
프린터 해상도
프린터의 해상도는 달성할 수 있는 최소 문자 간격입니다. 일반적으로 프린터에는 수평 및 수직으로 독립적인 해상도가 있습니다. 프린터의 수직 해상도를 판별하려면 연속 인쇄 기준선 간에 달성할 수 있는 최소 거리를 측정하십시오. 수평 해상도를 판별하려면 연속 인쇄되고 동일한 문자의 가장 왼쪽 가장자리 사이의 가장 작은 달성 가능한 거리를 측정하십시오.
terminfo 데이터베이스는 모든 프린터가 균일한 수평 및 수직 해상도로 인쇄할 수 있다고 가정합니다. terminfo 데이터베이스는 현재 프린터가 균일 매트릭스 내에서 인쇄되는 것처럼 프린터와 상호 작용합니다. 모든 문자는 매트릭스의 각 셀에 상대적인 고정 위치에 인쇄됩니다. 또한, 각각의 셀은 해상도에 의해 지시되는 가장 작은 수평 및 수직 스텝 크기들에 의해 주어진 동일한 크기를 갖는다.
많은 프린터는 수평 간격이 인쇄된 마지막 문자의 크기에 따라 달라지는 비례 인쇄가 가능합니다. terminfo 데이터베이스는 애플리케이션이 비례 인쇄를 시뮬레이션할 수 있도록 충분한 기능 정의를 제공하지만 이 기능을 사용하지 않습니다.
프린터는 수평 및 수직 해상도가 제안하는 대로 문자를 함께 인쇄할 수 있을 뿐만 아니라 이전 위치에서 가장 작은 거리의 정수 배수인 위치로 이동할 수 있어야 합니다. 따라서, 인쇄된 문자들은 단일 페이지의 폭의 길이까지 최소 거리의 적분 배수인 거리만큼 이격될 수 있다.
일부 프린터는 다른 모드에 따라 다른 해상도를 가질 수 있습니다. 정상 모드에서는 비디오 터미널과 마찬가지로 기존 terminfo 기능이 열 및 행에서 작동하는 것으로 가정합니다. 예를 들어, 이전 행 기능은 페이지의 길이를 행으로 지정하고 열 기능은 페이지의 너비를 열로 지정합니다. 마이크로 모드에서는 많은 terminfo 기능이 행 및 열의 증분에 대해 작동합니다. 일부 프린터에서는 모든 기능이 동시에 작동하도록 마이크로 모드가 정상 모드와 동시에 존재할 수 있습니다.
프린터 해상도 지정
여러 가지 다른 기능을 사용하여 프린터의 인쇄 해상도를 지정할 수 있습니다. 각 기능은 다른 방식으로 거리를 지정합니다. 다음 기능은 인쇄 해상도를 정의합니다.
| 기능 | 다음으로 정의됨 |
|---|---|
| 오르히 (orhi) | 수평으로 인치당 단계 수 |
| 오르비 (orvi) | 인치당 수직 단계 |
| orc | 열당 단계 |
| orl | 행당 단계 |
정상 모드에서 인쇄할 때 인쇄되는 각 문자는 나중에 설명되는 특수한 경우를 제외하고 프린터가 다음 열로 이동하도록 합니다. 이동된 거리는 열당 해상도와 동일합니다. 일부 프린터에서는 문자가 가장 오른쪽에 인쇄될 때 다음 행으로 자동 이동합니다. 이동된 수직 거리는 행당 해상도와 동일합니다. 마이크로 모드에서 인쇄할 때 이러한 거리는 다를 수 있으며 일부 프린터의 경우 0일 수 있습니다. 다음은 인쇄 후 프린터 해상도 자동 이동을 지정합니다.
| 기능 | 다음으로 정의됨 |
|---|---|
| orc | 정상 모드에서 단계가 수평으로 이동되었습니다. |
| orl | 정상 모드에서 수직으로 이동된 단계입니다. |
| mcs | 단계가 마이크로 모드에서 수평으로 이동되었습니다. |
| MLS | 마이크로 모드에서 수직으로 이동된 단계입니다. |
일부 프린터는 와이드 문자를 인쇄할 수 있습니다. 일반 모드에서 와이드 문자가 인쇄될 때 이동되는 거리는 일반 너비 문자가 인쇄될 때와 다를 수 있습니다. 와이드 문자가 마이크로 모드에서 인쇄될 때 이동되는 거리는 또한 정규 문자가 마이크로 모드에서 인쇄될 때와 다를 수 있지만, 차이는 관련되는 것으로 가정됩니다.
일반 문자에 대해 이동된 거리가 일반 모드 또는 마이크로 모드 (mcs=ocs) 에서 동일한 경우 와이드 문자에 대해 이동된 거리도 두 모드에서 동일합니다. 이는 정상 문자 거리가 와이드 문자 거리와 반드시 동일하다는 것을 의미하지는 않습니다. 단지 거리가 정상 모드에서 마이크로 모드로 변경되어도 변경되지 않는다는 것을 의미합니다. widcs 기능을 사용하여 와이드 문자 인쇄 후 자동 이동이 일반 또는 마이크로 모드에서 동일한 경우 프린터 해상도를 지정하십시오.
일반 문자에 대해 이동된 거리가 일반 모드 (mcs <orc) 에서 이동된 거리와 마이크로 모드에서 다른 경우 마이크로 모드 거리가 마이크로 모드에서 인쇄된 와이드 문자에 대해 동일하다고 가정할 수 있습니다. 이 경우 mcs 기능을 사용하여 이동한 거리를 지정합니다. 프린터는 일반 및 와이드 문자 모두에 대해 사용자가 지정하는 값을 사용합니다.
프린터는 제어 순서를 사용하여 인치당 열 수 (문자 피치) 를 변경하고 인치당 행 수 (행 피치) 를 변경할 수 있습니다. 이를 사용하는 경우, 프린터의 해상도는 변경되지만 변경 유형은 프린터에 따라 다릅니다.
| 기능 | 다음으로 정의됨 |
|---|---|
| cpi | 문자 피치를 변경하십시오. |
| cpix | 설정된 경우 cpi 는 orhi를 변경하고, 그렇지 않으면 cpi 기능은 orc 값을 변경합니다. |
| lpi | 선 피치 변경 |
| lpix (Lpix) | 설정된 경우 lpi 는 orvi 값을 변경합니다. 그렇지 않으면 orl 값이 변경됩니다. |
| CHR | 열마다 단계를 변경합니다. |
| cvr (cvr) | 행당 단계를 변경합니다. |
cpi 및 lpi 스트링 기능에는 각각 단일 인수, 열 (또는 문자) 의 피치 및 인치당 행 수가 있습니다. chr 기능 및 cvr 문자열 기능에는 각각 단일 인수, 열 및 행당 단계 수가 있습니다.
이러한 문자열에서 제어 시퀀스를 사용하는 것은 orc, orhi, orl및 orvi 기능의 일부 값이 변경되었음을 의미합니다. 또한 widcs 기능으로 지정된 와이드 문자가 인쇄될 때 이동되는 거리는 orc 값과 관련하여 변경됩니다. 문자가 마이크로 모드 ( mcs) 로 인쇄될 때 이동되는 거리는 한 가지 예외를 제외하고 비슷하게 변경됩니다. 거리가 0또는 1인 경우에는 변경되지 않습니다.
cpi, lpi, chr 또는 cvr 기능을 사용하는 프로그램은 프린터 해상도를 다시 계산하고 다른 값을 다시 계산해야 합니다. 자세한 정보는 인쇄 해상도 변경의 영향 을 참조하십시오.

Vcpi, Vlpi, Vchr및 Vcvr은 각각 cpi, lpi, chr및 cvr 과 함께 사용되는 인수입니다. 단검 기호는 이전 값을 표시합니다.
이동의 원인이 되는 기능
다음 설명에서 이동 은 현재 위치의 이동을 의미합니다. 비디오 터미널의 경우 이는 커서가 됩니다. 일부 프린터의 경우 이는 캐리지 위치입니다. 다른 프린터에는 다른 동등한 프린터가 있습니다. 일반적으로 현재 위치는 인쇄되는 경우 문자가 표시되는 위치입니다.
terminfo 데이터베이스에는 다수의 전체 컬럼 또는 행을 이동시키는 제어 시퀀스에 대한 문자열 기능이 있습니다. 또한 여러 개의 작은 단계를 이동시키는 제어 시퀀스에 대한 동등한 문자열 기능이 있습니다. 다음은 모션에 대한 문자열 기능입니다.
| 기능 | 설명 |
|---|---|
| mcub1 | 한 단계 왼쪽으로 이동하십시오. |
| mcuf1 | 한 단계 오른쪽으로 이동하십시오. |
| mcuu1 | 한 단계 위로 이동합니다. |
| mcud1 | 한 단계 아래로 이동합니다. |
| mcub (mcub) | N 단계를 왼쪽으로 이동하십시오. |
| mcuf (mcuf) | N 단계를 오른쪽으로 이동하십시오. |
| mcuu (mcuu) | N 단계를 위로 이동하십시오. |
| mcud (mcud) | N 단계를 아래로 이동하십시오. |
| mhpa | 왼쪽에서 N 단계를 이동하십시오. |
| mvpa | 맨 위에서 N 단계를 이동하십시오. |
마지막 6개의 문자열은 각각 단일 N 인수와 함께 사용됩니다.
때때로 이동은 페이지의 너비 또는 길이보다 작게 제한됩니다. 또한 일부 프린터는 현재 위치의 왼쪽으로 절대 이동을 허용하지 않습니다. 다음 기능은 동작을 제한합니다.
| 기능 | 설명 |
|---|---|
| mjump | mcub1, mcuf1, mcuu1및 mcud1 기능의 사용을 제한합니다. |
| 마더르 (maddr) | mhpa 및 mvpa 기능의 사용을 제한합니다. |
| xhpa | 설정되면 hpa 및 mhpa 기능이 무효화됩니다. |
| xvpa | 설정되면 vpa 및 mvpa 기능이 무효화됩니다. |
이동 기능이 작동하기 위해 프린터가 마이크로 모드 에 있어야 하는 경우, 마이크로 모드로 들어가고 나가는 제어 순서를 포함하도록 문자열 기능을 정의할 수 있습니다. 캐리지 리턴을 사용하면 자동으로 정상 모드로 리턴되는 프린터에 부울을 사용할 수 있습니다. 다음 기능은 마이크로 모드 동작과 관련되어 있습니다.
| 기능 | 설명 |
|---|---|
| smicm (smicm) | 마이크로 모드를 입력하십시오. |
| 운모 (rmicm) | 마이크로 모드를 종료하십시오. |
| 크록스름 (crxm) | cr 기능으로 지정된 키를 사용하여 마이크로 모드를 종료합니다. |
문자가 가장 오른쪽에 인쇄될 때 수행되는 이동은 프린터마다 다릅니다. 일부는 이동하지 않고, 일부는 다음 행의 시작으로 이동하고, 다른 일부는 동일한 행의 시작으로 이동합니다. terminfo 데이터베이스에는 세 가지 경우를 모두 설명하는 부울 기능이 있습니다. sam 기능은 문자가 가장 오른쪽 여백에 인쇄된 후 프린터가 자동으로 동일한 행의 시작으로 이동하도록 지정합니다.
일부 프린터는 정상 이동 방향이 반전되는 모드가 될 수 있습니다. 이 모드는 특히 왼쪽 또는 위로 이동에 대한 기능이 없는 경우에 유용합니다. 이러한 기능은 이동 반전 기능과 오른쪽 또는 아래로 이동 기능에서 빌드할 수 있습니다. 그러나 terminfo 데이터베이스에 입력하지 않고 왼쪽 또는 위쪽 기능을 빌드하는 것은 애플리케이션에 맡기는 것이 가장 좋습니다. 이는 역전 모드를 떠나고 재진입하는 불필요한 단계들을 중재하지 않고 여러 반전 동작들이 함께 연결될 수 있게 한다. 다음 기능은 반전 모드 진입 및 종료를 제어합니다.
| 기능 | 설명 |
|---|---|
| slm (slm) | 수평 이동의 역감입니다. |
| rlm | 수평 이동의 의미를 복원합니다. |
| sum | 수직 이동의 역감입니다. |
| RUM | 수직 이동의 의미를 복원합니다. |
수평 이동이 반전되는 동안 다음 기능이 화면에 영향을 미칩니다.
| 기능 | 설명 |
|---|---|
| mcub1 | 한 단계 오른쪽으로 이동하십시오. |
| mcuf1 | 한 단계 왼쪽으로 이동하십시오. |
| mcub (mcub) | N 단계를 오른쪽으로 이동하십시오. |
| mcuf (mcuf) | N 단계를 왼쪽으로 이동하십시오. |
| cub1 | 1열을 오른쪽으로 이동합니다. |
| cuf1 | 1열왼쪽으로 이동합니다. |
| cub | N 개의 열을 오른쪽으로 이동합니다. |
| cuf | N 개의 열을 왼쪽으로 이동합니다. |
다음 기능은 세로 이동이 반전되는 동안 화면에 영향을 줍니다.
| 기능 | 설명 |
|---|---|
| mcuu1 | 한 단계 아래로 이동합니다. |
| mcud1 | 한 단계 위로 이동합니다. |
| mcuu (mcuu) | N 단계를 아래로 이동하십시오. |
| mcud (mcud) | N 단계를 위로 이동하십시오. |
| cuu1 | 한 행 아래로 이동합니다. |
| cud1 | 1행위로 이동 |
| cuu | N 행을 아래로 이동합니다. |
| cud | N 행을 위로 이동합니다. |
역 이동 모드는 mvpa 및 mhpa 절대 이동 기능에 영향을 주지 않아야 합니다. 그러나 역방향 수직 이동 모드는 문자가 가장 오른쪽 위치에 인쇄될 때 발생하는 행 랩핑 의 조치도 반대로 수행해야 합니다. 따라서 표준 terminfo 기능 am 이 정의된 프린터는 문자가 가장 오른쪽에 인쇄되고 프린터가 역방향 수직 이동 모드에 있을 때 이전 행의 시작 부분으로 이동해야 합니다.
다른 모션 기능이 역방향 모션 모드에서 사용될 때의 액션은 정의되지 않습니다. 따라서 프로그램은 다른 모션 기능을 사용하기 전에 리버스 모션 모드를 종료해야 합니다.
두 개의 기타 기능은 docr 및 zerom 기능의 새 동작 기능 목록을 완료합니다. docr 기능은 캐리지 리턴을 유발하는 제어 문자 목록을 제공합니다. 이 기능은 행 넘김 또는 용지 넘김과 같은 특정 제어 문자가 사용될 때 현재 위치를 행의 시작으로 이동하는 프린터에 유용합니다. zerom 기능은 단일 문자를 인쇄한 후 자동 이동을 방지합니다. 이 기능은 문자를 인쇄한 후 일반적으로 발생하는 동작을 일시중단합니다.
여백
terminfo 데이터베이스는 터미널에서 여백을 설정하기 위한 두 개의 문자열을 제공합니다. 하나는 왼쪽에 대한 문자열이고 다른 하나는 오른쪽 여백에 대한 문자열입니다. 그러나 프린터에는 각 페이지의 맨 위 및 맨 아래 여백에 대해 두 개의 추가 여백이 있습니다. 또한 일부 프린터에서는 현재 위치를 여백으로 이동하고 기존 기능과 마찬가지로 여백을 고정하기 위해 이동 문자열을 사용할 필요가 없지만, 현재 위치에 관계없이 여백이 있어야 하는 위치의 스펙이 필요합니다. 따라서 terminfo 데이터베이스는 프린터를 사용하여 여백을 정의하기 위한 6개의 추가 문자열을 제공합니다. 다음 기능은 여백에 영향을 줍니다.
| 기능 | 정의 |
|---|---|
| 스몰일 (smgl) | 현재 열에서 왼쪽 여백을 설정합니다. |
| smgr (smgr) | 현재 열에서 오른쪽 여백을 설정합니다. |
| 스지브 (smgb) | 현재 행에서 소프트 아래 여백을 설정하십시오. |
| 스몰트 (smgt) | 현재 행에서 소프트 상단 여백을 설정하십시오. |
| 스지bp (smgbp) | N행에서 소프트 아래 여백을 설정하십시오. |
| 스몰프 (smglp) | N열에 소프트 왼쪽 여백을 설정하십시오. |
| smgrp | N열에 소프트 오른쪽 여백을 설정하십시오. |
| 스몰프 (smgtp) | N행에서 소프트 상단 여백을 설정하십시오. |
모든 여백은 mgc 기능을 사용하여 지울 수 있습니다.
음영, 기울임체, 와이드 문자, 윗첨자 및 아래첨자
다섯 개의 새로운 문자열 세트가 프린터가 인쇄된 텍스트를 향상시키는 기능을 설명하는 데 사용됩니다. 다음은 향상된 인쇄 기능을 정의합니다.
| 기능 | 정의 |
|---|---|
| 공유 (sshm) | 새도우 인쇄 모드를 입력하십시오. |
| rshm (rshm) | 새도우 인쇄 모드를 종료합니다. |
| 사이트 | 기울임체 모드를 입력하십시오. |
| Ritm | 기울임체 모드를 종료합니다. |
| swidm (swidm) | 와이드 문자 모드를 입력하십시오. |
| rwidm | 와이드 문자 모드를 종료합니다. |
| ssupm (ssupm) | 위첨자 모드를 입력하십시오. |
| rsupm (rsupm) | 위첨자 모드를 종료합니다. |
| 지원 | 윗첨자로 사용 가능한 문자 목록입니다. |
| 스서브 (ssubm) | 아래 첨자 모드를 입력하십시오. |
| rsubm (rsubm) | 아래 첨자 모드를 종료합니다. |
| 서브CS (subcs) | 서브스크립트로 사용 가능한 문자 목록입니다. |
프린터에서 모든 문자가 새도우 인쇄되기 전에 sshm 제어 순서가 필요한 경우 rshm 문자열은 공백으로 남습니다. 따라서 sshm 에서 제어 시퀀스를 찾지만 새도우 인쇄 모드에서 제어 시퀀스를 찾지 못하는 프로그램은 모든 문자가 새도우 인쇄되기 전에 sshm 기능에 의해 지정된 제어 시퀀스를 사용해야 합니다. 그렇지 않으면 새도우 인쇄 모드를 종료한 후 새도우 인쇄될 문자 세트 앞에 제어 시퀀스를 한 번 사용해야 합니다.
terminfo 데이터베이스에는 강화된 텍스트인 굵은체 기능을 인쇄하는 기능도 있습니다. 음영 인쇄 및 강화된 인쇄는 텍스트를 어둡게 한다는 점에서 유사하지만, 많은 프린터가 이러한 두 가지 유형의 인쇄를 약간 다른 방식으로 생성합니다. 일반적으로 강화된 인쇄는 동일한 문자를 한 번 이상 겹쳐찍기하여 수행됩니다. 마찬가지로 쉐도우 프린팅은 보통 오버트리킹 (overstriking) 을 수반하지만, 약간 위로 및/또는 측면으로 이동하여 캐릭터가 더 뚱뚱해지도록 한다.
향상된 인쇄 모드는 독립적인 모드이므로, 예를 들어, 인쇄 이탤릭체 서브스크립트를 음영 처리하는 것이 가능하다고 가정합니다.
앞에서 언급한 바와 같이, 와이드 문자를 인쇄한 후 자동으로 작성되는 움직임의 양은 widcs 기능에 제공되어야 합니다.
인쇄 가능한 ASCII 문자의 서브세트만 윗첨자 또는 아래첨자로 인쇄할 수 있는 경우, supcs 또는 subcs 기능에 각각 나열되어야 합니다. ssupm 또는 ssubm 문자열에 제어 시퀀스가 포함되어 있지만 해당 supcs 또는 subcs 문자열이 비어 있는 경우, 인쇄 가능한 모든 ASCII 문자를 윗첨자 또는 아래첨자로 사용할 수 있다고 가정합니다.
윗첨자 또는 아래첨자를 인쇄한 후 자동 이동은 일반 문자의 경우와 동일하다고 가정합니다. 예를 들어, 다음 중 하나를 인쇄하면 동일한 동작이 발생합니다.
Bi Bi Bi 부울 기능 msgr 은 응용프로그램이 표준화 모드에 있는 동안 모션 제어 시퀀스를 사용할 수 있는지 여부를 설명합니다. 이 기능은 여기에 추가된 향상된 인쇄 모드를 포함하도록 확장되었습니다. mgsr 기능은 음영, 기울임체, 확대, 윗첨자 또는 아래첨자 인쇄에 영향을 주지 않고 움직임 제어 순서를 승인하는 프린터에 대해 설정되어야 합니다. 반대로, mgsr 기능이 설정되지 않은 경우 프로그램은 임의의 이동을 시도하기 전에 이러한 모드를 종료해야 합니다.
대체 문자 세트
terminfo 데이터베이스를 사용하면 선 그래픽을 정의할 수 있을 뿐만 아니라 대체 문자 세트도 정의할 수 있습니다. 다음 기능은 여러 개의 선택 가능하거나 정의 가능한 문자 세트가 있는 프린터 및 터미널을 다룹니다.
| 기능 | 정의 |
|---|---|
| SCS | 문자 세트 N을 선택하십시오. N 매개변수는 문자 세트를 식별하는 0-63범위의 숫자를 지정합니다. |
| scsd (scsd) | 문자 세트 N, M 문자의 정의를 시작합니다. N 매개변수는 문자 세트를 식별하는 0-63범위의 숫자를 지정하고 M 매개변수는 세트의 문자 수를 지정합니다. |
| 정의 | 문자 A 가 하위 D가 있는 B 도트 너비가 되도록 정의합니다. A 매개변수는 문자에 대한 ASCII 코드 표시입니다. B 매개변수는 문자의 너비를 점으로 지정합니다. D 매개변수는 문자가 하위인지 여부를 지정합니다. 문자가 하위인 경우 D 매개변수에 1을 지정하십시오. 그렇지 않으면 1을 지정하십시오. 이 문자열 다음에는 문자의 모양을 설명하는 이미지 데이터 바이트의 문자열이 옵니다. |
| rcsd (rcsd) | 문자 세트 N 의 끝 정의 N 매개변수는 문자 세트를 식별하는 0-63범위의 숫자를 지정합니다. |
| csnm (csnm) | 문자 세트 이름의 목록입니다. |
| 데이지 (daisy) | 프린터가 수동으로 인쇄 휠을 변경했음을 표시합니다. |
문자 세트 0은 기본 문자 세트입니다. 이는 프린터가 초기화된 후에 표시되는 세트입니다. 모든 프린터가 64문자 세트를 지원하는 것은 아닙니다. 프린터가 지원하지 않는 세트를 지정하는 경우, tparm 서브루틴은 널 (NULL) 결과를 리턴합니다.
응용프로그램에서 문자를 사용하기 전에 문자를 정의해야 하는 경우, 문자 세트를 정의하기 전에 scsd 제어 순서를 사용하고 이후에 rcsd 를 사용하십시오. 이러한 기능 중 하나에 대해 유효하지 않은 문자 세트를 지정하면 tparm 서브루틴이 널 (NULL) 분석을 리턴합니다. 애플리케이션이 정의된 후 문자 세트를 선택해야 하는 경우, scs 제어 시퀀스는 rcsd 제어 시퀀스를 따라야 합니다. tparm 서브루틴에 대한 호출에서 문자 세트 번호가 있는 각 scs, scsd및 rcsd 문자열을 사용한 결과를 검사하여 프로그램은 세 가지 중 필요한 것을 판별할 수 있습니다.
scsd 및 rcsd 문자열을 사용하는 사이에 defc 문자열을 사용하여 각 문자를 정의해야 합니다. terminfo 데이터베이스에 정의된 프린터에서 임의의 문자를 인쇄하기 위해 ASCII 코드가 프린터로 전송됩니다. 이는 일반 문자뿐만 아니라 대체 세트의 문자에도 적용됩니다. 따라서 문자의 정의에는 문자를 나타내는 ASCII 코드가 포함됩니다. 또한 문자의 너비에는 문자를 나타내는 ASCII 코드가 포함됩니다. 또한 점으로 된 문자의 너비가 문자가 하강자인지 여부를 나타내는 황갈색 표시와 함께 제공됩니다. 하위는 쉐이프가 기준선 아래로 확장되는 문자입니다. 예를 들어, 문자 g는 하위입니다. 문자의 너비는 점이며 defc 문자열 뒤에 오는 이미지 데이터 바이트의 수를 표시합니다. 이러한 이미지 데이터 바이트는 도트 매트릭스 패턴 잉크가 문자를 그리기 위해 적용되어야 하는 위치를 표시합니다. 이러한 바이트 수 및 해당 양식은 아래에서 점 맵핑 그래픽 아래에 정의되어 있습니다.
terminfo 항목의 작성자가 번호별로 각 문자 세트를 참조하는 것이 가장 쉬운 방법입니다. 그러나 이러한 숫자는 애플리케이션 개발자에게는 의미가 없습니다. csnm 기능은 각 숫자에 대한 이름을 제공하여 이 문제점을 완화합니다.
tparm 서브루틴에 대한 호출에서 문자 세트 번호와 함께 사용되는 경우 csnm 기능은 동등한 이름을 생성합니다. 이 이름은 참조로만 사용하십시오. 프린터에 대한 terminfo 항목을 작성하는 사용자는 프린터의 사용자 문서에 있는 이름과 일치하는 이름을 사용해야 하지만 이름 지정 규칙은 내포되어 있지 않습니다. 애플리케이션 개발자는 사용자가 숫자로 문자 세트를 지정하거나 (사용자가 csnm 문자열을 검사하여 올바른 숫자를 판별할 수 있도록 함) 이름으로 문자 세트를 지정할 수 있도록 허용해야 합니다. 여기서 애플리케이션은 csnm 기능을 검사하여 해당 문자 세트 번호를 판별합니다.
대체 문자 세트 기능은 도트 매트릭스 프린터에서만 사용될 수 있습니다. 사용할 수 없는 경우 이러한 문자열을 정의하지 마십시오. 인쇄 휠 또는 글꼴 카트리지를 수동으로 변경한 프린터의 경우 부울 데이지 기능을 설정하십시오.
점 행렬 그래픽
도트 매트릭스 프린터에는 일반적으로 래스터 그래픽 이미지를 재생하는 기능이 있습니다. 세 개의 새로운 숫자 기능과 세 개의 새로운 문자열 기능은 도트 매트릭스 프린터의 유형 또는 프린터가 한 번에 처리할 수 있는 핀 또는 도트 수와 관계 없이 프로그램이 래스터 그래픽 이미지를 그리는 데 도움을 줄 수 있습니다. 도트 매트릭스 기능은 다음과 같습니다.
| 기능 | 정의 |
|---|---|
| npin (npin) | 인쇄 헤드에 있는 핀 N 의 수입니다. N 매개변수는 핀 수를 지정합니다. |
| 스핀브 (spinv) | 인치당 핀의 수직 간격입니다. |
| 스노 (spinh) | 인치당 도트 수로 점 간격을 가로로 표시합니다. |
| 포더 (porder) | 소프트웨어 비트를 인쇄 헤드 핀에 일치시킵니다. |
| sbim (sbim) | 비트 이미지 그래픽, B 비트 너비 인쇄를 시작합니다. B 값은 이미지의 너비를 점으로 지정합니다. |
| rbim | 비트 이미지 그래픽 인쇄를 종료합니다. |
terminfo 데이터베이스가 제공하는 도트 매트릭스 또는 래스터 그래픽의 모델은 대부분의 도트 매트릭스 프린터에 사용되는 기술과 유사합니다. 프린터의 인쇄 헤드를 통과할 때마다 N 도트 높이 및 B 도트 폭의 도트 매트릭스가 생성된다고 가정합니다. 이것은 일반적으로 넓고, 사각형이며, 점으로 된 직사각형입니다. 점으로 된 이 직사각형의 높이는 한 프린터에서 다음 프린터까지 다양합니다. 이는 npin 숫자 기능에서 제공됩니다. 1인치의 분수로 표시되는 직사각형의 크기도 다양합니다. 크기는 spinv 및 spinh 숫자 기능에서 추론할 수 있습니다. 이 세 개의 값을 사용하여 애플리케이션은 전체 래스터 그래픽 이미지를 여러 개의 수평 스트립으로 나눌 수 있으며, 서로 다른 점 간격을 수직 및 수평으로 설명하기 위해 보간할 수 있습니다.
sbim 및 rbim 기능은 각각 도트 매트릭스 이미지를 시작하고 종료하는 데 사용됩니다. sbim 기능은 도트 단위의 도트 매트릭스 너비를 제공하는 단일 인수와 함께 사용됩니다. 일련의 이미지 데이터 바이트는 sbim 기능 다음과 rbim 문자열 앞에 프린터로 전송됩니다. 바이트 수는 도트 매트릭스 폭의 정수 배수입니다. 각 바이트의 복수 및 양식은 porder 기능에 의해 판별되며 아래에 설명되어 있습니다.
porder 기능은 쉼표로 구분된 핀 번호 목록입니다. 목록에서 각 핀 번호의 위치는 데이터 바이트의 비트에 해당합니다. 핀은 1에서 npin까지 연속적으로 번호가 지정되며, 1이 맨 위 핀입니다. 여기서 핀이라는 용어는 느슨하게 사용됩니다. 잉크 제트 도트 매트릭스 프린터에는 핀이 없지만 종이에 단일 도트 잉크를 적용하는 동등한 방법이 있습니다. porder 의 비트 위치는 8의 그룹에 있으며 각 그룹의 첫 번째 위치는 최상위 비트이고 마지막 위치는 최하위 비트입니다.
이미지 데이터 바이트는 도트 매트릭스 이미지에서 계산되며, 각 인쇄 헤드 패스의 수직 도트 위치를 8비트바이트로 맵핑하며, 잉크가 적용되어야 하는 1비트와 잉크가 적용되지 않아야 하는 0을 사용합니다. porder에서 위치를 건너뛰면 0비트가 사용됩니다. porder에서 사용되거나 건너뛴 8비트위치의 배수가 있어야 합니다. 그렇지 않은 경우 0비트를 사용하여 최하위 비트의 마지막 바이트를 채웁니다.
인쇄 해상도 변경의 영향
문자 피치 또는 선 피치를 변경하기 위한 제어 시퀀스가 사용되는 경우, 핀 또는 도트 간격이 변경될 수 있습니다. 다음 기능은 도트 매트릭스 그래픽의 피치를 변경합니다.
| 기능 | 정의 |
|---|---|
| cpi | 문자 피치를 변경하십시오. |
| cpix | 설정된 경우 cpi 는 spinh를 변경합니다. |
| lpi | 선 피치를 변경하십시오. |
| lpix (Lpix) | 설정된 경우, lpi 는 spinv를 변경합니다. |

orhi ' 및 orhi 값은 cpi 를 사용하기 전과 cpi를 각각 사용한 후의 수평 해상도 값 (인치당 단계) 입니다. 마찬가지로, orvi ' 및 orvi 는 각각 lpi 를 사용하기 전과 lpi를 사용한 후에 인치당 단계에서 수직 해상도의 값입니다. 따라서 도트 매트릭스 그래픽에 대한 인치당 도트 수의 변경은 프린터 해상도에 대한 인치당 단계 수의 변경을 따릅니다.
인쇄 품질
많은 도트 매트릭스 프린터는 인쇄된 텍스트의 도트 간격을 변경하여 문자 품질에 가까운 인쇄 또는 초안 품질의 인쇄를 생성할 수 있습니다. 일반적으로 품질이 향상됨에 따라 인쇄 속도가 일반적으로 떨어지기 때문에 둘 중 하나를 선택할 수 있는 것이 중요합니다. 인쇄 품질을 지정하는 기능은 다음과 같습니다.
| 기능 | 정의 |
|---|---|
| snlq (snlq) | 문자에 가까운 품질의 인쇄를 설정하십시오. |
| 스rmq (snrmq) | 일반 품질 인쇄를 설정하십시오. |
| sdrfq | 초안 품질 인쇄를 설정합니다. |
기능은 품질의 감소 레벨로 나열됩니다. 프린터에 세 개의 레벨이 모두 없는 경우, 문자열 중 하나 또는 두 개는 적절하게 공백으로 두어야 합니다.
인쇄 비율 및 버퍼 크기
프린터를 프로그램과 동기화하는 표준 프로토콜이 없고 최신 프린터가 데이터를 인쇄하기 전에 데이터를 버퍼링할 수 있기 때문에 프로그램은 일반적으로 인쇄된 내용을 언제든지 판별할 수 없습니다. 두 개의 새 숫자 기능은 프로그램이 인쇄된 내용을 추정하는 데 도움이 될 수 있습니다 ( cps 및 bufsz 기능).
cps 기능은 공칭 인쇄 속도를 초당 문자 수로 지정합니다. cps 기능은 프린터가 문자를 인쇄하는 명목 또는 평균 비율입니다. 이 값을 지정하지 않은 경우 일반 전송 속도의 1/10로 전송 속도를 추정하십시오.
bufsz 기능은 터미널의 버퍼 용량을 문자 단위로 정의합니다. bufsz 값은 적절한 플로우 제어가 사용되었다고 가정하여 이전 문자의 인쇄가 보장되기 전에 버퍼링되는 최대 후속 문자 수입니다. 이 값이 제공되지 않으면 프린터가 문자를 버퍼링하지 않고 수신되는 대로 인쇄한다고 가정합니다.
예를 들어, 프린터에 1000자의 버퍼가 있는 경우 1000자의 추가 문자가 뒤에 오는 문자 "a" 를 전송하면 문자 "a" 가 인쇄됩니다. 동일한 프린터가 초당 100자의 비율로 인쇄하는 경우 버퍼의 모든 문자를 인쇄하는 데 10초가 소요되며 버퍼가 가득 차지 않은 경우에는 10초가 소요됩니다. 프린터로 전송된 문자를 추적하고 인쇄 비율 및 버퍼 크기를 알면 프로그램이 프린터와 자체적으로 동기화할 수 있습니다.
대부분의 프린터 제조업체는 명목 인쇄 비율이 아닌 최대 인쇄 비율을 광고합니다. cps 에 대해 입력할 값을 가져오는 좋은 방법은 몇 페이지의 텍스트를 생성하고 인쇄 가능한 문자 수를 계산한 후 텍스트를 인쇄하는 데 걸리는 시간을 확인하는 것입니다.
이 값을 사용하는 애플리케이션은 인쇄 속도의 변동을 인식해야 합니다. 임베드된 제어 순서가 없는 직선 텍스트는 광고된 인쇄 속도에 근접하여 인쇄되며 cps의 속도보다 빠를 수 있습니다. 제어 시퀀스가 많거나 텍스트 행이 매우 긴 그래픽 데이터는 cps에서 광고된 비율보다 훨씬 낮은 비율로 인쇄됩니다. 응용프로그램이 cps 를 사용하여 프린터가 텍스트 블록을 인쇄하는 데 걸리는 시간을 결정하는 경우, 응용프로그램은 예상 값을 채워야 합니다. 애플리케이션이 cps 를 사용하여 이미 인쇄된 텍스트의 양을 결정하는 경우 예상을 줄여야 합니다. 애플리케이션은 모든 출력을 올바른 위치에서 보기 위해 무엇보다도 원하는 사용자에게 유리하게 오류를 표시합니다.
데이터베이스 파일 이름
컴파일된 terminfo 파일 설명은 모든 terminfo 파일 설명 파일을 포함하는 단일 디렉토리를 통해 선형 검색을 수행하지 않도록 /usr/share/lib/terminfo 디렉토리 아래의 서브디렉토리에 배치됩니다. 주어진 설명 파일은 /usr/share/lib/terminfo/c/name 파일에 저장됩니다. 여기서 name 은 터미널의 이름이고 c 는 터미널 이름의 첫 번째 문자입니다. 예를 들어, 터미널에 대한 컴파일된 설명은term4-nl/usr/share/lib/terminfo/t/term4-nl파일에서 찾을 수 있습니다. 동일한 컴파일된 파일에 대한 다중 링크를 작성하여 동일한 터미널에 대한 동의어를 작성할 수 있습니다. (파일에 대한 다중 링크를 작성하는 방법은 ln 명령을 참조하십시오.)
예
다음 terminfo 항목은 터미널을 설명합니다.
hft|High Function Terminal,
cr=^M, cud1=\E[B, ind=\E[S, bel=^G, il1=\E[L, am,
cub1=^H, ed=\E[J, el=\E[K, clear=\E[H\E[J,
cup=\E[%ip1%d;%p2%dH, cols#80, lines=#25,
dch1=\E[P, dl1=\E[M, home=\E[H,
ich=\E[%p1%d@, ich1=\E[@, smir=\E[6, rmir=\E6,
bold=\E[1m, rev=\E[7m, blink=\E[5m, invis=\E[8m, sgr0=\E[0m,
sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6t1;%;m,
kcuu1=\E[A, kcud1=\E[B, kcub1=\E[D,
kcuf1=\E[C, khome=\E[H, kbs=^H,
cuf1=\E[C, ht=^I, cuu1=\E[A, xon,
rmul1=\E[m, smul=\E[4m, rmso=\E[m, smso=\E[7m,
kpp=\E[150q, knp=\E[154q,
kf1=\E[001q, kf2=\E[002q, kf3=\E[003q, kf4=\E[004q,
kf5=\E[005q, kf6=\E[006q, kf7=\E[007q, kf8=\E[008q,
kf9=\E[009q, kf10=\E[010q,
bw, eo, it#8, ms,
ch=\E%i%p1%dG, ech=\E[%p15dx,
kdch1=\E[P, kind=\E[151q, kich1=\E[139q, kimr=\E[41,
kn=^M, ko=^I, ktab=\E[Z, kri=\E[155q,
cub=\E[%p1%dD, cuf=\E[%p1%dC, indn=\E[%p1dS, rin=\E[%p1%dT,
ri=\E[T, cuu=\E[%p1%dA,
box1=332\304\277\263\331\300\302\264\301\303\305,
box2=311\315\273\272\274\310\313\271\312\314\316,
batt2=md,
colf0=\E[30m, colf1=\E[31m, colf2=\E[32m, colf3=\E[33m,
colf4=\E[34m, colf5=\E[35m, colf6=\E[36m, colf7=\E[37m,
colb0=\E[40m, colb1=\E[41m, colb2=\E[42m, colb3=\E[43m,
colb4=\E[44m, colb5=\E[45m, colb6=\E[46m, colb7=\E[47m, ibm3161|ibm3163|wy60-316X|wyse60-316X|IBM 3161/3163 display,
am, mir, cr=^M, ind=^J,
cols#80, it#8, lines#24,
kich1=\EP\040\010,
ed=\EJ, el=\EI, cup=\EY%p1%' '%+%c%p2%'
'%+%c,
clear=\EH\EJ, dch1=\EQ, dl1=\EO, cud1=\EB,
cub1=\ED, blink=\E4D, bold=\E4H,
sgr0=\E4@\E<@,
invis=\E4P, rev=\E4A, cuf1=\EC,
rmso=\E4@,
smso=\E4A, rmul=\E4@, cuu1=\EA,
smul=\E4B,
sgr=\E4%'@'%?%p1%t%'A'%|%;
%?%p2%t%'B'%|%;
%?%p3%t%'A'%|%;
%?%p4%t%'D'%|%;
%?%p5%t%'@'%|%;
%?%p6%t%'H'%|%;
%?%p7%t%'P'%|%;%c
%?%p9%t\E>A%e\E<@%;,
box1=\354\361\353\370\352\355\367\365\366\364\356,
box2=\354\361\353\370\352\355\367\365\366\364\356,
batt2=md,
ktbc=\E\0401, kil1=\EN, kbs=^H,
kclr=\EL^M,
kcud1=\EB, kdch1=\EQ, kel=\EI,
khome=\EH,
kcub1=\ED, kdl1=\EO, ktab=^I, kcbt=\E2,
kcuf1=\EC, ked=\EJ, kctab=\E1, khts=\E0,
kcuu1=\EA, knl=\r, kact=\E8\r,
kf1=\Ea\r, kf2=\Eb\r, kf3=\Ec\r,
kf4=\Ed\r,
kf5=\Ee\r, kf6=\Ef\r, kf7=\Eg\r,
kf8=\Eh\r,
kf9=\Ei\r, kf10=\Ej\r, kf11=\Ek\r,
kf12=\El\r,
kf13=\E!a\r, kf14=\E!b\r, kf15=\E!c\r,
kf16=\E!d\r,
kf17=\E!e\r, kf18=\E!f\r, kf19=\E!g\r,
kf20=\E!h\r,
kf21=\E!i\r, kf22=\E!j\r, kf23=\E!k\r,
kf24=\E!l\r,
smcup=\E>A, rmcup=\E>A, msgr,
home=\EH, bel=^G, mc5=^P^R, mc4=^P^T,
파일
| 항목 | 설명 |
|---|---|
| /usr/share/lib/terminfo/?/* | 컴파일된 터미널 기능 데이터베이스. |