ANSI escape code

From WikiMD's Wellness Encyclopedia

DEC VT100 terminal.jpg
XtermMenus.png
ANSI sample program output.png

ANSI escape codes are a standard for in-band signaling to control the cursor location, color, font styling, and other options on video text terminals and terminal emulators. Certain sequences of bytes, most starting with Esc and '[', are embedded into the text, which the terminal looks for and interprets as commands, not as character codes.

History[edit | edit source]

ANSI escape codes were developed in the 1970s to replace vendor-specific sequences and became widespread in the early 1980s with the adoption of the ANSI (American National Standards Institute) standard ANSI X3.64. The standard was based on earlier systems such as the VT100 terminal that DEC produced. Over time, these codes have been extended and modified by various terminal emulators.

Functionality[edit | edit source]

The ANSI escape codes control functions such as moving the cursor, changing text color, clearing the screen, and other visual effects. They are used by printing them to the terminal as if they were regular text. For example, the sequence to change the text color to red might look like "\033[31m", where "\033" is the escape character in octal representation.

Cursor Control[edit | edit source]

Cursor movement is one of the primary functions of ANSI escape codes. Commands allow the cursor to move up, down, left, or right, to jump to a specific position, and to save and restore its position.

Text Formatting[edit | edit source]

Text formatting includes changing colors, bolding, underlining, and other text styles. These codes can set the foreground and background colors from a predefined list of colors and enable or disable text styles.

Screen Control[edit | edit source]

Screen control commands include clearing the screen or parts of it and scrolling the screen or a portion of it. These commands are essential for creating dynamic and interactive terminal applications.

Usage[edit | edit source]

ANSI escape codes are widely used in command-line applications to enhance output visually. They are supported by most modern terminal emulators, such as Xterm and GNOME Terminal. However, their support can vary, and some sequences may work differently or not at all in different terminals.

Examples[edit | edit source]

Here are a few examples of ANSI escape codes:

  • Move the cursor to the top left corner of the screen: "\033[H"
  • Clear the screen: "\033[2J"
  • Set text color to bright green: "\033[92m"
  • Reset all attributes (colors, bold, underline, etc.): "\033[0m"

See Also[edit | edit source]

Contributors: Prab R. Tumpati, MD