I många terminaler och emulatorer kan man ändra
färg och flytta markören genom att skicka
escape-sekvenser till dem. Den mest spridda standarden för
dessa sekvenser är definierad av ANSI och den följs
bland annat av VT100 som är en av de vanligast
förekommande terminalerna.
Beroende på hur man kommunicerar med terminalen finns det
naturligtvis olika sätt att skicka dessa koder till den, men
om vi antar att vi vill göra det från ett program
så skickas escape-sekvenserna på samma sätt som
man skriver ut vanlig text till terminalen, dvs med till exempel
printf (C/C++), System.out.println, (Java) eller echo (olika
script). På kodsidan finns exempel
på hur escape-koderna kan användas i olika program.
Namn | Esc-sekvens | Beskrivning |
Cursor Up | <esc>[{N}A | Flytta markören uppåt N rader, stanna vid terminalens kant. N = 1 om inget annat anges. |
Cursor Down | <esc>[{N}B | Flytta markören nedåt N rader, stanna vid terminalens kant. N = 1 om inget annat anges. |
Cursor Right | <esc>[{N}C | Flytta markören åt höger N kolumner, stanna vid terminalens kant. N = 1 om inget annat anges. |
Cursor Left | <esc>[{N}D | Flytta markören åt vänster N kolumner, stanna vid terminalens kant. N = 1 om inget annat anges. |
Cursor Home | <esc>[{ROW};{COLUMN}H | Flytta markören till rad {ROW} och kolumn {COLUMN}. Om rad och kolumn inte anges (<esc>[H ), kommer markören att flyttas till terminalens övre vänstra hörn. |
Move Cursor | <esc>[{ROW}{COLUMN}f | Samma som Cursor Home. |
Next Line | <esc>E | Flytta markören till början av nästa rad. Rulla texten uppåt om markören är på nedersta raden. |
Index | <esc>D | Flytta markören nedåt en rad. Rulla texten uppåt om markören är på nedersta raden. |
Reverse Index | <esc>M | Flytta markören uppåt en rad. Rulla texten nedåt om markören är på översta raden. |
Save Cursor | <esc>[s | Spara nuvarande markörposition. |
Unsave Cursor | <esc>[u | Återställ markörpositionen till senast sparade. |
Query Cursor Position | <esc>[6n | Begär 'Report Cursor Position' från terminalen. |
Report Cursor Position | <esc>[{ROW};{COLUMN}R | Genereras av terminalen som svar på 'Query Cursor Position' och innehåller nuvarande markörposition. |
Save Cursor + Attrs | <esc>7 | Spara nuvarande markörposition och attribut. |
Restore Cursor + Attrs | <esc>8 | Återställ markörposition och attribut till senast sparade. |
Scroll Screen | <esc>[r | Slå på textrullning för hela terminalen. |
Scroll Screen | <esc>[{start};{end}r | Slå på textrullning från rad {start} till rad {end}. |
Scroll Down | <esc>D | Rulla texten nedåt en rad. |
Scroll Up | <esc>M | Rulla texten uppåt en rad. |
Set smooth scrolling | <esc>[?4h | Mjuk textrullning. |
Set jump scrolling | <esc>[?4l | Hoppig textrullning. |
Erase End of Line | <esc>[K | Radera texten från markörpositionen till slutet av raden. |
Erase End of Line | <esc>[0K | Radera texten från markörpositionen till slutet av raden. |
Erase Start of Line | <esc>[1K | Radera texten från markörpositionen till början av raden. |
Erase Line | <esc>[2K | Radera hela raden som markören står på. |
Erase Down | <esc>[J | Radera alla rader från nuvarande till botten av terminalen. |
Erase Down | <esc>[0J | Radera alla rader från nuvarande till botten av terminalen. |
Erase Up | <esc>[1J | Radera alla rader från nuvarande till toppen av terminalen. |
Erase Screen | <esc>[2J | Radera hela terminalen med bibehållen bakgrundsfärg och flytta markören till övre vänstra hörnet. |
Set Attribute Mode | <esc>[{attr 1};...;{attr n}m | Sätt visuella attribut enligt tabellen nedan
| | 0 | Återställ alla attribut | 1 | Ljus | 2 | Skuggad | 4 | Understruken | 5 | Blinkande | 7 | Spegelvänd | 8 | Dold | | Textfärg | 30 | Svart | 31 | Röd | 32 | Grön | 33 | Gul | 34 | Blå | 35 | Lila | 36 | Cyan | 37 | Vit | | Bakgrunsfärg | 40 | Svart | 41 | Röd | 42 | Grön | 43 | Gul | 44 | Blå | 45 | Lila | 46 | Cyan | 47 | Vit | |
|
Font Set G0 | <esc>( | Använd standardtypsnitt. |
Font Set G1 | <esc>) | Använd alternativt typsnitt (fetstil/kursiv etc). |
Double-height top half | <esc>#3 | Ändra aktuell rad till dubbel höjd, övre halvan. |
Double-height bottom half | <esc>#4 | Ändra aktuell rad till dubbel höjd, nedre halvan. |
Normal size | <esc>#5 | Ändra aktuell rad till normal bredd och höjd. |
Double-width | <esc>#6 | Ändra aktuell rad till dubbel bredd. |
Leds | <esc>[1;...;4q | Tänd en eller fler programmerbara lysdioder (1-4). |
Leds | <esc>[q | Släck alla programmerbara lysdioder. |
Set Tab | <esc>H | Sätt en tab på nuvarande kolumn. |
Clear Current Tab | <esc>[g | Ta bort tab från nuvarande kolumn. |
Clear Current Tab | <esc>[0g | Ta bort tab från nuvarande kolumn. |
Clear All Tabs | <esc>[3g | Ta bort alla tabbar. |
Enable Line Wrap | <esc>[7h | Slå på automatisk radbrytning. |
Disable Line Wrap | <esc>[7l | Slå av automatisk radbrytning. |
Reverse video | <esc>[?5h | Invertera färgerna i terminalen. |
Normal video | <esc>[?5l | Återställ färgerna i terminalen. |
Set Key Definition | <esc>[{key};"{string}"p | Associera en text med en tangent ({key} = tangentens decimala ASCII-värde). |
Reset Device | <esc>c | Återställ alla terminalinställningar till standardvärden. |
E Test | <esc>#8 | Fyll terminalen med bokstaven E. |
Power up Test | <esc>[2;1y | Utför startuptest (ROM, RAM, NVR, tangentbord och AVO). |
Data loop-back Test | <esc>[2;2y | Utför data loop-back-test. Kabel krävs. |
EIA modem control | <esc>[2;4y | Kabel krävs. |
Repeat test | <esc>[2;8y | Upprepa testet tills dess att det misslyckas. |