Summary of ANSI standards for ASCII terminals Joe Smith, 18-May-84

概述了ANSI为ASCII终端制定的标准,包括C0和C1控制码、逃逸序列及控制序列的定义与解释,重点介绍了X3.4-1977、X3.41-1974和X3.64-1979三个关键标准,阐述了从7位到8位ASCII字符集的扩展及其在VT100等终端上的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Summary of ANSI standards for ASCII terminals Joe Smith, 18-May-84

Contents:

  1. Overview and Definitions

  2. General rules for interpreting an ESCape Sequence

  3. General rules for interpreting a Control Sequence

  4. C0 and C1 control codes in numeric order

  5. Two and three-character ESCape Sequences in numeric order

  6. Control Sequences in numeric order

  7. VT100 emulation requirements

The VT100 USER GUIDE and ANSI standard X3.64-1979 both list the ANSI ESCape

sequences in alphabetic order by mnemonic, but do not have a have a cross

reference in order by ASCII code. This paper lists the combination of all

definitions from the three ANSI standards in numeric order. For a description

of the advantages of using these standards, see the article "Toward

Standardized Video Terminals" in the April-1984 issue of BYTE magazine.

ANSI X3.4-1977 defines the 7-bit ASCII character set (C0 and G0). It was

written in 1968, revised in 1977, and explains the decisions made in laying out

the ASCII code. In particular, it explains why ANSI chose to make ASCII

incompatible with EBCDIC in order to make it self-consistant.

ANSI X3.41-1974 introduces the idea of an 8-bit ASCII character set (C1 and G1

in addition to the existing C0 and G0). It describes how to use the 8-bit

features in a 7-bit environment. X3.41 defines the format of all ESCape

sequences, but defines only the 3-character ones with a parameter character

in the middle. These instruct the terminal how to interpret the C0, G0, C1,

and G1 characters (such as by selecting different character-set ROMs).

Note: NAPLPS does videotex graphics by redefining the C1 set and

    selecting alternate G0, G1, G2, and G3 sets.

See the February 1983 issue of BYTE magazine for details.

ANSI X3.64-1979 defines the remaining ESCape sequences. It defines all the C1

control characters, and specifies that certain two-character ESCape sequences

in the 7-bit environment are to act exactly like the 8-bit C1 control set.

X3.64 introduces the idea of a Control-Sequence, which starts with CSI

character, has an indefinite length, and is terminated by an alphabetic

character. The VT100 was one of the first terminals to implement this

standard.

Definitions:

Control Character - A single character with an ASCII code with the range

of 000 to 037 and 200 to 237 octal, 00 to 1F and 80 to 9F hex.

Escape Sequence - A two or three character string staring with ESCape.

(Four or more character strings are allowed but not defined.)

Control Sequence - A string starting with CSI (233 octal, 9B hex) or

with ESCape Left-Bracket, and terminated by an alphabetic character.

Any number of parameter characters (digits 0 to 9, semicolon, and

question mark) may appear within the Control Sequence. The terminating

character may be preceded by an intermediate character (such as space).

Character classifications:

C0 Control 000-037 octal, 00-1F hex (G0 is 041-176 octal, 21-7E hex)

SPACE 040+240 octal, 20+A0 hex Always and everywhere a blank space

Intermediate 040-057 octal, 20-2F hex !"#$%&’()*+,-./

Parameters 060-077 octal, 30-3F hex 0123456789:;<=>?

Uppercase 100-137 octal, 40-5F hex @ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_

