ANSI escape kódok
Az ANSI escape kód a terminálnak szóló karakterek rövid sorozata, amely a karakterek megjelenítésétől eltérő tevékenységre utasítja a terminált — szövegeket pirosra színezni, a kurzort két sorral feljebb mozgatni, képernyőt törlni. A terminál felfogja a sorozatot és végrehajtja, ezért az ilyen kódokkal teli naplófile csacskaságnak tűnik egy szerkesztőben.
Az alábbi minden kód escape bájttal kezdődik és — egy kivétellel — nyitó zárójellel. A parameter oszlop a zárójelként és végső betűként közötti részt adja meg, amely az a rész, amit a kódban összeállít; az első oszlop a teljes sorozatot mutatja, ahogy azt egy shellben írná.
A támogatás terminálonként eltérő, ezt az oldal megjegyzi, ahol fontos. A nyolc alapszín és félkövér mindenhol működik; a villogás, kettős aláhúzás és igazi szín nem.
A sorozat anatómiája
6Ezen az oldalon minden kód azonos szerkezetű: escape bájt, nyitó zárójelként, paraméterek és egy betű, amely meghatározza, mit kell tenni velük.
| Sorozat | Paraméter | Hatás |
|---|---|---|
| \e | 0x1B | Az escape bájt, amely minden sorozatot indítEgy shellben \e-ként írva, C-ben \033-as, legtöbb nyelvben \x1b és JSON-ban, Java-ban \u001b. |
| \e[ | CSI | Control Sequence Introducer — paraméteres parancsot nyit meg |
| \e[<n>m | m | Select Graphic Rendition: minden szín és stílus m-nel ér véget |
| \e[1;4;31m | 1;4;31 | Több paraméter egyszerre, pontosvesszővel elválasztvaFélkövér, aláhúzott és piros egy sorozatban — rövidebb, mint három különálló, és azonos hatással. |
| \e[0m | 0 | Visszaállítja az összes attribútumot a terminál alapértelmezéséreAdja ki ezt a színes kimenet végén. Az azt kihagyó program a felhasználónak színes promptot hagy. |
| \e]8;;URL\e\\text\e]8;;\e\\ | OSC 8 | Kattintható hiperhivatkozás a támogató terminálok eseténOSC sorozat, nem CSI, és ESC \ végződéssel, nem betűvel. |
Szövegattribútumok
14Az első öt alatt támogatott; villogás szinte sehol nem működik, és néhány terminál homályos és dőlt szöveget azonosan jeleníti meg.
| Sorozat | Paraméter | Hatás |
|---|---|---|
| \e[1m | 1 | Félkövér vagy fényes |
| \e[2m | 2 | Homályos |
| \e[3m | 3 | Dőlt |
| \e[4m | 4 | Aláhúzás |
| \e[5m | 5 | VillogásNagyrészt figyelmen kívül hagyjuk; a modern terminálok egyszerű szövegként jeleníti meg. |
| \e[7m | 7 | Fordított: felcseréli az előteret és a hátteret |
| \e[8m | 8 | Rejtett: szöveg létezik, de nem rajzolódik meg |
| \e[9m | 9 | Áthúzás |
| \e[21m | 21 | Kettős aláhúzásNéhány terminál a 21-et „félkövér kikapcsolása”-ként olvassa. |
| \e[22m | 22 | Normál intenzitás: feloldja félkövér és homályos |
| \e[23m | 23 | Dőlt kikapcsolása |
| \e[24m | 24 | Aláhúzás kikapcsolása |
| \e[27m | 27 | Fordított kikapcsolása |
| \e[29m | 29 | Áthúzás kikapcsolása |
Szövegszín
17A nyolc standard szín és a fényes párjaik. Az olvasó valójában a terminál témájának értelmezését látja — a „piros” a paletta egy pozíciója, nem egy hex érték.
| Sorozat | Paraméter | Hatás |
|---|---|---|
| \e[30m | 30 | Fekete szöveg |
| \e[31m | 31 | Piros szöveg |
| \e[32m | 32 | Zöld szöveg |
| \e[33m | 33 | Sárga szöveg |
| \e[34m | 34 | Kék szöveg |
| \e[35m | 35 | Bíborpiros szöveg |
| \e[36m | 36 | Cián szöveg |
| \e[37m | 37 | Fehér szöveg |
| \e[39m | 39 | Vissza az alapértelmezett szövegszínre |
| \e[90m | 90 | Fényes fekete szöveg |
| \e[91m | 91 | Fényes piros szöveg |
| \e[92m | 92 | Fényes zöld szöveg |
| \e[93m | 93 | Fényes sárga szöveg |
| \e[94m | 94 | Fényes kék szöveg |
| \e[95m | 95 | Fényes bíborpiros szöveg |
| \e[96m | 96 | Fényes cián szöveg |
| \e[97m | 97 | Fényes fehér szöveg |
Háttérszín
17Ugyanaz a paleta tízzel eltolva. A háttér kód beállítja a szöveg mögötti cellát és addig érvényes, amíg vissza nem állítják.
| Sorozat | Paraméter | Hatás |
|---|---|---|
| \e[40m | 40 | Fekete háttér |
| \e[41m | 41 | Piros háttér |
| \e[42m | 42 | Zöld háttér |
| \e[43m | 43 | Sárga háttér |
| \e[44m | 44 | Kék háttér |
| \e[45m | 45 | Bíborpiros háttér |
| \e[46m | 46 | Cián háttér |
| \e[47m | 47 | Fehér háttér |
| \e[49m | 49 | Vissza az alapértelmezett hátérre |
| \e[100m | 100 | Fényes fekete háttér |
| \e[101m | 101 | Fényes piros háttér |
| \e[102m | 102 | Fényes zöld háttér |
| \e[103m | 103 | Fényes sárga háttér |
| \e[104m | 104 | Fényes kék háttér |
| \e[105m | 105 | Fényes bíborpiros háttér |
| \e[106m | 106 | Fényes cián háttér |
| \e[107m | 107 | Fényes fehér háttér |
256 szín és igazi szín
4Az SGR mechanizmus két kiterjesztése. Mindkettő széles, de nem univerzálisan támogatott; egy terminál, amely nem érti, általában figyelmen kívül hagyja a sorozatot ahelyett, hogy kinyomtatná.
| Sorozat | Paraméter | Hatás |
|---|---|---|
| \e[38;5;<n>m | 38;5;n | Szöveg a paletta n szín, 0–2550–15 a fenti tizenhat, 16–231 egy 6×6×6 szín kocka, 232–255 egy szürke skála. |
| \e[48;5;<n>m | 48;5;n | Háttér a paletta n szín, 0–255 |
| \e[38;2;<r>;<g>;<b>m | 38;2;r;g;b | Szöveg egy pontos 24 bites szín |
| \e[48;2;<r>;<g>;<b>m | 48;2;r;g;b | Háttér egy pontos 24 bites szín |
Kurzormozgás
11A mozgatások nem görgetnek és nem törik le: egy, a képernyő teteje felé már lévő kurzor felfelé haladó kérést figyelmen kívül hagy.
| Sorozat | Paraméter | Hatás |
|---|---|---|
| \e[<n>A | A | Fel n sorral |
| \e[<n>B | B | Le n sorral |
| \e[<n>C | C | Jobbra n oszloppal |
| \e[<n>D | D | Balra n oszloppal |
| \e[<n>E | E | Le n sorral, a sor elejére |
| \e[<n>F | F | Fel n sorral, a sor elejére |
| \e[<n>G | G | Az aktuális sor n oszlopára |
| \e[<row>;<col>H | H | Abszolút sor és oszlop, 1-től számítva |
| \e[s | s | Megjegyzi a kurzor pozícióját |
| \e[u | u | Visszatér a megjegyzett pozícióra |
| \e[6n | 6n | Megkérdezi a terminált, hol van a kurzorA terminál a standard bemenetre válaszol \e[<sor>;<oszlop>R-ként — az egyetlen sorozat itt, amely választ ad. |
Törlés
7A törlés szóközt ír az aktuális háttérszínnel; nem mozgatja a kurzort.
| Sorozat | Paraméter | Hatás |
|---|---|---|
| \e[0J | 0J | Törlés a kurzortól a képernyő végéig |
| \e[1J | 1J | Törlés a képernyő elejétől a kurzorig |
| \e[2J | 2J | A teljes képernyő törléseA kurzor marad ahol volt — ezért szokásosan a \e[H-val kombinálva. |
| \e[3J | 3J | A görgetési történet törlésével is |
| \e[0K | 0K | Törlés a kurzortól a sor végéig |
| \e[1K | 1K | Törlés a sor elejétől a kurzorig |
| \e[2K | 2K | A teljes sor törlése\r\e[2K a szokásos módja egy haladó sor újrarajzolásának a helyén. |
Terminál módok
8Privát módok, kérdőjellel jelölve. Megváltoztatják a terminál viselkedését, nem egy szöveges darab kinézetét, és mindegyiket vissza kell állítani a program kilépése előtt.
| Sorozat | Paraméter | Hatás |
|---|---|---|
| \e[?25l | ?25l | Rejtse el a kurzort |
| \e[?25h | ?25h | Mutassa meg a kurzort |
| \e[?1049h | ?1049h | Váltás az alternatív képernyőreEzt a teljes képernyős program használja, hogy a héj görgetési előzménye alatt maradjon. |
| \e[?1049l | ?1049l | Váltás vissza a fő képernyőre |
| \e[?7h | ?7h | Hosszú sorok becsomagolása a jobb szélénél |
| \e[?7l | ?7l | Hagyja hosszú sorokat futni a jobb szélén |
| \e[?2004h | ?2004h | Bekacsolt beillesztés bekapcsolásaA beillesztett szöveg \e[200~ és \e[201~ közül érkezik, így a héj meg tudja különböztetni a gépelést az illesztésektől. |
| \e[?2004l | ?2004l | Bekacsolt beillesztés kikapcsolása |