ANSI escape code
Standard |
|
---|---|
Einstufung | ISO/IEC 2022 basierend Kontrollcode und Kontrollsequenzsatz |
Andere verwandte Kodierungen (en) | Andere Kontrollfunktionsstandards: ITU T.101, Jis x 0207, ISO 6630, DIN 31626, ETS 300 706 |
ANSI Escape -Sequenzen sind ein Standard für In-Band-Signalübertragung So steuern Sie den Cursorort, Farbe, Schriftstyling und andere Optionen auf Video Text Terminals und Terminalemulatoren. Bestimmte Sequenzen von Bytes, die meisten beginnen mit einem ASCII entkommen Charakter und a Klammer Charakter, sind in Text eingebettet. Die Terminal interpretiert diese Sequenzen eher als Befehle als Text, um wörtlich anzuzeigen.
ANSI-Sequenzen wurden in den 1970er Jahren eingeführt, um die näherspezifischen Sequenzen zu ersetzen, und wurden Anfang der 1980er Jahre auf dem Markt für Computerausrüstung weit verbreitet. Sie werden in der Entwicklung, in wissenschaftlichen, kommerziellen textbasierten Anwendungen sowie in den Bereichen Bulletin -Board -Systeme standardisierte Funktionen anzubieten.
Obwohl Hardware -Textterminals im 21. Jahrhundert immer seltener geworden sind, bleibt die Relevanz des ANSI -Standards bestehen, da eine große Mehrheit der Terminal -Emulatoren und -Konsolen mindestens einen Teil des ANSI -Standards interpretiert.
Geschichte
Fast alle Hersteller von Video-Terminals fügten anhand von Lieferanten-spezifische Fluchtsequenzen hinzu, um Operationen auszuführen, wie z. B. die Platzierung des Cursors an willkürlichen Positionen auf dem Bildschirm. Ein Beispiel ist das VT52 Terminal, das es dem Cursor ermöglichte, an einem x, y -Standort auf dem Bildschirm zu platzieren, indem der Senden des ESC
Charakter, a Y
Charakter und dann zwei Zeichen, die mit numerischen Werten entsprechen, die dem x, y Ort plus 32 entsprechen (somit am ASCII -Raumzeichen und die Vermeidung der Steuerzeichen). Das Hazeltine 1500 hatte ein ähnliches Merkmal, das mit Verwendung aufgerufen wurde ~
, DC1
und dann die X- und Y -Positionen mit einem Komma getrennt. Während die beiden Terminals in dieser Hinsicht eine identische Funktionalität hatten, mussten verschiedene Kontrollsequenzen verwendet werden, um sie aufzurufen.
Da diese Sequenzen für verschiedene Terminals unterschiedlich waren, waren ausführliche Bibliotheken wie Termcap ("Terminalfähigkeiten") und Versorgungsunternehmen wie tput musste erstellt werden, damit Programme dasselbe verwenden konnten API mit jedem Terminal arbeiten. Darüber hinaus mussten viele dieser Terminals als Binärwerte der Zeichen Zahlen (z. B. Zeile und Spalte) senden; Für einige Programmiersprachen und für Systeme, die ASCII nicht intern verwendeten, war es oft schwierig, eine Zahl in den richtigen Charakter zu verwandeln.
Der ANSI -Standard versuchte, diese Probleme zu beheben, indem ein Befehlssatz erstellt wurde, den alle Terminals verwenden würden, und alle numerischen Informationen müssen als ASCII -Nummern übertragen werden. Der erste Standard in der Serie war ECMA-48, der 1976 übernommen wurde.[1] Es war eine Fortsetzung einer Reihe von Charakter -Codierungsstandards, das erste Wesen ECMA-6 ab 1965 ein 7-Bit-Standard ISO 646 Ursprung. Der Name "Ansi Escape Sequenz" stammt aus dem Jahr 1979, als Ansi adoptiert ansi x3.64. Das ANSI X3L2 -Komitee hat mit dem zusammengearbeitet ECMA Komitee TC 1, um nahezu identische Standards zu erstellen. Diese beiden Standards wurden zu einem internationalen Standard, ISO 6429, zusammengefasst.[1] 1994 zog ANSI seinen Standard zugunsten des internationalen Standards zurück.
Das erste beliebte Video -Terminal zur Unterstützung dieser Sequenzen war die Digital VT100, eingeführt 1978.[2] Dieses Modell war sehr erfolgreich auf dem Markt, das eine Vielzahl von VT100 -Klonen ausgelöst hatte, zu den frühesten und beliebtesten, von denen das viel erschwinglicher war Zenith Z-19 1979.[3] Andere umfassten die Qume Qvt-108, Televideo TVI-970, Wyse WY-99GT sowie optionale "VT100" oder "VT103" oder "ANSI" -Modi mit unterschiedlichem Grad an Kompatibilität bei vielen anderen Marken. Die Popularität von diesen führte nach und nach zu immer mehr Software (insbesondere zu mehr Software Bulletin -Board -Systeme und andere online Dienste) Unter der Annahme, dass die Escape -Sequenzen funktionierten, was zu fast allen neuen Terminals und Emulatorprogrammen führte, die sie unterstützen.
1981 wurde ANSI X3.64 zur Verwendung in der US -Regierung von verabschiedet FIPS Veröffentlichung 86. Später stoppte die US -Regierung die Duplizierende Branchenstandards, also FIPS Pub. 86 wurde zurückgezogen.[4]
ECMA-48 wurde mehrmals aktualisiert und befindet sich derzeit in der 5. Ausgabe von 1991. Es wird auch von übernommen von ISO und IEC als Standard ISO/IEC 6429.[5] Eine Version wird als übernommen als Japanischer Industriestandard, wie Jis x 0211.
Verwandte Standards umfassen Itu t.61, das Teletex Standard und die ISO/IEC 8613, das Offene Dokumentarchitektur Standard (hauptsächlich ISO/IEC 8613-6 oder ITU T.416). Die beiden Systeme teilen viele Fluchtcodes mit dem ANSI -System mit Erweiterungen, die für Computerterminals nicht unbedingt von Bedeutung sind. Beide Systeme fielen schnell nicht aus, aber ECMA-48 markiert die in ihnen verwendeten Erweiterungen als reserviert.
Plattformunterstützung
Unix-ähnliche Systeme
Auf diesen Systemen identifiziert sich der Terminal (oder Emulator) selbst die Verwendung der $ Term
Umgebungsvariable. Eine Datenbankbibliothek wie z. Termcap oder terminfo würde eine Suche durchführen, um die Fähigkeiten der Terminal- und spezifischen Escape -Sequenzen abzuleiten, um die Funktionen zu nutzen, die in frühen Tagen von ANSI abweichen können.
Obwohl solche Bibliotheken in und für Unix in erster Linie entwickelt wurden Unix-artig Betriebssysteme konnten fast immer annehmen, dass sie einen Terminal oder einen Emulator verwenden, der ANSI -Sequenzen unterstützte. Dies führte zu einer weit verbreiteten Verwendung von ANSI durch Programme, die auf diesen Plattformen ausgeführt werden. Zum Beispiel schreiben viele Spiele und Shell -Skripte sowie Dienstprogramme wie Farbverzeichnis -Listen direkt die ANSI -Sequenzen und können daher nicht an einem Terminal verwendet werden, das sie nicht interpretiert. Viele Programme, einschließlich Textredakteure wie zum Beispiel vi und GNU EMACSVerwenden Sie Termcap oder Terminfo oder verwenden Sie Bibliotheken wie z. Flüche Diese Verwendung von Termcap oder Terminfo und damit theoretisch nicht Ansi-Terminals, aber dies wird heutzutage so selten getestet, dass sie es sind Es ist unwahrscheinlich, dass er funktioniert mit diesen Terminals.
Terminalemulatoren Für die Kommunikation mit lokalen Programmen sowie Remote -Maschinen und den Text Systemkonsole Fast immer unterstützen Sie ANSI -Fluchtcodes. Dies schließt terminale Emulatoren ein, wie z. Xterm, rxvt, Gnom -Terminal, und Konsole auf Systemen mit X11-basis oder Wayland-basierte Fenstersysteme und Terminal.app und Terminalemulatoren von Drittanbietern wie z. ITERM2 an Mac OS.
CP/m
CP/m Maschinen variierten und es gab mehrere konkurrierende Terminals wie für Drucker, die jeweils ihre eigenen Kontrollsequenzen haben. Einige frühe Systeme waren kopflos (benötigt ein externes Terminal) und PCs mit einem nativen Bildschirm, der typischerweise ein Terminal emuliert hat. Anwendungsentwickler mussten verschiedene beliebte Terminals unterstützen und ein Installationsprogramm zur Konfiguration bereitstellen. Trotz der CP/M -Hardware -Abstraktionsschicht (BIOS) Selbst für denselben Mikroprozessor stellten die Anbieter plattformspezifische Versionen aufgrund der konkurrierenden Scheibenformate zur Verfügung, die auch für das native Terminal vorkonfiguriert werden (z. WordStar Anpassungen wurden veröffentlicht).
Die kopflosen Altair 8800 wurde normalerweise mit a verbunden Teletyp so wie die Modell 33 ASR oder zu einem externen Terminal wie dem Televideo 920cmüssen ihre jeweiligen Sequenzen ausgeben.[6] Das Osborne 1 und Kaypro II Computer emulierte nativ eine Untergruppe des Televideo 920c und Adm-3a Kontrollcodes.[7][8] Das TRS-80 Modell 4 und die Xerox 820 emulierte auch den Lear Siegler adm-3a.[9][10] Das Zenith Z-89, Heathkit H8 und Amstrad PCW CP/M-80-Computer implementierten die Zenith Z19-Terminalcodes (Heathkit H19) VT52Das Z-89-Handbuch beschreibt es auch als unterstützende ANSI.[11][12]
Das Microsoft Z-80 Softcard für die Apple II emuliert eine begrenzte Untergruppe der Siehe Videoterm, entsprechend den DataMedia 1520-Sequenzen, die die UCSD-basierten Apple Pascal unterstützt. Sein CP/M hatte den Befehl configio, externe Terminals anzupassen oder lokale Anwendungen auszuführen, in denen andere Steuercodes ausgegeben wurden. Unterstützte externe Terminals waren der SOROC IQ 120/140 und Hazeltine 1500/1510.[13][14]
DOS, OS/2 und Windows
MS-DOS 1.x unterstützte weder die ANSI noch andere Escape-Sequenzen. Nur wenige Steuerzeichen (Bel, Cr, Lf, BS) wurden vom zugrunde liegenden BIOS interpretiert, was es fast machte[a] Es ist unmöglich, irgendeine Art von Vollbildanwendung zu führen. Alle Display -Effekte mussten mit BIOS -Anrufen durchgeführt werden, die notorisch langsam waren, oder durch direkte Manipulation der IBM -PC -Hardware.
DOS 2.0 führte die Fähigkeit ein, a hinzuzufügen Gerätetreiber Für die ANSI -Fluchtsequenzen - die de facto Standardwesen Ansi.sys, aber andere mögen Ansi.com,[15] Nansi.sys[16] und Ansiplus.exe werden auch verwendet (diese sind erheblich schneller, wenn sie das BIOS umgehen). Langsamkeit und die Tatsache, dass es standardmäßig nicht installiert wurde, nutzte sie selten aus der Software; Stattdessen manipulierten Anwendungen die Hardware weiter, um das benötigte Textanzeigen zu erhalten. Ansi.sys und ähnliche Treiber arbeiteten weiterhin in Windows 9x bis zu Fenster michund in von NT abgeleiteten Systemen für 16-Bit-Legacy-Programme, die unter dem ausführt Ntvdm.
Viele DOS -Klone konnten die Sequenzen interpretieren und benötigen keinen separaten ANSI -Treiber. PTS-DOS[17][18] ebenso gut wie Gleichzeitige dos, Multiuser dos[19] und Real/32 haben integrierte Unterstützung (plus eine Reihe von Erweiterungen). OS/2 hat ein Ansi Befehl, der die Sequenzen aktiviert hat.
Das Windows -Konsole unterstützte keine ANSI -Escape -Sequenzen, noch hat Microsoft eine Methode zur Verfügung gestellt, um sie zu aktivieren. Einige Ersetzungen oder Ergänzungen für das Konsolenfenster wie die JP -Software Tcc (ehemals 4NT), Michael J. Meffords Ansi.com, Jason Hoods Ansicon[20] und Maximus5 Conemu Interpretierte ANSI -Escape -Sequenzen, die von Programmen gedruckt wurden. Ein Python -Paket namens Colorama [21] Innen interpretiert ANSI -Escape -Sequenzen im gedruckten Text und übersetzen sie in Win32 -Aufrufe, um den Status des Terminals zu ändern, um den Python -Code mithilfe von ANSI an Windows zu vereinfachen. Cygwin führt eine ähnliche Übersetzung für alle Ausgaben aus, die mithilfe von Cygwin -Dateideskriptoren an die Konsole geschrieben wurden. Die Filterung erfolgt durch die Ausgabefunktionen von cygwin1.dll, um das Portieren von POSIX C -Code auf Windows zu ermöglichen.
Im Jahr 2016 veröffentlichte Microsoft die Windows 10 Version 1511 Update, das über zwei Jahrzehnte nach dem Debüt von Windows NT unerwartet die Unterstützung für ANSI -Escape -Sequenzen implementierte.[22] Dies wurde neben Windows -Subsystem für Linux, erlauben Unix-artig Terminalbasierte Software zur Verwendung der Sequenzen in Windows Console. Dies ist standardmäßig ausgeschaltet, aber Windows PowerShell 5.1 hat es aktiviert. PowerShell 6 machte es möglich, den notwendigen ESC -Charakter in eine Schnur mit einzubetten `e
.[23] Windows -Terminal, eingeführt im Jahr 2019, unterstützt standardmäßig die Sequenzen, und Microsoft beabsichtigt, die Windows -Konsole durch Windows Terminal zu ersetzen.[24]
Atari St/TT/Falcon Series
Atari Tos verwendete das von der angepasste Befehlssystem VT52 mit einigen Erweiterungen für die Farbunterstützung,[25] anstatt Ansi -Fluchtcodes zu unterstützen.
Amigaos
Amigaos Interpretiert nicht nur ANSI -Codesequenzen für die Textausgabe auf den Bildschirm, die Amigaos Drucker Der Treiber interpretiert sie auch (mit Erweiterungen, die für Amigaos proprietär) und übersetzt sie in die für den jeweils angehängten jeweils angehängten Codes.[26]
Wirkung | |
---|---|
ESC [ n u | Legt die maximale Länge der Zeilen im Fenster nach n fest. |
ESC [ n t | Legt die maximale Anzahl von Zeilen im Fenster auf n fest. |
ESC [ n x | Startet Text n Pixel von der linken Kante des Fensters. |
ESC [ n y | Startet Text n Pixel von der Oberkante des Fensters. |
VMS / OpenVMS
VMs wurde entwickelt, um mithilfe der textbasierten Videoterminals von Digital kontrolliert zu werden, wie beispielsweise die oben genannten VT100; So schreibt Software die ANSI-Escape-Sequenzen direkt (und funktioniert nicht an Nicht-Ansi-Terminals).[27][Fehlgeschlagene Überprüfung]
Beschreibung
C0 -Steuercodes
Fast alle Benutzer übernehmen einige Funktionen einiger Single-Byte-Zeichen. Der Standard-C0-Steuercodessatz ist zunächst als Teil von ASCII definiert in ISO 6429 (ECMA-48), so ISO 2022 Ermöglicht den ISO 6429 C0 -Satz ohne den ISO 6429 C1 -Set und und und umgekehrt, vorausgesetzt, 0x1b ist immer ESC). Dies wird verwendet, um die Menge der übertragenen Daten zu verkürzen oder einige Funktionen auszuführen, die aus Escape -Sequenzen nicht verfügbar sind:
^ | C0 | Abbr | Name | Wirkung |
---|---|---|---|---|
^G | 7 | Bel | Glocke | Macht ein hörbares Geräusch. |
^H | 8 | BS | Rücktaste | Bewegt den Cursor nach links (kann aber "rückwärts wickeln", wenn der Cursor zu Beginn der Linie ist). |
^I | 9 | Ht | Tab | Bewegt den Cursor rechts auf das nächste Mal von 8. |
^J | 0x0a | Lf | Zeilenvorschub | Wenn Sie zur nächsten Zeile bewegt werden, scrollen Sie die Anzeige am unteren Bildschirmrand. Bewegen Sie sich normalerweise nicht horizontal, obwohl sich Programme nicht darauf verlassen sollten. |
^L | 0x0c | Ff | Formfutter | Bewegen Sie einen Drucker auf die nächste Seite. Bewegen Sie sich normalerweise nicht horizontal, obwohl sich Programme nicht darauf verlassen sollten. Die Auswirkung auf Video -Terminals variiert. |
^M | 0x0d | Cr | Kutschenrückkehr | Verschiebt den Cursor in Spalte Null. |
^[ | 0x1b | ESC | Flucht | Startet alle Fluchtsequenzen |
Escape -Sequenzen variieren in der Länge. Das allgemeine Format für eine ANSI-konforme Fluchtsequenz wird durch definiert ANSI X3.41 (Äquivalent zu ECMA-35 oder ISO/IEC 2022).[28]: 13.1 Die Escape -Sequenzen bestehen nur aus Bytes im Bereich 0x20—0x7f (Alle nicht kontrollierenden ASCII-Zeichen) und können analysiert werden, ohne nach vorne zu schauen. Das Verhalten, wenn ein Kontrollcharakter, ein Byte mit dem hohen Bit -Set oder ein Byte, das nicht Teil einer gültigen Sequenz ist, auftritt, bevor das Ende undefiniert ist.
Fe Escape -Sequenzen
Wenn die ESC
folgt von einem Byte im Bereich 0x40 bis 0x5f, die Fluchtsequenz ist vom Typ Fe
. Seine Interpretation wird an die anwendbaren Delegation delegiert C1 -Kontrollcode Standard.[28]: 13.2.1 Dementsprechend folgen alle Fluchtsequenzen, die C1-Steuercodes aus ANSI X3.64 / ECMA-48 entsprechen, diesem Format.[5]: 5.3.a
Der Standard besagt, dass die Steuerungsfunktionen in 8-Bit-Umgebungen dem Typ entsprechen Fe
Escape -Sequenzen (die aus dem Satz von C1 -Kontrollcodes) kann im Bereich 0x80–0x9f als einzelne Bytes dargestellt werden.[5]: 5.3.b Dies ist in Charaktercodierungen möglich, die den Bestimmungen für einen 8-Bit-Code in ISO 2022 entsprechen, wie die ISO 8859 Serie. In Charaktercodierungen, die auf modernen Geräten wie verwendet wurden, wie z. UTF-8 oder CP-1252Diese Codes werden häufig für andere Zwecke verwendet, sodass normalerweise nur die 2-Byte-Sequenz verwendet wird. Im Fall von UTF-8, der einen C1-Kontrollcode über die darstellt C1-Kontrollen und Latein-1-Supplement Block führt zu einem anderen Zwei-Byte-Code (z. 0xc2,0x8e zum U+008E), aber auf diese Weise wird kein Platz gerettet.
Code | C1 | Abbr | Name | Wirkung |
---|---|---|---|---|
Esc n | 0x8e | SS2 | Einzelschicht zwei | Wählen Sie ein einzelnes Zeichen aus einem der der alternative Zeichensätze. SS2 wählt den G2 -Zeichensatz aus und SS3 wählt den G3 -Zeichensatz aus.[29] In einer 7-Bit-Umgebung folgt ein oder mehrere GL-Bytes (0x20–0x7f), die ein Zeichen aus diesem Satz angeben.[28]: 9.4 In einer 8-Bit-Umgebung können diese stattdessen GR-Bytes (0xa0–0xff) sein.[28]: 8.4 |
Esc o | 0x8f | SS3 | Einzelschicht drei | |
Esc p | 0x90 | DCS | Gerätesteuerzeichenfolge | Beendet von st.[5]: 5.6 Die Verwendung dieser Sequenz von Xterm umfasst das Definieren benutzerdefinierter Schlüssel und das Anfordern oder Einstellen von TermCap/Terminfo-Daten.[29] |
ESC [ | 0x9b | CSI | Kontrollsequenz -Einführung | Startet die meisten nützlichen Sequenzen, die von einem Byte im Bereich 0x40 bis 0x7e beendet sind.[5]: 5.4 |
ESC \ | 0x9c | St | String -Terminator | Beendet Strings in anderen Kontrollen.[5]: 8.3.143 |
ESC ] | 0x9d | OSC | Betriebssystembefehl | Startet eine Steuerzeichenfolge für das Betriebssystem, das von ST beendet wird.[5]: 8.3.89 |
Esc x | 0x98 | SOS | Start der String | Nimmt ein Argument einer Textfolge, die von ST beendet wurde.[5]: 5.6 Die Verwendungen für diese String -Steuersequenzen werden von der Anwendung definiert[5]: 8.3.2, 8.3.128 oder Datenschutzdisziplin.[5]: 8.3.94 Diese Funktionen werden selten implementiert und die Argumente von Xterm ignoriert.[29] Etwas Kermit Clients erlauben dem Server, Kermit -Befehle automatisch im Client auszuführen, indem sie in APC -Sequenzen eingebettet werden. Dies ist ein potenzielles Sicherheitsrisiko, wenn der Server nicht vertrauenswürdig ist.[30] |
Esc ^ | 0x9e | PM | Datenschutznachricht | |
ESC _ | 0x9f | APC | Anwendungsprogrammbefehl |
CSI -Sequenzen (Kontrollsequenz -Einführungssequenzen)
Für die Kontrollsequenz -Einführung oder CSI, Befehle, die ESC [
folgt von einer beliebigen Zahl (einschließlich keiner) von "Parameter -Bytes" im Bereich 0x30–0x3f (ASCII 0–9:; <=>?
), dann nach einer beliebigen Anzahl von "Zwischenbytes" im Bereich 0x20–0x2f (ASCII -Raum und !"#$%&'()*+,-./
), dann schließlich durch ein einzelnes "Final -Byte" im Bereich 0x40–0x7e (ASCII @A - Z [\]^_ `a - Z {|} ~
).[5]: 5.4
Alle gemeinsamen Sequenzen verwenden nur die Parameter als eine Reihe von mit Semikolon getrennten Zahlen wie z. 1;2;3
. Fehlende Zahlen werden als behandelt 0
(1;;3
Handlungen wie die mittlere Zahl ist 0
und überhaupt keine Parameter in ESC[m
wirkt wie a 0
Code zurücksetzen). Einige Sequenzen (wie CUU) behandeln 0
wie 1
Um fehlende Parameter nützlich zu machen.[5]: F.4.2
Eine Untergruppe von Arrangements wurde als "privat" erklärt, sodass Terminalhersteller ihre eigenen Sequenzen einfügen konnten, ohne mit dem Standard zu widerstehen. Sequenzen, die die Parameter -Bytes enthalten <=>?
oder die endgültigen Bytes 0x70–0x7e (p - z {|} ~
) sind privat.
Das Verhalten des Terminals ist undefiniert in dem Fall, in dem eine CSI -Sequenz ein Zeichen außerhalb des Bereichs 0x20–0x7e enthält. Diese illegalen Zeichen sind entweder C0 -Steuerzeichen (der Bereich 0–0x1f), Del (0x7f) oder Bytes mit dem hohen Bit -Set. Mögliche Antworten müssen das Byte ignorieren, sofort verarbeiten und außerdem mit der CSI -Sequenz fortgesetzt werden, es sofort abbrechen oder den Rest ignorieren.
Code | Abbr | Name | Wirkung |
---|---|---|---|
CSI n EIN | Cuu | Cursor auf | Bewegt den Cursor n (Ursprünglich 1 ) Zellen in die gegebene Richtung. Wenn sich der Cursor bereits am Rande des Bildschirms befindet, hat dies keinen Einfluss. |
CSI n B | CUD | Cursor nach unten | |
CSI n C | CUF | Cursor vorwärts | |
CSI n D | Jungtier | Cursor zurück | |
CSI n E | CNL | Cursor nächste Linie | Bewegt Cursor zum Beginn der Linie n (Ursprünglich 1 ) Linien nach unten. (nicht Ansi.sys)) |
CSI n F | Cpl | Cursor vorherige Zeile | Bewegt Cursor zum Beginn der Linie n (Ursprünglich 1 ) aufreihen. (nicht Ansi.sys)) |
CSI n G | Cha | Cursor Horizontal Absolut | Verschiebt den Cursor in die Spalte n (Ursprünglich 1 ). (nicht Ansi.sys)) |
CSIn;mH | TASSE | Cursorposition | Bewegt den Cursor in die Reihe n, Säule m. Die Werte sind 1 basiert und standardmäßig an 1 (obere linke Ecke) Wenn weggelassen. Eine Sequenz wie z. CSI ;5H ist ein Synonym für CSI 1;5H ebenso gut wie CSI 17;H ist das gleiche wie CSI 17H und CSI 17;1H |
CSI n J | Ed | In der Anzeige löschen | Löscht einen Teil des Bildschirms. Wenn n ist 0 (oder fehlt), löschen Sie vom Cursor bis zum Ende des Bildschirms. Wenn n ist 1 , von Cursor zum Beginn des Bildschirms klären. Wenn n ist 2 , den gesamten Bildschirm löschen (und bewegt den Cursor nach links auf DOS Ansi.sys). Wenn n ist 3 Löschen Sie den gesamten Bildschirm und löschen Sie alle im Scrollback -Puffer gespeicherten Zeilen (diese Funktion wurde für hinzugefügt für Xterm und wird von anderen terminalen Anwendungen unterstützt). |
CSI n K | El | In der Linie löschen | Löscht einen Teil der Linie. Wenn n ist 0 (oder fehlt), vom Cursor bis zum Ende der Linie klären. Wenn n ist 1 , klar vom Cursor bis zum Beginn der Linie. Wenn n ist 2 , Löschen Sie die ganze Linie. Die Cursorposition ändert sich nicht. |
CSI n S | Su | Hochscrollen | Scrollen Sie die ganze Seite nach n (Ursprünglich 1 ) Linien. Neue Zeilen werden unten hinzugefügt. (nicht Ansi.sys)) |
CSI n T | SD | Runterscrollen | Scrollen Sie die ganze Seite nach unten nach n (Ursprünglich 1 ) Linien. Neue Zeilen werden oben hinzugefügt. (nicht Ansi.sys)) |
CSI n; m f | HVP | Horizontale vertikale Position | Gleich wie Cup, aber als Format -Effektorfunktion zählt (wie wie Cr oder Lf) und nicht eine Editorfunktion (wie CUD oder CNL). Dies kann in bestimmten Terminalmodi zu unterschiedlichem Umgang führen.[5]: Anhang A |
CSI n m | SGR | Wählen Sie die Grafikrendition | Legt Farben und Stil der Zeichen fest, folgt diesem Code |
CSI 5i | AUX -Port Ein auf | Aktivieren Sie den aux -seriellen Anschluss normalerweise für den lokalen seriellen Drucker | |
CSI 4i | Aux -Port aus | Deaktivieren
| |
CSI 6n | DSR | Gerätestatusbericht | Meldet die Cursorposition (CPR) durch Senden ESC[n;mR , wo n ist die Reihe und m ist die Säule. |
Code | Abbr | Name | Wirkung |
---|---|---|---|
Csi s | SCP, SCOSC | Sparen Sie die aktuelle Cursorposition | Speichert die Cursorposition/den SCO -Konsolenmodus.[31] Im vertikalen Split -Bildschirmmodus, stattdessen zum Setzen (als Csi n; n s ) oder linke und rechte Ränder zurücksetzen.[32] |
Csi u | RCP, Scorc | Wiederherstellen der gespeicherten Cursorposition | Stellt die Cursorposition/den SCO -Konsolenmodus wieder her.[33] |
CSI? 25 h | Dectcem | Zeigt den Cursor aus dem VT220. | |
CSI? 25 l | Dectcem | Versteckt den Cursor. | |
CSI? 1049 h | Aktivieren Sie den alternativen Bildschirmpuffer von Xterm | ||
CSI? 1049 l | Deaktivieren Sie den alternativen Bildschirmpuffer von Xterm | ||
CSI? 2004 h | Schalten Sie den Paste -Modus ein.[34] Im Klammermodus wird der in das Terminal eingefügte Text von umgeben ESC [200~ und ESC [201~ ; Programme, die im Terminal laufenVimZum Beispiel behandelt sie nicht als Befehle).[35] Von xterm[36] | ||
CSI? 2004 l | Schalten Sie den Paste -Modus aus. |
SGR -Parameter (Grafikwiedergabe auswählen)
Die Kontrollsequenz Csi n m
, mit dem Namen SELECT Graphic Rendition (SGR), legt Anzeigeattribute fest. Mehrere Attribute können in derselben Sequenz eingestellt werden, die durch Semikolonen getrennt sind.[37] Jedes Anzeigenattribut bleibt wirksam, bis ein nachfolgendes Auftreten von SGR es zurücksetzt.[5] Wenn keine Codes angegeben sind, CSI m
wird als behandelt CSI 0 m
(Zurücksetzen / Normal).
n | Name | Notiz |
---|---|---|
0 | Zurücksetzen oder normal | Alle Attribute aus |
1 | Fett oder erhöhte Intensität | Wie bei Ohnmacht ist die Farbänderung ein PC (SCO / CGA) Erfindung.[38] |
2 | Schwache, verringerte Intensität, oder schwach | Kann als Licht implementiert werden Schriftgewicht wie mutig.[39] |
3 | Kursiv | Nicht weit verbreitet. Manchmal als inverse oder blinzelnd behandelt.[38] |
4 | Unterstreichen | Es gibt Stilverlängerungen für Kitty, VTE, Minty und ITERM2.[40][41] |
5 | Langsam blinzeln | Sets blinken auf weniger als 150 Mal pro Minute |
6 | Schnelles Blinken | Ms-dos ansi.sys, 150+ pro Minute; nicht weit verbreitet |
7 | Umgekehrter Video oder umkehren | Vordergrund- und Hintergrundfarben austauschen; Inkonsistente Emulation[42] |
8 | Verheimlichen oder ausblenden | Nicht weit verbreitet. |
9 | Durchgestrichen, oder schlagen | Charaktere lesbar, aber wie für das Löschen markiert. Nicht in terminal.app unterstützt |
10 | Primäre (Standard-) Schriftart | |
11–19 | Alternative Schriftart | Wählen Sie alternative Schriftart n - 10 |
20 | Fraktur (Gotisch) | Selten unterstützt |
21 | Doppelt unterstrichen; oder: nicht mutig | Double-Underline pro ECMA-48,[5]: 8.3.117 deaktiviert aber stattdessen die mutige Intensität an mehreren Terminals, auch in der Linux Kernel's Konsole vor Version 4.17.[43] |
22 | Normale Intensität | Weder mutig noch ohnmächtig; Farbänderungen, bei denen die Intensität als solche implementiert wird. |
23 | Weder kursiv noch Blackletter | |
24 | Nicht unterstrichen | Weder einzeln noch doppelt unterstrichen |
25 | Nicht blinzeln | Blinzeln ab |
26 | Proportionalabstand | Itu t.61 und T.416, das nicht bekannt ist, dass sie an Terminals verwendet werden |
27 | Nicht umgekehrt | |
28 | Aufdecken | Nicht versteckt |
29 | Nicht gekreuzt | |
30–37 | Vordergrund setzen Farbe | |
38 | Vordergrund setzen Farbe | Die nächsten Argumente sind 5;n oder 2;r;g;b |
39 | Standard -Vordergrundfarbe | Implementierung definiert (gemäß Standard) |
40–47 | Hintergrund einstellen Farbe | |
48 | Hintergrund einstellen Farbe | Die nächsten Argumente sind 5;n oder 2;r;g;b |
49 | Standard -Hintergrundfarbe | Implementierung definiert (gemäß Standard) |
50 | Deaktivieren Sie den proportionalen Abstand | T.61 und T.416 |
51 | Gerahmt | Implementiert als "Emoji -Variationswahl"In Mintty.[44] |
52 | Eingekreist | |
53 | Überlebt | Nicht in terminal.app unterstützt |
54 | Weder gerahmt noch umkreist | |
55 | Nicht überlebt | |
58 | Unterstreichen Farbe | Nicht im Standard; Implementiert in Kitty, VTE, Mintty und ITM22.[40][41] Die nächsten Argumente sind 5;n oder 2;r;g;b . |
59 | Standard -Unterstreichung Farbe | Nicht im Standard; Implementiert in Kitty, VTE, Mintty und ITM22.[40][41] |
60 | Ideogramm unterstreicht oder rechte Seitenlinie | Selten unterstützt |
61 | Ideogramm doppelt unterstreichen, oder Doppelzeile auf der rechten Seite | |
62 | Ideogrammüberlinie oder linke Seitenlinie | |
63 | Ideogramm -Doppelüberlinie, oder Doppelzeile auf der linken Seite | |
64 | Ideogrammspannungsmarkierung | |
65 | Keine Ideogrammattribute | Setzen Sie die Auswirkungen aller zurück 60 –64 |
73 | Superscript | Nur in mintty implementiert[44] |
74 | Index | |
75 | Weder Superscript noch Index | |
90–97 | Setzen Sie helle Vordergrundfarbe | Nicht im Standard; ursprünglich von Aixterm implementiert[29] |
100–107 | Setzen Sie helle Hintergrundfarbe |
Farben
3-Bit und 4-Bit
Die ursprüngliche Spezifikation hatte nur 8 Farben und gab ihnen nur Namen. Die SGR -Parameter 30–37 wählten die Vordergrundfarbe aus, während 40–47 den Hintergrund ausgewählt haben. Nicht wenige Terminals implementierten "fett" (SGR -Code 1) eher als hellere Farbe als eine andere Schriftart, wodurch 8 zusätzliche Vordergrundfarben bereitgestellt werden. Normalerweise konnten Sie diese nicht als Hintergrundfarben bekommen, obwohl manchmal inverse Videos (SGR -Code 7) dies zulassen. Beispiele: Um schwarze Buchstaben auf weißem Hintergrund zu erhalten ESC[30;47m
, um rot zu nutzen ESC[31m
, um leuchtend rot zu nutzen ESC[1;31m
. Um Farben auf ihre Standardeinstellungen zurückzusetzen, verwenden Sie ESC[39;49m
(nicht an einigen Terminals unterstützt) oder alle Attribute mit zurücksetzen ESC[0m
. Spätere Terminals fügten die Möglichkeit hinzu, die "hellen" Farben mit 90–97 und 100–107 direkt anzugeben.
Als die Hardware mit 8-Bit begann Digital-analog-Konverter (DACS) Mehrere Software-Teile haben diesen Namen 24-Bit-Farbnummern zugewiesen. Das folgende Diagramm zeigt die Standardwerte, die für eine gemeinsame Hardware und Software an den DAC gesendet wurden. In den meisten Fällen sind sie konfigurierbar.
Fg | BG | Name | VGA[b] | Windows XP Konsole[c] | Fenster Power Shell[d] | Visual Studio -Code[e] | Windows 10 Konsole[f] | Terminal.app | Kitt | Mirc | Xterm | Ubuntu[g] | Eclipse Terminal |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
30 | 40 | Schwarz | 0,0,0 | 12,12,12 | 0,0,0 | 1,1,1 | 0,0,0 | ||||||
31 | 41 | Rot | 170,0,0 | 128,0,0 | 205, 49, 49 | 197,15,31 | 194,54,33 | 187,0,0 | 127,0,0 | 205,0,0 | 222,56,43 | 205,0,0 | |
32 | 42 | Grün | 0,170,0 | 0,128,0 | 13, 188, 121 | 19.161,14 | 37.188,36 | 0,187,0 | 0,147,0 | 0,205,0 | 57.181,74 | 0,205,0 | |
33 | 43 | Gelb | 170,85,0[h] | 128,128,0 | 238.237.240 | 229, 229, 16 | 193,156,0 | 173,173,39 | 187,187,0 | 252,127,0 | 205,205,0 | 255,199,6 | 205,205,0 |
34 | 44 | Blau | 0,0,170 | 0,0,128 | 36, 114, 200 | 0,55,218 | 73,46,225 | 0,0,187 | 0,0,127 | 0,0,238[45] | 0,111,184 | 0,0,238 | |
35 | 45 | Magenta | 170,0,170 | 128,0,128 | 1,36,86 | 188, 63, 188 | 136,23,152 | 211,56,211 | 187,0,187 | 156,0,156 | 205,0,205 | 118,38,113 | 205,0,205 |
36 | 46 | Cyan | 0,170,170 | 0,128,128 | 17, 168, 205 | 58,150,221 | 51.187.200 | 0,187,187 | 0,147,147 | 0,205,205 | 44.181.233 | 205,0,205 | |
37 | 47 | Weiß | 170,170,170 | 192,192,192 | 229, 229, 229 | 204,204,204 | 203,204,205 | 187,187,187 | 210,210,210 | 229,229,229 | 204,204,204 | 229,229,229 | |
90 | 100 | Helles Schwarz (grau) | 85,85,85 | 128,128,128 | 102, 102, 102 | 118,118,118 | 129.131.131 | 85,85,85 | 127,127,127 | 127,127,127 | 128,128,128 | 0,0,0 | |
91 | 101 | Hellrot | 255,85,85 | 255,0,0 | 241, 76, 76 | 231,72,86 | 252,57,31 | 255,85,85 | 255,0,0 | ||||
92 | 102 | Hellgrün | 85.255,85 | 0,255,0 | 35, 209, 139 | 22,198,12 | 49.231,34 | 85.255,85 | 0,252,0 | 0,255,0 | |||
93 | 103 | Helles Gelb | 255,255,85 | 255,255,0 | 245, 245, 67 | 249,241,165 | 234,236,35 | 255,255,85 | 255,255,0 | ||||
94 | 104 | Hellblau | 85,85,255 | 0,0,255 | 59, 142, 234 | 59,120.255 | 88,51,255 | 85,85,255 | 0,0,252 | 92,92,255[46] | 0,0,255 | 92,92,255 | |
95 | 105 | Helles Magenta | 255,85,255 | 255,0,255 | 214, 112, 214 | 180,0,158 | 249,53,248 | 255,85,255 | 255,0,255 | ||||
96 | 106 | Heller Cyan | 85.255.255 | 0,255,255 | 41, 184, 219 | 97,214,214 | 20.240.240 | 85.255.255 | 0,255,255 | ||||
97 | 107 | Reines Weiß | 255.255.255 | 229, 229, 229 | 242,242,242 | 233,235.235 | 255.255.255 |
8 Bit
Wie 256-Farben Suchtabellen wurden auf Grafikkarten üblich, Escape-Sequenzen wurden hinzugefügt, um aus einem vordefinierten Satz von 256 Farben auszuwählen:
ESC [38; 5; ⟨n⟩m Wählen Sie die Vordergrundfarbe, wobei n eine Zahl aus der Tabelle unten ist [48; 5; ⟨n⟩m Wählen Sie Hintergrundfarbe 0- ) 8-15: Farben mit hoher Intensität (wie in ESC [90–97 m) 16-231: 6 × 6 × 6 Würfel (216 Farben): 16 + 36 × R + 6 × G + B (0 ≤ R, G. , B ≤ 5) 232-255: Graustufen von Schwarz bis Weiß in 24 Schritten
Das Itu's T.416 Informationstechnologie - Open Document Architecture (ODA) und Austauschformat: Charakterinhaltsarchitekturen[47] verwendet ':' als Trennzeichen stattdessen:
ESC [38: 5: ⟨n⟩m Wählen Sie die Vordergrundfarbe, wobei n eine Zahl aus der Tabelle unten ist. [48: 5: ⟨n⟩m Wählen Sie Hintergrundfarbe aus
256-Farben-Modus-Vordergrund: ESC [38; 5; #M Hintergrund: ESC [48; 5; #M | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Standardfarben | Hochintensive Farben | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
216 Farben | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | ||||||||||||||||||||||||
52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | ||||||||||||||||||||||||
88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | ||||||||||||||||||||||||
124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | ||||||||||||||||||||||||
160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | ||||||||||||||||||||||||
196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | ||||||||||||||||||||||||
Graustufenfarben | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Es gab auch eine ähnliche, aber inkompatible 88-Farben-Codierung mit derselben Fluchtsequenz, die in gesehen wurde rxvt
und xterm-88color
. Über das Schema neben den Farbcodes ist nicht viel bekannt. Es verwendet einen 4 × 4 × 4 -Farbwürfel.
24-Bit
Als "echte Farbkarten" Grafikkarten mit 16 bis 24 Bit Farbgebiet gemeinsam wurden, begannen die Anwendungen, 24-Bit-Farben zu unterstützen. Terminal-Emulatoren, die den 24-Bit-Vordergrund und Hintergrundfarben mit Fluchtsequenzen unterstützen, umfassen Xterm.[29] Kdes Konsole,[48][49] und iterm sowie alle libvte -basierten Terminals,[50] einschließlich Gnom -Terminal.
ESC [38; 2; ⟨r⟩; ⟨g⟩;
Die Syntax basiert wahrscheinlich auf der ItuT.416 Offene Dokumentarchitektur (ODA) und Austauschformat: Charakterinhaltsarchitekturen,[47] Dies wurde als ISO/IEC 8613-6 übernommen, wurde aber als kommerzieller Misserfolg. Die ODA -Version ist ausführlicher und daher unvereinbar:
- Die Parameter nach dem '2', d. H. Selbst die r, g, b sind optional.
- Semikolons werden wie oben durch Kolons ersetzt.
- Es gibt eine führende "Colorspace -ID".[29] Die Definition der ColorSpace -ID ist in diesem Dokument nicht enthalten, sodass es leer ist, den nicht spezifizierten Standard darzustellen.
- Zusätzlich zum Wert '2' nach 48, um ein rotgrünes Blauformat (und das oben '5' für eine 0-255 indizierte Farbe anzugeben), gibt es Alternativen von '0' für die Implementierung definiert und '1' für '1' für transparent - keine von beiden haben weitere Parameter; '3' legt Farben mit einem Cyan-Magenta-Gelb-Schema und '4' für eine Cyan-Magenta-Gelb-Schwarze an, wobei letztere die Position unter Verwendung der als "nicht verwendeten" für die schwarze Komponente verwendeten:[47]
ESC [38: 2: ⟨Color-Space-id⟩: ⟨r⟩: ⟨g⟩: ⟨b⟩: ⟨unused⟩: ⟨CS -Toleranz⟩: ⟨Color-Raum assoziiert mit Toleranz: 0 für "Cieluv"; 1 Für "Cielab"⟩ m Wählen mit Toleranz verbunden: 0 für "Cieluv"; 1 Für "Cielab"⟩ M Wählen Sie die RGB -Hintergrundfarbe aus
Die ITU-RGB-Variation wird von Xterm unterstützt, wobei die Farbspace-ID und die Toleranzparameter ignoriert werden. Das einfachere Schema mit Semikolonen findet sich ursprünglich in Konsole.[29]: Kann ich eine Farbe nach seiner Nummer festlegen?
Unix -Umgebungsvariablen in Bezug auf die Farbunterstützung
Bevor TermCap und Terminfo die Unterstützung für Farben angeben, wurde die S-Lang-Bibliothek verwendet $COLORTERM
Um anzugeben, ob ein Terminalemulator überhaupt Farben verwenden kann (später als 256-Farben neu interpretiert)[51] und ob es 24-Bit-Farbe unterstützt.[52][53] Obwohl dieses System schlecht dokumentiert ist, wurde es für Fedora und RHEL weit verbreitet genug, um es als einfacheren und universelleren Erkennungsmechanismus zu betrachten als die jetzt aktualisierte Bibliotheken.[54] Gnom-terminal 3.14 ließ diese Variable jedoch fallen, da ihre Autoren sie für falsch und nicht mehr notwendig hielten.[51]
Einige terminale Emulatoren (urxvt, Konsole) setzen $COLORFGBG
Um das Farbschema des Terminals zu melden (hauptsächlich hell und dunkler Hintergrund). Dieses Verhalten stammt aus S-Lang[53] und wird von Vim verwendet. Auch hier weigert sich Gnom-terminal, dieses Verhalten hinzuzufügen, da die "richtigeren" Xterm OSC 4/10/11 bereits existieren.[55]
OSC (Betriebssystembefehlsbefehlssequenzen)
Die meisten Befehlssequenzen des Betriebssystems wurden von Xterm definiert, aber viele werden auch von anderen terminalen Emulatoren unterstützt. Aus historischen Gründen kann Xterm den Befehl mit beenden BEL
sowie der Standard ST
.[29] Zum Beispiel ermöglicht Xterm, dass der Fenstertitel von festgelegt wird ESC ]0;this is the window title BEL
.
Eine Nicht-Temperaturverlängerung ist der Hyperlink, ESC ]8;;link ST
Ab 2017, verwendet von VTE,[56][diskutieren] ITERM2,[56] und Mintty.[57]
Die Linux -Konsole verwendet ESC ] P n rr gg bb
Um die Palette zu wechseln, die, wenn sie fest in eine Anwendung festgelegt wird, andere Terminals hängen kann.[58] Allerdings anhängen ST
wird von Linux ignoriert und bildet eine ordnungsgemäße, ignorlose Sequenz für andere Terminals.
FS Escape -Sequenzen
Wenn die ESC
folgt von einem Byte im Bereich 0x60—0x7eDie Fluchtsequenz ist vom Typ Fs
. Dieser Typ wird für Kontrollfunktionen verwendet, die individuell mit dem registriert sind ISO-IR Registrierung[59] und folglich auch in Kontexten verfügbar, in denen ein anderer C1 -Steuercodesatz verwendet wird. Insbesondere entsprechen sie einzelne Kontrollfunktionen, die von genehmigt wurden, ISO/IEC JTC 1/SC 2 und standardisiert durch ISO oder einen ISO-anerkannten Körper.[28]: 6.5.1 Einige davon sind in ECMA-35 (ISO 2022 / ANSI X3.41), andere in ECMA-48 (ISO 6429 / ANSI X3.64) angegeben.[28]: 6.5.4 ECMA-48 bezeichnet diese als "unabhängige Kontrollfunktionen".[5]: 5.5
Abbr | Name | Wirkung | |
---|---|---|---|
Esc c c | Ris | Auf den Anfangszustand zurücksetzen | Löst einen vollständigen Zurücksetzen des Terminals in seinen ursprünglichen Zustand aus.[29] Dies kann (falls zutreffend) gehören: Grafikwiedergabe zurücksetzen, die Tabellierung der Tabulierung durch Löschen, zurücksetzen auf die Standardschrift und mehr.[60] |
FP Escape -Sequenzen
Wenn die ESC
folgt von einem Byte im Bereich 0x30—0x3fDie Fluchtsequenz ist vom Typ Fp
, die für bis zu sechzehn private Verwendungsfunktionen auseinandergesetzt wird.[28]: 6.5.3
Abbr | Name | Wirkung | |
---|---|---|---|
Esc 7 | Decsc | Dec Cursor retten | Speichert die Cursorposition, den Codierungsschaltzustand und formatierende Attribute.[61][29] |
Esc 8 | Decrc | Dec Cursor wiederherstellen | Stellt die Cursorposition wieder her, codieren Sie den Schaltzustand und formatieren Attribute aus dem vorherigen DecSC, falls vorhanden, andernfalls werden diese alle auf ihre Standardeinstellungen zurückgesetzt.[61][29] |
NF Escape -Sequenzen
Wenn die ESC
folgt von einem Byte im Bereich 0x20—0x2fDie Fluchtsequenz ist vom Typ nF
. Das Byte wird von einer beliebigen Anzahl zusätzlicher Bytes in diesem Bereich gefolgt, und dann ein Byte im Bereich 0x30-0x7e. Diese Escape -Sequenzen werden durch die niedrigen vier Bits des ersten Byte weiter unterkategorisiert, z. "Typ 2F
"Für Sequenzen, in denen das erste Byte ist 0x22; und darüber, ob sich das letzte Byte im Bereich befindet 0x30—0x3f private Verwendung angeben (z. B. "Typ 2Fp
") oder nicht (z. B." Typ 2Ft
").[28]: 13.2.1
Escape-Sequenzen dieses Typs werden hauptsächlich für ANSI/ISO-Code-Switching-Mechanismen verwendet, wie z. B. die von verwendeten von ISO-2022-JPaußer für Typ 3F
Sequenzen (diejenigen, bei denen das erste Zwischen Byte ist 0x23
), die für individuelle Kontrollfunktionen verwendet werden. Typ 3Ft
Sequenzen sind für zusätzliche ISO-IR-registrierte individuelle Kontrollfunktionen reserviert.[28]: 6.5.2 während Typ 3Fp
Sequenzen sind für Privatnutzungssteuerungsfunktionen verfügbar.[28]: 6.5.3 Im Gegensatz zu Typ Fs
Sequenzen, kein Typ 3Ft
Sequenzen sind derzeit registriert.[59]
Abbr | Name | Wirkung | |
---|---|---|---|
Esc sp f |
|
| Definiert in ECMA-35 (ANSI X3.41 / ISO 2022).[28]: 15.2 Dabei sendet die Funktionstasten ESC + Buchstaben anstelle von 8-Bit-C1-Codes.[29] |
Esc sp g |
|
| Definiert in ECMA-35.[28]: 15.2 Damit die Funktionstasten 8-Bit-C1-Codes senden.[29] |
Abbr | Name | Wirkung | |
---|---|---|---|
Esc # 3 | Decdhl | Dez. Doppelhöhe, obere Hälfte | Bringt die aktuelle Zeile doppelt so hoch. Dieser Code ist für die obere Hälfte.[62] |
Esc # 4 | Decdhl | Dez. Doppelhöhe, untere Hälfte | Bringt die aktuelle Zeile doppelt so hoch. Dieser Code ist für die untere Hälfte.[62] |
Esc # 5 | Decswl | Dec Einbreitenlinie | Dabei wird die aktuelle Zeile gemäß dem Standardverhalten einzelne Breitenzeichen verwendet.[63][29] |
Esc # 6 | Decdwl | Dez. Doppelbreite Linie | Dabei wird die aktuelle Zeile doppelte Breitenzeichen verwendet, wodurch alle Zeichen in der zweiten Hälfte der Zeile verworfen werden.[64][29] |
Beispiele
CSI 2 J
- Dies löscht den Bildschirm und findet auf einigen Geräten den Cursor in Y, x Position 1,1 (obere linke Ecke).
CSI 32 m
- Das macht Text grün. Das Grün kann ein dunkles, stumpfes Grün sein, sodass Sie möglicherweise mutig mit der Sequenz ermöglichen möchten CSI 1 m
das würde es hellgrün machen oder kombiniert als CSI 32 ; 1 m
. Einige Implementierungen verwenden den kühnen Zustand, um den Charakter hell zu machen.
CSI 0 ; 6 8 ; "DIR" ; 13 p
- Dadurch wird der Taste F10 neu zugänglich gemacht, um an den Tastaturpuffer "Dire" zu senden und einzugeben, die in der Befehlszeile der DOS den Inhalt des aktuellen Verzeichnisses anzeigen würden. (Nur ms-dos ansi.sys) Dies wurde manchmal verwendet Ansi Bomben. Dies ist ein privater Nutzungscode (wie im Buchstaben P) eine nicht standardmäßige Erweiterung verwendet, um einen von String bewerteten Parameter einzuschließen. Nach dem Buchstaben des Standards würde die Sequenz in der Buchstabe D enden.
CSI s
- Dies spart die Cursorposition. Unter Verwendung der Sequenz CSI u
wird es in die Position wiederherstellen. Angenommen, die aktuelle Cursorposition ist 7 (y) und 10 (x). Die Sequenz CSI s
speichert diese beiden Zahlen. Jetzt können Sie in eine andere Cursorposition wie 20 (y) und 3 (x) unter Verwendung der Sequenz übergehen CSI 20 ; 3 H
oder CSI 20 ; 3 f
. Wenn Sie nun die Sequenz CSI U verwenden, kehrt die Cursorposition zu 7 (y) und 10 (x) zurück. Einige Terminals erfordern die DEC -Sequenzen ESC 7
/ ESC 8
Stattdessen wird häufiger unterstützt.
In Shell Scripting
ANSI -Fluchtcodes werden häufig in verwendet Unix und Unix-ähnlich Terminals bereitstellen Satzstellung markieren. Zum Beispiel in kompatiblen Terminals wie folgt die folgenden aufführen Befehl Farbcodes-Datei- und Verzeichnisnamen nach Typ.
ls --farbe
Benutzer können Fluchtcodes in ihren Skripten einsetzen, indem sie sie als Teil von einbeziehen Standardausgabe oder Standart Fehler. Zum Beispiel das folgende GNU sed Befehl verschönert die Ausgabe der machen Befehl, indem Zeilen angezeigt werden, die Wörter enthalten, die mit "Warn" in der Innen gehen Umgekehrter Video und Wörter, die mit "Err" in leuchtendem Gelb auf einem dunkelroten Hintergrund beginnen (Brieffall wird ignoriert). Die Darstellungen der Codes werden hervorgehoben.[65]
Machen Sie 2> & 1 | sed -e 's /.* \ bwarn.*/\ x1b [7m&\ x1b [0m/i '-e' s /.* \ berr.*/\ x1b [93; 41m&\ x1b [0m/ich'
Folgende Verprügeln Funktion blinkt das Terminal (indem der Benutzer abwechselnd umgekehrte und normale Videododuscodes gesendet wird), bis der Benutzer eine Taste drückt.[66]
flasher () { while true; do printf
\\ e [? 5H; sleep 0.1; printf
\\ e [? 5l; read -s -n1 -t1 && break; done; }
Dies kann verwendet werden, um einen Programmierer zu alarmieren, wenn ein langwieriger Befehl endet, wie mit make ; flasher
.[67]
printf \\033c
Dadurch wird die Konsole zurückgesetzt, ähnlich dem Befehl reset
auf modernen Linux -Systemen; Es sollte jedoch auch auf älteren Linux-Systemen und auf anderen Unix-Varianten (Nicht-Linux) funktionieren.
In c
#enthalten int hauptsächlich(Leere) { int i, j, n; zum (i = 0; i < 11; i++) { zum (j = 0; j < 10; j++) { n = 10 * i + j; wenn (n > 108) Unterbrechung; printf("\033[ %DM %3D\033[m", n, n); } printf("\n"); } Rückkehr 0; }
Endeingangssequenzen
Wenn Sie spezielle Tasten auf der Tastatur drücken und viele Xterm -CSI-, DCS- oder OSC -Sequenzen ausgeben, werden häufig eine CSI-, DCS- oder OSC -Sequenz erzeugt, die vom Terminal an den Computer gesendet wird, als ob der Benutzer sie tippt.
Beim Eingeben von Eingaben auf einem Terminal -Tastaturen außerhalb des normalen alphanumerischen Tastaturbereichs können Sie als ANSI -Sequenzen an den Host gesendet werden. Für Schlüssel mit einer äquivalenten Ausgangsfunktion wie den Cursorschlüssel spiegeln diese häufig die Ausgangssequenzen wider. Bei den meisten Tastaturen gibt es jedoch keine äquivalente Ausgangssequenz zu verwenden.
Es gibt mehrere Codierungsschemata, und leider mischen die meisten Terminals Sequenzen aus verschiedenen Schemata, sodass die Host -Software mithilfe eines beliebigen Schemas mit Eingabesequenzen umgehen kann. Um die Angelegenheit zu erschweren, haben die VT -Terminals selbst zwei Eingabenschemata, normaler Modus und Anwendungsmodus Das kann von der Anwendung umgeschaltet werden.
(Entwurfsabschnitt)
-> char -> esc -> esc -> Alt-keypress or keycode sequence '[' -> Alt-[ '[' ( ) -> keycode sequence, is a decimal number and defaults to 1 (xterm) '[' ( ) (';' ) '~' -> keycode sequence, and are decimal numbers and default to 1 (vt)
Wenn das terminierende Zeichen '~' ist, muss die erste Zahl vorhanden sein und eine Schlüsselcode -Nummer ist, die zweite Zahl ist ein optionaler Modifikatorwert. Wenn es sich bei dem Kündigungszeichen um einen Buchstaben handelt, ist der Buchstabe der Schlüsselcode -Wert und die optionale Nummer der Modifikatorwert.
Der Modifikator-Wert standardmäßig 1 und nach dem Subtrahieren von 1 ist eine Bitmap der gedrückten Modifikator-Tasten: Meta-Ctrg-Alt-Shift. So ist beispielsweise <SEC> [4; 2 ~ SHIFT-END, <ECN> [20 ~ ist Funktionstaste 9, <SEC> [5c ist Strg-Rechts.
Mit anderen Worten, der Modifikator ist die Summe der folgenden Zahlen:
Taste gedrückt | Nummer | Kommentar |
---|---|---|
1 | Immer hinzugefügt, der Rest ist optional | |
Wechsel | 1 | |
(Links) Alt | 2 | |
Kontrolle | 4 | |
Meta | 8 |
VT -Sequenzen: <SEC> [1 ~ - Home <Clw> [16 ~ - <Clw> [31 ~ - F17 <Clw> [2 ~ - Einfügen <SEC> [17 ~ - F6 <SEC> [32 ~ - F18 <SEC> [3 ~ - Löschen <esc> [18 ~ - F7 <Clw> [33 ~ - F19 <Ct> [4 ~ - Ende <SEC> [19 ~ - F8 <Ct> [34 ~ - F20 <Esc > [5 ~ - pgup <sc> [20 ~ - f9 <sc> [35 ~ - <c> [6 ~ - pgdn <sc> [21 ~ - f10 <sc> [7 ~ - Home <Ct> [22 ~ - <sc> [8 ~ - Ende <SC> [23 ~ - F11 <Ct> [9 ~ - <Clw> [24 ~ - F12 <Ct> [10 ~ - F0 <Ct> [25 ~ - F13 < ESC> [11 ~ - F1 <SC> [26 ~ - F14 <Ct> [12 ~ - F2 <Clw> [27 ~ - <SC> [13 ~ - F3 <SC> [28 ~ - F15 <SC> [ 14 ~ - f4 <c> [29 ~ - F16 <Ct> [15 ~ - F5 <Clw> [30 ~ - Xterm Sequenzen: <SEC> [a - up <SC> [k - <sc> [u - <u - < ESC> [B - Down <SC> [l - - <SEC> [v - <Ct - [c - rechts <sc> [m - <sc> [w - <sc> [d - links <sc> [n - <sc> [x - <sc> [e - - - - <SEC> [O - <SC> [y - <Ctc> [f - Ende <SEC> [1p - F1 <SC> [Z - <SICH> [G - Tastatur 5 <SEC> [1Q - F2 <SCN> [H - Home <SC> [1R - F3 <sc> [i - <sc> [1S - F4 <SC> [j - <sc> [t -
Xterm verfügt über eine umfassende Dokumentationsseite zu den verschiedenen Funktionen für funktionierende und Maus-Eingänge aus den VT-Terminals von DEC und verschiedenen anderen Terminals, die sie emuliert.[29] Thomas Dickey hat im Laufe der Zeit viel Unterstützung hinzugefügt.[68] Er unterhält auch eine Liste der Standardschlüssel, die von anderen Terminal -Emulatoren zum Vergleich verwendet werden.[69]
- Auf der Linux -Konsole erzeugen bestimmte Funktionstasten Sequenzen des Formulars
CSI [Char
. Die CSI -Sequenz sollte auf dem enden[
. - Alte Versionen von Terminator generieren
SS3 1; Modifikatoren Char
Wenn F1 - F4 mit Modifikatoren gedrückt wird. Das fehlerhafte Verhalten wurde kopiert Gnom -Terminal. - Xterm Antworten
CSI -Reihe; Spalte r
wenn nach Cursorposition gefragt undCSI 1; Modifikatoren r
Wenn die F3 -Taste mit Modifikatoren gedrückt wird, die im Fall von kollidieren die Zeile == 1. Dies kann durch die Verwendung der verwendet werden ? Privatmodifikator alsCSI? 6 n
, was sich in der Antwort als reflektiert wirdCSI? die Zeile ; Spalte r
. - Viele Terminals bereiten sich vor
ESC
zu jedem Charakter, der mit dem Alt -Taste getippt wird. Dies schafft Unklarheit für Großbuchstaben und Symbole@[\]^_
, was C1 -Codes bilden würde.[Klarstellung erforderlich] - Konsole erzeugt
SS3 -Modifikatoren Char
Wenn F1 - F4 mit Modifikatoren gedrückt wird.[Klarstellung erforderlich]
Siehe auch
- Ansi Art
- Steuerzeichen
- Advanced Video Attribut Terminal Assembler und Freizeit (BENUTZERBILD)
- ISO/IEC JTC 1/SC 2
- C0- und C1 -Kontrollcodes
Anmerkungen
- ^ Die Bildschirmanzeige kann ersetzt werden, indem der gesamte Inhalt des neuen Bildschirms unten gezeichnet wird und den vorherigen Bildschirm ausreichend nach oben scrollt, um den gesamten alten Text zu löschen. Der Benutzer würde das Scrollen und die Hardware sehen Mauszeiger würde ganz unten bleiben. Einige früh Stapeldateien Erreichte rudimentäre "Vollbild" zeigt auf diese Weise an.
- ^ Typische Farben, die beim Booten von PCs verwendet werden und sie im Textmodus lassen, in dem eine 16-Eingang-Farbtabelle verwendet wurde. Die Farben unterscheiden sich in den EGA/VGA -Grafikmodi.
- ^ In Windows XP über Windows 8.1 gesehen
- ^ Bis Powershell 6
- ^ Debug -Konsole, "Dark+" -Thema
- ^ Campbell -Thema, verwendet als Windows 10 Version 1709. Auch von Powershell 6.
- ^ Für virtuelle Terminals von /etc /vtrgb.
- ^ Auf Terminals basierend auf CGA Kompatible Hardware wie ANSI.Sys, die auf DOS ausgeführt werden, wird diese normale Intensitätsfarbe als orange gerendert. CGA RGBI Monitore enthielten Hardware, um die dunkelgelbe Farbe in eine orange/braune Farbe zu modifizieren, indem die grüne Komponente reduziert wurde. Sieh dir das an Ansi Art Archiviert 25. Juli 2011 bei der Wayback -Maschine als Beispiel.
Verweise
- ^ a b "Standard ECMA-48: Kontrollfunktionen für E/A-Geräte für Zeichen imbetreten" (PDF) (Zweite Ausgabe). ECMA International. August 1979. Kurze Geschichte.
- ^ Williams, Paul (2006). "Digital -Video -Terminals". Vt100.net. Abgerufen 17. August 2011.
- ^ Heathkit Company (1979). "Heathkit Catalog 1979". Heathkit Company. Archiviert von das Original am 13. Januar 2012. Abgerufen 4. November 2011.
- ^ "Abgezogene FIPs, die von der Nummer aufgeführt sind" (PDF). Nationales Institut für Standards und Technologie. 15. Dezember 2016. Abgerufen 2. Januar 2022.
- ^ a b c d e f g h i j k l m n o p "Standard ECMA-48: Kontrollfunktionen für codierte Zeichensätze" (PDF) (Fünfter Aufl.). ECMA International. Juni 1991.
- ^ Mits (August 1975). "Das kostengünstigste grundlegende Sprachsystem der Welt". Beliebte Elektronik. Vol. 8, nein. 2. Ziff Davis. p. 1.
- ^ Hogan, Thom; Iannamico, Mike (1981). Osborne 1 Benutzerhandbuch. Osborne Computer Corporation. p. 350.
- ^ Der KayPro -Benutzerhandbuch. Kaypro Corporation. 1984. p. 56.
- ^ Systemprogrammierhandbuch für das TRS-80 Modell 4/4p unter Verwendung von Montezuma Micro CP/M 2.2 (PDF). Montezuma Micro. 1985. p. 11.
- ^ "CP/M 2.2 Handbuch". Xerox 820 Informationsprozessor. Xerox. 1981. p. 7.
- ^ Gilmour, Jean (1985). Die Benutzerhandbuch für PCW8256 und PCW8512. Amsoft. S. 56, 139.
- ^ "Anhang - Ansi Escape -Sequenzen". Z-89 Computersystem Betriebshandbücher. Zenith -Datensysteme. 1981. p. 112.
- ^ Softcard. Vol. 1. Microsoft. 1980. S. 18, 31, 32, 42.
- ^ Softcard - Software und Hardwaredetails (PDF). Microsoft. 1980. p. fünfzehn.
- ^ Mefford, Michael (7. Februar 1989). "Ansi.com: Laden Sie es hier herunter". PC Magazine. Archiviert von das Original am 14. Oktober 2010. Abgerufen 10. August 2011.
- ^ Kegel, Dan; Auer, Eric (28. Februar 1999). "Nansi und Nnansi-ANSI-Treiber für MS-DOS". Dan Kegels Web Hostel. Abgerufen 10. August 2011.
- ^ "PTS-DOS 2000 Probenutzerhandbuch" (PDF). Buggingen, Deutschland: Paragon Technology GmbH. 1999. Archiviert (PDF) vom Original am 12. Mai 2018. Abgerufen 12. Mai 2018.
- ^ Günther, Jens; Ernst, Tobias (25. April 2004) [1996]. Ellsässer, Wolfgang (Hrsg.). "Inoffizielle Deutschsprachige PTS-DOS-FAQ (PTS/FAQD)" [Inoffizielle deutsche PTS-DOS-FAQ] (auf Deutsch). Abgerufen 2. Oktober 2018.
- ^ CCI Multiuser DOS 7.22 Gold Online -Dokumentation. Concurrent Controls, Inc. (CCI). 10. Februar 1997. Help.HLP.
- ^ Hood, Jason (2005). "Verarbeiten Sie ANSI Escape -Sequenzen für Windows Console -Programme". Jason Hoods Startseite. Abgerufen 9. Mai 2013.
- ^ "Colorama · pypi". Python -Paketindex. Abgerufen 27. Februar 2022.
- ^ bitstrasiert. "Virtuelle Terminalsequenzen der Konsole - Windows -Konsole". docs.microsoft.com. Abgerufen 30. Mai 2018.
- ^ "Powershell Hilfe: über Sonderfiguren".
- ^ "Windows Console und Terminal -Ökosystem -Roadmap". Microsoft. 2018. Abgerufen 13. März 2021.
Dies beinhaltet die Pensionierung der Benutzeroberfläche der klassischen Konsolen -Host -Benutzer von ihrer Standardposition zugunsten von Windows Terminal-, Conpty- und Virtual Terminal Sequenzen.
- ^ "Drucker- und Terminal -Fluchtcodes". Prägnanter Atari St 68000 Programmierhandbuch. Archiviert Aus dem Original am 20. September 2016. Abgerufen 22. Juni 2020.
- ^ "Amiga -Drucker -Befehlsdefinitionen". Kommodore. Abgerufen 10. Juli 2013.
- ^ "Escape Sequenz - OpenVMS Wiki".
- ^ a b c d e f g h i j k l "Standard ECMA-35: Charaktercode-Struktur und Erweiterungstechniken" (PDF) (Sechstes Ausgabe). ECMA International. 1994.
- ^ a b c d e f g h i j k l m n o p Moy, Edward; Gildea, Stephen; Dickey, Thomas (2019). "Xterm Control Sequenzen (CTLSEQs)". Unsichtbare Insel.
- ^ Frank da Cruz; Christine Gianone (1997). Verwenden von C-Kermit. Digitale Presse. p. 278. ISBN 978-1-55558-164-0.
- ^ "SCOSC - Save -Strom -Cursorposition". VT510 Video Terminal Programmer Information. Dez.
- ^ "Decslrm - linke und rechte Ränder einsetzen". VT510 Video Terminal Programmer Information. Dez.
- ^ "Scorc - Restore Saved Cursor Position". VT510 Video Terminal Programmer Information. Dez.
- ^ Moy, Edward; Gildea, Stephen; Dickey, Thomas. "Xterm -Kontrollsequenzen". Funktionen mit CSI, geordnet von den endgültigen Zeichen (en). Abgerufen 4. Februar 2022.
- ^ Conrad Irwin (April 2013). "Klammermodus". Cirw.in.
- ^ Moy, Edward; Gildea, Stephen; Dickey, Thomas. "Xterm -Kontrollsequenzen". Klammermodus. Abgerufen 4. Februar 2022.
- ^ "console_codes (4) - Linux -Handbuch" Seite ". Man7.org. Abgerufen 23. März 2018.
- ^ a b "Bildschirm (HW)". SCO OpenServer Release 5.0.7 Handbuch. 11. Februar 2003.
- ^ "Bug 791596 - Gedanken über Ohnmacht (SGR 2)". bugzilla.gnome.org.
- ^ a b c "Curly und farbige Untersteine (#6382) · Ausgaben · George Nachman / ITERM2". Gitlab.
- ^ a b c "Erweiterungen zum Xterm -Protokoll". Kitty -Dokumentation. Abgerufen 1. Juli 2020.
- ^ "Konsole-Termio-Realizer". jdebp.uk.
- ^ "console_codes (4)". Handbuch des Linux -Programmierers. 5.10. Linux Mannseiten Projekt.
- ^ a b "Mintty/Mintty: Textattribute und Rendering". GitHub.
- ^ Geändert von 0,0,205 im Juli 2004 "Patch #192 - 2004/7/12 - xfree86 4.4.99.9".
- ^ Geändert von 0,0,255 im Juli 2004 "Patch #192 - 2004/7/12 - xfree86 4.4.99.9".
- ^ a b c "T.416 Informationstechnologie - Open Document Architecture (ODA) und Interchange Format: Charakterinhaltearchitekturen".
- ^ "Color-Spaces.pl (eine Kopie von 256Colors2.PL von Xterm datiert 1999-07-11)". Kde. 6. Dezember 2006.[Permanent Dead Link]
- ^ "Readme.MoreColors". Kde. 22. April 2010.
- ^ "Libvte's Fehlerbericht und Patches: Unterstützung für 16 Millionen Farben". Gnome Bugzilla. 4. April 2014. Abgerufen 5. Juni 2016.
- ^ a b "Bug #1429584" Gnome-terminal setzt $ colorterm von 3.14 nicht auf ... ": Bugs: Gnome-terminales Paket: Ubuntu". Launchpad.
$ Colorterm sollte nie notwendig sein. [...] Die Semantik von Colorterm hat nichts mit 256 Farbunterstützung an sich zu tun. Es war ein Zufall, dass alle Terminals, die diese Variable festlegten, auch 256 Farben unterstützten.
- ^ "Midnight Commander: lib/tty/color-Slang.c". Fossies.
- ^ a b Dickey, Thomas E. (2017). "Ncurses-Kommentare zu S-Lang". unsichtbar-island.net.
- ^ "Funktionen/256 Farbterminals - Fedora -Projekt Wiki". Fedora -Projekt. Archiviert Aus dem Original am 4. Oktober 2012.
- ^ "Bug 733423 - Bitte setzen Sie die Variable der ColorFGBG -Umgebungsvariable für die automatische Farberkennung". bugzilla.gnome.org.
- ^ a b Koklinger, Egmont. "Hyperlinks (a.k.a. html-ähnliche Anker) in terminalen Emulatoren". Github GISTs.
- ^ "Mintty/Mintty: Kontrollsequenzen". GitHub.
- ^ "console_codes - Linux Console Escape- und Steuersequenzen". Handbuch des Linux -Programmierers.
- ^ a b ISO-IR: ISO/IEC Internationales Register codierter Zeichensätze, die mit Escape-Sequenzen verwendet werden sollen (PDF). Itcj/Ipsj.
- ^ ISO/TC 97/SC 2 (30. Dezember 1976). Auf den Anfangszustand zurücksetzen (RIS) (PDF). Itcj/Ipsj. ISO-IR-35.
- ^ a b Digital. "Decsc - Save Cursor". VT510 Video Terminal Programmer Information.
- ^ a b ANSI Escape Sequenzen - VT100 / VT52, archiviert von das Original am 27. Februar 2009, abgerufen 21. August 2020
- ^ Digital. "Decswl-Single-Width, Single-Hirly-Linie". VT510 Video Terminal Programmer Information.
- ^ Digital. "Decdwl-Double-Width, Single-Height-Linie". VT510 Video Terminal Programmer Information.
- ^ "Kapitel 9. Systemtipps". Debian.org.
- ^ "VT100.net: Digital VT100 Benutzerhandbuch". Abgerufen 19. Januar 2015.
- ^ "Bash - wie man eine Benachrichtigung bekommt, wenn meine Befehle erledigt sind - fragen Sie anders". Abgerufen 19. Januar 2015.
- ^ Dickey, Thomas. "Xterm FAQ: Vergleich von Versionen durch Zählen von Kontrollen". Unsichtbare Insel. Abgerufen 25. Januar 2020.
- ^ Dickey, Thomas (2016). "Tabelle der Funktionskeys für Xterm und andere terminale Emulatoren". Unsichtbare Insel. Abgerufen 25. Januar 2020.
Externe Links
- Standard ECMA-48, Steuerungsfunktionen für codierte Zeichensätze. (5. Ausgabe, Juni 1991), European Computer Manufacturers Association, Genf 1991 (Auch von ISO und IEC als Standard ISO/IEC 6429)
- VT100.NET DEC -Dokumente
- "ANSI.SYS - ANSI Terminal Emulation Escape -Sequenzen". Archiviert von das Original am 6. Februar 2006. Abgerufen 22. Februar 2007.
- Xterm / Escape -Sequenzen
- Aixterm / Escape -Sequenzen
- Eine Sammlung von Fluchtsequenzen für Terminals, die mit ECMA-48 und Freunden vage entsprechen.
- "Ansi Escape -Sequenzen". Archiviert von das Original am 25. Mai 2011.
- Itu-t rec. T.416 (03/93) Informationstechnologie - Open Document Architecture (ODA) und Austauschformat: Charakterinhaltsarchitekturen