Lowercase 140-176 octal, 60-7E hex `abcdefghijlkmnopqrstuvwxyz{|}~

Alphabetic 100-176 octal, 40-7E hex (all of upper and lower case)

Delete 177 octal, 7F hex Always and everywhere ignored

C1 Control 200-237 octal, 80-9F hex 32 additional control characters

G1 Displayable 241-376 octal, A1-FE hex 94 additional displayable characters

Special 240+377 octal, A0+FF hex Same as SPACE and DELETE

Note that in this paper, the terms uppercase, lowercase, and alphabetics

include more characters than just A to Z.


General rules for interpreting an ESCape Sequence:

An ESCape Sequence starts with the ESC character (033 octal, 1B hex).

The length of the ESCape Sequence depends on the character that immediately

follows the ESCape.

If the next character is

C0 control: Interpret it first, then resume processing ESCape sequence.

 Example:  CR, LF, XON, and XOFF work as normal within an ESCape sequence.

Intermediate: Expect zero or more intermediates, a parameter terminates

 a private function, an alphabetic terminates a standard sequence.

 Example:  ESC ( A defines standard character set, ESC ( 0 a DEC set.

Parameter: End of a private 2-character escape sequence.

 Example:  ESC = sets special keypad mode, ESC > clears it.

Uppercase: Translate it into a C1 control character and act on it.

 Example:  ESC D does indexes down, ESC M indexes up.  (CSI is special)

Lowercase: End of a standard 2-character escape sequence.

 Example:  ESC c resets the terminal.

Delete: Ignore it, and continue interpreting the ESCape sequence

C1 and G1: Treat the same as their 7-bit counterparts

Note that CSI is the two-character sequence ESCape left-bracket or the 8-bit

C1 code of 233 octal, 9B hex. CSI introduces a Control Sequence, which

continues until an alphabetic character is received.

General rules for interpreting a Control Sequence:

  1. It starts with CSI, the Control Sequence Introducer.

  2. It contains any number of parameter characters (0123456789:;<=>?).

  3. It terminates with an alphabetic character.

  4. Intermediate characters (if any) immediately precede the terminator.

If the first character after CSI is one of “<=>?” (074-077 octal, 3C-3F hex),

then Control Sequence is to be interpreted according to private standards (such

as setting and resetting modes not defined by ANSI). The terminal should

expect any number of numeric parameters, separated by semicolons (073 octal,

3B hex). Only after the terminating alphabetic character is received should

the terminal act on the Control Sequence.

=============================================================================

C0 set of 7-bit control characters (from ANSI X3.4-1977).

Oct Hex Name * (* marks function used in DEC VT series or LA series terminals)


000 00 @ NUL * Null filler, terminal should ignore this character

001 01 A SOH Start of Header

002 02 B STX Start of Text, implied end of header

003 03 C ETX End of Text, causes some terminal to respond with ACK or NAK

004 04 D EOT End of Transmission

005 05 E ENQ * Enquiry, causes terminal to send ANSWER-BACK ID

006 06 F ACK Acknowledge, usually sent by terminal in response to ETX

007 07 G BEL * Bell, triggers the bell, buzzer, or beeper on the terminal

010 08 H BS * Backspace, can be used to define overstruck characters

011 09 I HT * Horizontal Tabulation, move to next predetermined position

012 0A J LF * Linefeed, move to same position on next line (see also NL)

013 0B K VT * Vertical Tabulation, move to next predetermined line

014 0C L FF * Form Feed, move to next form or page

015 0D M CR * Carriage Return, move to first character of current line

016 0E N SO * Shift Out, switch to G1 (other half of character set)

017 0F O SI * Shift In, switch to G0 (normal half of character set)

020 10 P DLE Data Link Escape, interpret next control character specially

021 11 Q XON * (DC1) Terminal is allowed to resume transmitting

022 12 R DC2 Device Control 2, causes ASR-33 to activate paper-tape reader

023 13 S XOFF* (DC2) Terminal must pause and refrain from transmitting

024 14 T DC4 Device Control 4, causes ASR-33 to deactivate paper-tape reader

025 15 U NAK Negative Acknowledge, used sometimes with ETX and ACK

026 16 V SYN Synchronous Idle, used to maintain timing in Sync communication

027 17 W ETB End of Transmission block

030 18 X CAN * Cancel (makes VT100 abort current escape sequence if any)

031 19 Y EM End of Medium

032 1A Z SUB * Substitute (VT100 uses this to display parity errors)

033 1B [ ESC * Prefix to an ESCape sequence

034 1C \ FS File Separator

035 1D ] GS Group Separator

036 1E ^ RS * Record Separator (sent by VT132 in block-transfer mode)

037 1F _ US Unit Separator

040 20 SP * Space (should never be defined to be otherwise)

177 7F DEL * Delete, should be ignored by terminal

==============================================================================

C1 set of 8-bit control characters (from ANSI X3.64-1979)

Oct Hex Name * (* marks function used in DEC VT series or LA series terminals)


200 80 @ Reserved for future standardization

201 81 A Reserved

202 82 B Reserved

203 83 C Reserved

204 84 D IND * Index, moves down one line same column regardless of NL

205 85 E NEL * NEw Line, moves done one line and to first column (CR+LF)

206 86 F SSA Start of Selected Area to be sent to auxiliary output device

207 87 G ESA End of Selected Area to be sent to auxiliary output device

210 88 H HTS * Horizontal Tabulation Set at current position

211 89 I HTJ Hor Tab Justify, moves string to next tab position

212 8A J VTS Vertical Tabulation Set at current line

213 8B K PLD Partial Line Down (subscript)

214 8C L PLU Partial Line Up (superscript)

215 8D M RI * Reverse Index, go up one line, reverse scroll if necessary

216 8E N SS2 * Single Shift to G2

217 8F O SS3 * Single Shift to G3 (VT100 uses this for sending PF keys)

220 90 P DCS * Device Control String, terminated by ST (VT125 enters graphics)

221 91 Q PU1 Private Use 1

222 92 R PU2 Private Use 2

223 93 S STS Set Transmit State

224 94 T CCH Cancel CHaracter, ignore previous character

225 95 U MW Message Waiting, turns on an indicator on the terminal

226 96 V SPA Start of Protected Area

227 97 W EPA End of Protected Area

230 98 X Reserved for for future standard

231 99 Y Reserved

232 9A Z * Reserved, but causes DEC terminals to respond with DA codes

233 9B [ CSI * Control Sequence Introducer (described in a seperate table)

234 9C \ ST * String Terminator (VT125 exits graphics)

235 9D ] OSC Operating System Command (reprograms intelligent terminal)

236 9E ^ PM Privacy Message (password verification), terminated by ST

237 9F _ APC Application Program Command (to word processor), term by ST

==============================================================================

Character set selection sequences (from ANSI X3.41-1974)

All are 3 characters long (including the ESCape).  Alphabetic characters

as 3rd character are defined by ANSI, parameter characters as 3rd character

may be interpreted differently by each terminal manufacturer.

Oct Hex * (* marks function used in DEC VT series or LA series terminals)


040 20 ANNOUNCER - Determines whether to use 7-bit or 8-bit ASCII

A G0 only will be used. Ignore SI, SO, and G1.

B G0 and G1 used internally. SI and SO affect G0, G1 is ignored.

C G0 and G1 in an 8-bit only environment. SI and SO are ignored.

D G0 and G1 are used, SI and SO affect G0.

E

F * 7-bit transmission, VT240/PRO350 sends CSI as two characters ESC [

G * 8-bit transmission, VT240/PRO350 sends CSI as single 8-bit character

041 21 ! Select C0 control set (choice of 63 standard, 16 private)

042 22 " Select C1 control set (choice of 63 standard, 16 private)

043 23 # Translate next character to a special single character

   #3 * DECDHL1 - Double height line, top half

   #4 * DECDHL2 - Double height line, bottom half

   #5 * DECSWL - Single width line

   #6 * DECDWL - Double width line

   #7 * DECHCP - Make a hardcopy of the graphics screen (GIGI,VT125,VT241)

   #8 * DECALN - Alignment display, fill screen with "E" to adjust focus

044 24 $ MULTIBYTE CHARACTERS - Displayable characters require 2-bytes each

045 25 % SPECIAL INTERPRETATION - Such as 9-bit data

046 26 & Reserved for future standardization

047 27 ’ Reserved for future standardization

050 28 ( * SCS - Select G0 character set (choice of 63 standard, 16 private)

   (0 * DEC VT100 line drawing set (affects lowercase characters)

   (1 * DEC Alternate character ROM set (RAM set on GIGI and VT220)

   (2 * DEC Alternate character ROM set with line drawing

   (5 * DEC Finnish on LA100

   (6 * DEC Norwegian/Danish on LA100

   (7 * DEC Swedish on LA100

   (9 * DEC French Canadian

   (< * DEC supplemental graphics (everything not in USASCII)

   (A * UKASCII (British pound sign)

   (B * USASCII (American pound sign)

   (C * ISO Finnish on LA120

   (E * ISO Norwegian/Danish on LA120

   (H * ISO Swedish on LA120

   (K * ISO German on LA100,LA120

   (R * ISO French on LA100,LA120

   (Y * ISO Italian on LA100

   (Z * ISO Spanish on LA100

051 29 ) * SCS - Select G1 character set (choice of 63 standard, 16 private)

      * (same character sets as listed under G0)

052 2A * * SCS - Select G2 character set

      * (same character sets as listed under G0)

053 2B + * SCS - Select G3 character set

      * (same character sets as listed under G0)

054 2C , SCS - Select G0 character set (additional 63+16 sets)

055 2D - SCS - Select G1 character set (additional 63+16 sets)

056 2E . SCS - Select G2 character set

057 2F / SCS - Select G3 character set

==============================================================================

Private two-character escape sequences (allowed by ANSI X3.41-1974)

These can be defined differently by each terminal manufacturer.

Oct Hex * (* marks function used in DEC VT series or LA series terminals)


060 30 0

061 31 1 DECGON graphics on for VT105, DECHTS horiz tab set for LA34/LA120

062 32 2 DECGOFF graphics off VT105, DECCAHT clear all horz tabs LA34/LA120

063 33 3 DECVTS - set vertical tab for LA34/LA120

064 34 4 DECCAVT - clear all vertical tabs for LA34/LA120

065 35 5 * DECXMT - Host requests that VT132 transmit as if ENTER were pressed

066 36 6

067 37 7 * DECSC - Save cursor position and character attributes

070 38 8 * DECRC - Restore cursor and attributes to previously saved position

071 39 9

072 3A :

073 3B ;

074 3C < * DECANSI - Switch from VT52 mode to VT100 mode

075 3D = * DECKPAM - Set keypad to applications mode (ESCape instead of digits)

076 3E > * DECKPNM - Set keypad to numeric mode (digits intead of ESCape seq)

077 3F ?

DCS Device Control Strings used by DEC terminals (ends with ST)

Pp = Start ReGIS graphics (VT125, GIGI, VT240, PRO350)

Pq = Start SIXEL graphics (screen dump to LA34, LA100, screen load to VT125)

Pr = SET-UP data for GIGI, P r V C 0 PrVC0 PrVC0\ disables both visible cursors.

Ps = Reprogram keys on the GIGI, P 0 s D I R < C R > P0sDIR<CR> P0sDIR<CR>\ makes keypad 0 send “DIR”

0-9=digits on keypad, 10=ENTER, 11=minus, 12=comma, 13=period,

14-17=PF1-PF4, 18-21=cursor keys. Enabled by $[?23h (PK1).

Pt = Start VT105 graphics on a VT125

==============================================================================

Standard two-character escape sequences (defined by ANSI X3.64-1979)

100 40 @ See description of C1 control characters

An ESCape followed by one of these uppercase characters is translated

to an 8-bit C1 control character before being interpreted.

220 90 P DCS - Device Control String, terminated by ST - see table above.

133 5B [ CSI - Control Sequence Introducer - see table below.

137 5F _ See description of C1 control characters

==============================================================================

Indepenent control functions (from Appendix E of X3.64-1977).

These four controls have the same meaning regardless of the current

definition of the C0 and C1 control sets.  Each control is a two-character

ESCape sequence, the 2nd character is lowercase.

Oct Hex * (* marks function used in DEC VT series or LA series terminals)


140 60 ` DMI - Disable Manual Input

141 61 a INT - INTerrupt the terminal and do special action

142 62 b EMI - Enable Manual Input

143 63 c * RIS - Reset to Initial State (VT100 does a power-on reset)

… The remaining lowercase characters are reserved by ANSI.

153 6B k NAPLPS lock-shift G1 to GR

154 6C l NAPLPS lock-shift G2 to GR

155 6D m NAPLPS lock-shift G3 to GR

156 6E n * LS2 - Shift G2 to GL (extension of SI) VT240,NAPLPS

157 6F o * LS3 - Shift G3 to GL (extension of SO) VT240,NAPLPS

… The remaining lowercase characters are reserved by ANSI.

174 7C | * LS3R - VT240 lock-shift G3 to GR

175 7D } * LS2R - VT240 lock-shift G2 to GR

176 7E ~ * LS1R - VT240 lock-shift G1 to GR

==============================================================================

Control Sequences (defined by ANSI X3.64-1979)

Control Sequences are started by either ESC [ or CSI and are terminated by an

“alphabetic” character (100 to 176 octal, 40 to 7E hex). Intermediate

characters are space through slash (40 to 57 octal, 20 to 2F hex) and parameter

characters are zero through question mark (60 to 77 octal, 30 to 3F hex,

including digits and semicolon). Parameters consist of zero or more decimal

numbers separated by semicolons. Leading zeros are optional, leading blanks

are not allowed. If no digits precede the final character, the default

parameter is used. Many functions treat a parameter of 0 as if it were 1.

Oct Hex * (* marks function used in DEC VT series or LA series terminals)


100 40 @ ICH - Insert CHaracter

[10@ = Make room for 10 characters at current position

101 41 A * CUU - CUrsor Up

  • [A = Move up one line, stop at top of screen, [9A = move up 9

102 42 B * CUD - CUrsor Down

  • [B = Move down one line, stop at bottom of screen

103 43 C * CUF - CUrsor Forward

  • [C = Move forward one position, stop at right edge of screen

104 44 D * CUB - CUrsor Backward

  • [D = Same as BackSpace, stop at left edge of screen

105 45 E CNL - Cursor to Next Line

[5E = Move to first position of 5th line down

106 46 F CPL - Cursor to Previous Line

[5F = Move to first position of 5th line previous

107 47 G CHA - Cursor Horizontal position Absolute

[40G = Move to column 40 of current line

110 48 H * CUP - CUrsor Position

  • [H = Home, [24;80H = Row 24, Column 80

111 49 I CHT - Cursor Horizontal Tabulation

[I = Same as HT (Control-I), [3I = Go forward 3 tabs

112 4A J * ED - Erase in Display (cursor does not move)

  • [J = [0J = Erase from current position to end (inclusive)

  • [1J = Erase from beginning to current position (inclusive)

  • [2J = Erase entire display

  • [?0J = Selective erase in display ([?1J, [?2J similar)

113 4B K * EL - Erase in Line (cursor does not move)

  • [K = [0K = Erase from current position to end (inclusive)

  • [1K = Erase from beginning to current position

  • [2K = Erase entire current line

  • [?0K = Selective erase to end of line ([?1K, [?2K similar)

114 4C L * IL - Insert Line, current line moves down (VT102 series)

[3L = Insert 3 lines if currently in scrolling region

115 4D M * DL - Delete Line, lines below current move up (VT102 series)

[2M = Delete 2 lines if currently in scrolling region

116 4E N EF - Erase in Field (as bounded by protected fields)

[0N, [1N, [2N act like [L but within currend field

117 4F O EA - Erase in qualified Area (defined by DAQ)

[0O, [1O, [2O act like [J but within current area

120 50 P * DCH - Delete Character, from current position to end of field

[4P = Delete 4 characters, VT102 series

121 51 Q SEM - Set Editing extent Mode (limits ICH and DCH)

[0Q = [Q = Insert/delete character affects rest of display

[1Q = ICH/DCH affect the current line only

[2Q = ICH/DCH affect current field (between tab stops) only

[3Q = ICH/DCH affect qualified area (between protected fields)

122 52 R * CPR - Cursor Position Report (from terminal to host)

  • [24;80R = Cursor is positioned at line 24 column 80

123 53 S SU - Scroll up, entire display is moved up, new lines at bottom

[3S = Move everything up 3 lines, bring in 3 new lines

124 54 T SD - Scroll down, new lines inserted at top of screen

[4T = Scroll down 4, bring previous lines back into view

125 55 U NP - Next Page (if terminal has more than 1 page of memory)

[2U = Scroll forward 2 pages

126 56 V PP - Previous Page (if terminal remembers lines scrolled off top)

[1V = Scroll backward 1 page

127 57 W CTC - Cursor Tabulation Control

[0W = Set horizontal tab for current line at current position

[1W = Set vertical tab stop for current line of current page

[2W = Clear horiz tab stop at current position of current line

[3W = Clear vert tab stop at current line of current page

[4W = Clear all horiz tab stops on current line only

[5W = Clear all horiz tab stops for the entire terminal

[6W = Clear all vert tabs stops for the entire terminal

130 58 X ECH - Erase CHaracter

[4X = Change next 4 characters to “erased” state

131 59 Y CVT - Cursor Vertical Tab

[2Y = Move forward to 2nd following vertical tab stop

132 5A Z CBT - Cursor Back Tab

[3Z = Move backwards to 3rd previous horizontal tab stop

133 5B [ Reserved for future standardization left bracket

134 5C \ Reserved reverse slant

135 5D ] Reserved right bracket

136 5E ^ Reserved circumflex

137 5F _ Reserved underscore

140 60 ` * HPA - Horizontal Position Absolute (depends on PUM)

[720` = Move to 720 decipoints (1 inch) from left margin

  • [80` = Move to column 80 on LA120

141 61 a * HPR - Horizontal Position Relative (depends on PUM)

[360a = Move 360 decipoints (1/2 inch) from current position

  • [40a = Move 40 columns to right of current position on LA120

142 62 b REP - REPeat previous displayable character

[80b = Repeat character 80 times

143 63 c * DA - Device Attributes

  • [c = Terminal will identify itself

  • [?1;2c = Terminal is saying it is a VT100 with AVO

  • [>0c = Secondary DA request (distinguishes VT240 from VT220)

144 64 d * VPA - Vertical Position Absolute (depends on PUM)

[90d = Move to 90 decipoints (1/8 inch) from top margin

  • [10d = Move to line 10 if before that else line 10 next page

145 65 e * VPR - Vertical Position Relative (depends on PUM)

[720e = Move 720 decipoints (1 inch) down from current position

  • [6e = Advance 6 lines forward on LA120

146 66 f * HVP - Horizontal and Vertical Position (depends on PUM)

[720,1440f = Move to 1 inch down and 2 inches over (decipoints)

  • [24;80f = Move to row 24 column 80 if PUM is set to character

147 67 g * TBC - Tabulation Clear

  • [0g = Clear horizontal tab stop at current position

  • [1g = Clear vertical tab stop at current line (LA120)

  • [2g = Clear all horizontal tab stops on current line only LA120

  • [3g = Clear all horizontal tab stops in the terminal

150 68 h * SM - Set Mode (. means permanently set on VT100)

[0h = Error, this command is ignored

  • [1h = GATM - Guarded Area Transmit Mode, send all (VT132)

[2h = KAM - Keyboard Action Mode, disable keyboard input

[3h = CRM - Control Representation Mode, show all control chars

  • [4h = IRM - Insertion/Replacement Mode, set insert mode (VT102)

[5h = SRTM - Status Report Transfer Mode, report after DCS

  • [6h = ERM - ERasure Mode, erase protected and unprotected

[7h = VEM - Vertical Editing Mode, IL/DL affect previous lines

[8h, [9h are reserved

[10h = HEM - Horizontal Editing mode, ICH/DCH/IRM go backwards

[11h = PUM - Positioning Unit Mode, use decipoints for HVP/etc

. [12h = SRM - Send Receive Mode, transmit without local echo

[13h = FEAM - Format Effector Action Mode, FE’s are stored

[14h = FETM - Format Effector Transfer Mode, send only if stored

[15h = MATM - Multiple Area Transfer Mode, send all areas

  • [16h = TTM - Transmit Termination Mode, send scrolling region

[17h = SATM - Send Area Transmit Mode, send entire buffer

[18h = TSM - Tabulation Stop Mode, lines are independent

[19h = EBM - Editing Boundry Mode, all of memory affected

  • [20h = LNM - Linefeed Newline Mode, LF interpreted as CR LF

  • [?1h = DECCKM - Cursor Keys Mode, send ESC O A for cursor up

  • [?2h = DECANM - ANSI Mode, use ESC < to switch VT52 to ANSI

  • [?3h = DECCOLM - COLumn mode, 132 characters per line

  • [?4h = DECSCLM - SCrolL Mode, smooth scrolling

  • [?5h = DECSCNM - SCreeN Mode, black on white background

  • [?6h = DECOM - Origin Mode, line 1 is relative to scroll region

  • [?7h = DECAWM - AutoWrap Mode, start newline after column 80

  • [?8h = DECARM - Auto Repeat Mode, key will autorepeat

  • [?9h = DECINLM - INterLace Mode, interlaced for taking photos

  • [?10h = DECEDM - EDit Mode, VT132 is in EDIT mode

  • [?11h = DECLTM - Line Transmit Mode, ignore TTM, send line

[?12h = ?

  • [?13h = DECSCFDM - Space Compression/Field Delimiting on,

  • [?14h = DECTEM - Transmit Execution Mode, transmit on ENTER

[?15h = ?

  • [?16h = DECEKEM - Edit Key Execution Mode, EDIT key is local

[?17h = ?

  • [?18h = DECPFF - Print FormFeed mode, send FF after printscreen

  • [?19h = DECPEXT - Print Extent mode, print entire screen

  • [?20h = OV1 - Overstrike, overlay characters on GIGI

  • [?21h = BA1 - Local BASIC, GIGI to keyboard and screen

  • [?22h = BA2 - Host BASIC, GIGI to host computer

  • [?23h = PK1 - GIGI numeric keypad sends reprogrammable sequences

  • [?24h = AH1 - Autohardcopy before erasing or rolling GIGI screen

  • [?29h = - Use only the proper pitch for the LA100 font

  • [?38h = DECTEK - TEKtronix mode graphics

151 69 i * MC - Media Copy (printer port on VT102)

  • [0i = Send contents of text screen to printer

[1i = Fill screen from auxiliary input (printer’s keyboard)

[2i = Send screen to secondary output device

[3i = Fill screen from secondary input device

  • [4i = Turn on copying received data to primary output (VT125)

  • [4i = Received data goes to VT102 screen, not to its printer

  • [5i = Turn off copying received data to primary output (VT125)

  • [5i = Received data goes to VT102’s printer, not its screen

  • [6i = Turn off copying received data to secondary output (VT125)

  • [7i = Turn on copying received data to secondary output (VT125)

  • [?0i = Graphics screen dump goes to graphics printer VT125,VT240

  • [?1i = Print cursor line, terminated by CR LF

  • [?2i = Graphics screen dump goes to host computer VT125,VT240

  • [?4i = Disable auto print

  • [?5i = Auto print, send a line at a time when linefeed received

152 6A j Reserved for future standardization

153 6B k Reserved for future standardization

154 6C l * RM - Reset Mode (. means permanently reset on VT100)

  • [1l = GATM - Transmit only unprotected characters (VT132)

. [2l = KAM - Enable input from keyboard

. [3l = CRM - Control characters are not displayable characters

  • [4l = IRM - Reset to replacement mode (VT102)

. [5l = SRTM - Report only on command (DSR)

  • [6l = ERM - Erase only unprotected fields

. [7l = VEM - IL/DL affect lines after current line

[8l, [9l are reserved

. [10l = HEM - ICH and IRM shove characters forward, DCH pulls

. [11l = PUM - Use character positions for HPA/HPR/VPA/VPR/HVP

[12l = SRM - Local echo - input from keyboard sent to screen

. [13l = FEAM - HPA/VPA/SGR/etc are acted upon when received

. [14l = FETM - Format Effectors are sent to the printer

[15l = MATM - Send only current area if SATM is reset

  • [16l = TTM - Transmit partial page, up to cursor position

[17l = SATM - Transmit areas bounded by SSA/ESA/DAQ

. [18l = TSM - Setting a tab stop on one line affects all lines

. [19l = EBM - Insert does not overflow to next page

  • [20l = LNM - Linefeed does not change horizontal position

  • [?1l = DECCKM - Cursor keys send ANSI cursor position commands

  • [?2l = DECANM - Use VT52 emulation instead of ANSI mode

  • [?3l = DECCOLM - 80 characters per line (erases screen)

  • [?4l = DECSCLM - Jump scrolling

  • [?5l = DECSCNM - Normal screen (white on black background)

  • [?6l = DECOM - Line numbers are independent of scrolling region

  • [?7l = DECAWM - Cursor remains at end of line after column 80

  • [?8l = DECARM - Keys do not repeat when held down

  • [?9l = DECINLM - Display is not interlaced to avoid flicker

  • [?10l = DECEDM - VT132 transmits all key presses

  • [?11l = DECLTM - Send page or partial page depending on TTM

[?12l = ?

  • [?13l = DECSCFDM - Don’t suppress trailing spaces on transmit

  • [?14l = DECTEM - ENTER sends ESC S (STS) a request to send

[?15l = ?

  • [?16l = DECEKEM - EDIT key transmits either $[10h or $[10l

[?17l = ?

  • [?18l = DECPFF - Don’t send a formfeed after printing screen

  • [?19l = DECPEXT - Print only the lines within the scroll region

  • [?20l = OV0 - Space is destructive, replace not overstrike, GIGI

  • [?21l = BA0 - No BASIC, GIGI is On-Line or Local

  • [?22l = BA0 - No BASIC, GIGI is On-Line or Local

  • [?23l = PK0 - Ignore reprogramming on GIGI keypad and cursors

  • [?24l = AH0 - No auto-hardcopy when GIGI screen erased

  • [?29l = Allow all character pitches on the LA100

  • [?38l = DECTEK - Ignore TEKtronix graphics commands

155 6D m * SGR - Set Graphics Rendition (affects character attributes)

  • [0m = Clear all special attributes

  • [1m = Bold or increased intensity

  • [2m = Dim or secondary color on GIGI (superscript on XXXXXX)

[3m = Italic (subscript on XXXXXX)

  • [4m = Underscore, [0;4m = Clear, then set underline only

  • [5m = Slow blink

[6m = Fast blink (overscore on XXXXXX)

  • [7m = Negative image, [0;1;7m = Bold + Inverse

[8m = Concealed (do not display character echoed locally)

[9m = Reserved for future standardization

  • [10m = Select primary font (LA100)

  • [11m - [19m = Selete alternate font (LA100 has 11 thru 14)

[20m = FRAKTUR (whatever that means)

  • [22m = Cancel bold or dim attribute only (VT220)

  • [24m = Cancel underline attribute only (VT220)

  • [25m = Cancel fast or slow blink attribute only (VT220)

  • [27m = Cancel negative image attribute only (VT220)

  • [30m = Write with black, [40m = Set background to black (GIGI)

  • [31m = Write with red, [41m = Set background to red

  • [32m = Write with green, [42m = Set background to green

  • [33m = Write with yellow, [43m = Set background to yellow

  • [34m = Write with blue, [44m = Set background to blue

  • [35m = Write with magenta, [45m = Set background to magenta

  • [36m = Write with cyan, [46m = Set background to cyan

  • [37m = Write with white, [47m = Set background to white

[38m, [39m, [48m, [49m are reserved

156 6E n * DSR - Device Status Report

  • [0n = Terminal is ready, no malfunctions detected

[1n = Terminal is busy, retry later

[2n = Terminal is busy, it will send DSR when ready

  • [3n = Malfunction, please try again

[4n = Malfunction, terminal will send DSR when ready

  • [5n = Command to terminal to report its status

  • [6n = Command to terminal requesting cursor position (CPR)

  • [?15n = Command to terminal requesting printer status, returns

      [?10n = OK, [?11n = not OK, [?13n = no printer.
    
  • [?25n = “Are User Defined Keys Locked?” (VT220)

157 6F o DAQ - Define Area Qualification starting at current position

[0o = Accept all input, transmit on request

[1o = Protected and guarded, accept no input, do not transmit

[2o = Accept any printing character in this field

[3o = Numeric only field

[4o = Alphabetic (A-Z and a-z) only

[5o = Right justify in area

[3;6o = Zero fill in area

[7o = Set horizontal tab stop, this is the start of the field

[8o = Protected and unguarded, accept no input, do transmit

[9o = Space fill in area

==============================================================================

Private Control Sequences (allowed by ANSI X3.41-1974).

These take parameter strings and terminate with the last half of lowercase.

Oct Hex * (* marks function used in DEC VT series or LA series terminals)


160 70 p * DECSTR - Soft Terminal Reset

[!p = Soft Terminal Reset

161 71 q * DECLL - Load LEDs

[0q = Turn off all, [?1;4q turns on L1 and L4, etc

[154;155;157q = VT100 goes bonkers

[2;23!q = Partial screen dump from GIGI to graphics printer

[0"q = DECSCA Select Character Attributes off

[1"q = DECSCA - designate set as non-erasable

[2"q = DECSCA - designate set as erasable

162 72 r * DECSTBM - Set top and bottom margins (scroll region on VT100)

[4;20r = Set top margin at line 4 and bottom at line 20

163 73 s * DECSTRM - Set left and right margins on LA100,LA120

[5;130s = Set left margin at column 5 and right at column 130

164 74 t * DECSLPP - Set physical lines per page

[66t = Paper has 66 lines (11 inches at 6 per inch)

165 75 u * DECSHTS - Set many horizontal tab stops at once on LA100

[9;17;25;33;41;49;57;65;73;81u = Set standard tab stops

166 76 v * DECSVTS - Set many vertical tab stops at once on LA100

[1;16;31;45v = Set vert tabs every 15 lines

167 77 w * DECSHORP - Set horizontal pitch on LAxxx printers

[1w = 10 characters per inch, [2w = 12 characters per inch

[0w=10, [3w=13.2, [4w=16.5, [5w=5, [6w=6, [7w=6.6, [8w=8.25

170 78 x * DECREQTPARM - Request terminal parameters

[3;5;2;64;64;1;0x = Report, 7 bit Even, 1200 baud, 1200 baud

171 79 y * DECTST - Invoke confidence test

[2;1y = Power-up test on VT100 series (and VT100 part of VT125)

[3;1y = Power-up test on GIGI (VK100)

[4;1y = Power-up test on graphics portion of VT125

172 7A z * DECVERP - Set vertical pitch on LA100

[1z = 6 lines per inch, [2z = 8 lines per inch

[0z=6, [3z=12, [4z=3, [5z=3, [6z=4

173 7B { Private

174 7C | * DECTTC - Transmit Termination Character

[0| = No extra characters, [1| = terminate with FF

175 7D } * DECPRO - Define protected field on VT132

[0} = No protection, [1;4;5;7} = Any attribute is protected

[254} = Characters with no attributes are protected

176 7E ~ * DECKEYS - Sent by special function keys

[1~=FIND, [2~=INSERT, [3~=REMOVE, [4~=SELECT, [5~=PREV, [6~=NEXT

[17=F6…[34=F20 ([23=ESC,[24=BS,[25=LF,[28=HELP,[29~=DO)

177 7F DELETE is always ignored

==============================================================================

Control Sequences with intermediate characters (from ANSI X3.64-1979).

Note that there is a SPACE character before the terminating alphabetic.

Oct Hex * (* marks function used in DEC VT series or LA series terminals)


100 40 @ SL - Scroll Left

[4 @ = Move everything over 4 columns, 4 new columns at right

101 41 A SR - Scroll Right

[2 A = Move everything over 2 columns, 2 new columns at left

102 42 B GSM - Graphic Size Modification

[110;50 B = Make 110% high, 50% wide

103 43 C GSS - Graphic Size Selection

[120 C = Make characters 120 decipoints (1/6 inch) high

104 44 D FNT - FoNT selection (used by SGR, [10m thru [19m)

[0;23 D = Make primary font be registered font #23

105 45 E TSS - Thin Space Specification

[36 E = Define a thin space to be 36 decipoints (1/20 inch)

106 46 F JFY - JustiFY, done by the terminal/printer

[0 E = No justification

[1 E = Fill, bringing words up from next line if necessary

[2 E = Interword spacing, adjust spaces between words

[3 E = Letter spacing, adjust width of each letter

[4 E = Use hyphenation

[5 E = Flush left margin

[6 E = Center following text between margins (until [0 E)

[7 E = Flush right margin

[8 E = Italian form (underscore instead of hyphen)

107 47 G SPI - SPacing Increment (in decipoints)

[120;72 G = 6 per inch vertical, 10 per inch horizontal

110 48 H QUAD- Do quadding on current line of text (typography)

[0 H = Flush left, [1 H = Flush left and fill with leader

[2 H = Center, [3 H = Center and fill with leader

[4 H = Flush right, [5 H = Flush right and fill with leader

111 49 I Reserved for future standardization

157 67 o Reserved for future standardization

160 70 p Private use

… May be defined by the printer manufacturer

176 7E ~ Private use

177 7F DELETE is always ignored

==============================================================================

Minimum requirements for VT100 emulation:

  1. To act as a passive display, implement the 4 cursor commands, the 2 erase

    commands, direct cursor addressing, and at least inverse characters.

    The software should be capable of handling strings with 16 numeric parameters

    with values in the range of 0 to 255.

[A Move cursor up one row, stop if a top of screen

[B Move cursor down one row, stop if at bottom of screen

[C Move cursor forward one column, stop if at right edge of screen

[D Move cursor backward one column, stop if at left edge of screen

[H Home to row 1 column 1 (also [1;1H)

[J Clear from current position to bottom of screen

[K Clear from current position to end of line

[24;80H Position to line 24 column 80 (any line 1 to 24, any column 1 to 132)

[0m Clear attributes to normal characters

[7m Add the inverse video attribute to succeeding characters

[0;7m Set character attributes to inverse video only

  1. To enter data in VT100 mode, implement the 4 cursor keys and the 4 PF keys.

    It must be possible to enter ESC, TAB, BS, DEL, and LF from the keyboard.

[A Sent by the up-cursor key (alternately ESC O A)

[B Sent by the down-cursor key (alternately ESC O B)

[C Sent by the right-cursor key (alternately ESC O C)

[D Sent by the left-cursor key (alternately ESC O D)

OP PF1 key sends ESC O P

OQ PF2 key sends ESC O Q

OR PF3 key sends ESC O R

OS PF3 key sends ESC O S

[c Request for the terminal to identify itself

[?1;0c VT100 with memory for 24 by 80, inverse video character attribute

[?1;2c VT100 capable of 132 column mode, with bold+blink+underline+inverse

  1. When doing full-screen editing on a VT100, implement directed erase, the

    numeric keypad in applications mode, and the limited scrolling region.

    The latter is needed to do insert/delete line functions without rewriting

    the screen.

[0J Erase from current position to bottom of screen inclusive

[1J Erase from top of screen to current position inclusive

[2J Erase entire screen (without moving the cursor)

[0K Erase from current position to end of line inclusive

[1K Erase from beginning of line to current position inclusive

[2K Erase entire line (without moving cursor)

[12;24r Set scrolling region to lines 12 thru 24. If a linefeed or an

        INDex is received while on line 24, the former line 12 is deleted

        and rows 13-24 move up.  If a RI (reverse Index) is received while

        on line 12, a blank line is inserted there as rows 12-13 move down.

        All VT100 compatible terminals (except GIGI) have this feature.

ESC = Set numeric keypad to applications mode

ESC > Set numeric keypad to numbers mode

OA Up-cursor key sends ESC O A after ESC = ESC [ ? 1 h

OB Down-cursor key sends ESC O B " " "

OC Right-cursor key sends ESC O B " " "

OB Left-cursor key sends ESC O B " " "

OM ENTER key sends ESC O M after ESC =

Ol COMMA on keypad sends ESC O l " " (that’s lowercase L)

Om MINUS on keypad sends ESC O m " "

Op ZERO on keypad sends ESC O p " "

Oq ONE on keypad sends ESC O q " "

Or TWO on keypad sends ESC O r " "

Os THREE on keypad sends ESC O s " "

Ot FOUR on keypad sends ESC O t " "

Ou FIVE on keypad sends ESC O u " "

Ov SIX on keypad sends ESC O v " "

Ow SEVEN on keypad sends ESC O w " "

Ox EIGHT on keypad sends ESC O x " "

Oy NINE on keypad sends ESC O y " "

  1. If the hardware is capable of double width/double height:

#3 Top half of a double-width double-height line

#4 Bottom half of a double-width double-height line

#5 Make line single-width (lines are set this way when cleared by ESC [ J)

#6 Make line double-width normal height (40 or 66 characters)

  1. If the terminal emulator is capable of insert/delete characters,

insert/delete lines, insert/replace mode, and can do a full-screen dump to

the printer (in text mode), then it should identify itself as a VT102

[c Request for the terminal to identify itself

[?6c VT102 (printer port, 132 column mode, and ins/del standard)

[1@ Insert a blank character position (shift line to the right)

[1P Delete a character position (shift line to the left)

[1L Insert blank line at current row (shift screen down)

[1M Delete the current line (shift screen up)

[4h Set insert mode, new characters shove existing ones to the right

[4l Reset insert mode, new characters replace existing ones

[0i Print screen (all 24 lines) to the printer

[4i All received data goes to the printer (nothing to the screen)

[5i All received data goes to the screen (nothing to the printer)

[End of ANSICODE.TXT]

欢迎使用Markdown编辑器

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法1 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

功能快捷键

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片: Alt

带尺寸的图片: Alt

居中的图片: Alt

居中并且带尺寸的图片: Alt

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目Value
电脑$1600
手机$12
导管$1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文本居中第二列文本居右第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPEASCIIHTML
Single backticks'Isn't this fun?'‘Isn’t this fun?’
Quotes"Isn't this fun?"“Isn’t this fun?”
Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to- HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。2

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通过欧拉积分

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

Mon 06 Mon 13 Mon 20 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

这将产生一个流程图。:

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.3.0 开始 我的操作 确认? 结束 yes no
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. mermaid语法说明 ↩︎

  2. 注脚的解释 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值