mirror of
https://github.com/dylanaraps/pure-bash-bible.git
synced 2025-01-29 09:47:33 +01:00
63 lines
2.3 KiB
Plaintext
63 lines
2.3 KiB
Plaintext
# ESCAPE SEQUENCES
|
|
|
|
Contrary to popular belief, there is no issue in utilizing raw escape sequences. Using `tput` abstracts the same ANSI sequences as if printed manually. Worse still, `tput` is not actually portable. There are a number of `tput` variants each with different commands and syntaxes (*try `tput setaf 3` on a FreeBSD system*). Raw sequences are fine.
|
|
|
|
## Text Colors
|
|
|
|
**NOTE:** Sequences requiring RGB values only work in True-Color Terminal Emulators.
|
|
|
|
| Sequence | What does it do? | Value |
|
|
| -------- | ---------------- | ----- |
|
|
| `\e[38;5;<NUM>m` | Set text foreground color. | `0-255`
|
|
| `\e[48;5;<NUM>m` | Set text background color. | `0-255`
|
|
| `\e[38;2;<R>;<G>;<B>m` | Set text foreground color to RGB color. | `R`, `G`, `B`
|
|
| `\e[48;2;<R>;<G>;<B>m` | Set text background color to RGB color. | `R`, `G`, `B`
|
|
|
|
## Text Attributes
|
|
|
|
**NOTE:** Prepend 2 to any code below to turn it's effect off
|
|
(examples: 21=bold text off, 22=faint text off, 23=italic text off).
|
|
|
|
| Sequence | What does it do? |
|
|
| -------- | ---------------- |
|
|
| `\e[m` | Reset text formatting and colors. |
|
|
| `\e[1m` | Bold text. |
|
|
| `\e[2m` | Faint text. |
|
|
| `\e[3m` | Italic text. |
|
|
| `\e[4m` | Underline text. |
|
|
| `\e[5m` | Blinking text. |
|
|
| `\e[7m` | Highlighted text. |
|
|
| `\e[8m` | Hidden text. |
|
|
| `\e[9m` | Strike-through text. |
|
|
|
|
|
|
## Cursor Movement
|
|
|
|
| Sequence | What does it do? | Value |
|
|
| -------- | ---------------- | ----- |
|
|
| `\e[<LINE>;<COLUMN>H` | Move cursor to absolute position. | `line`, `column`
|
|
| `\e[H` | Move cursor to home position (`0,0`). |
|
|
| `\e[<NUM>A` | Move cursor up N lines. | `num`
|
|
| `\e[<NUM>B` | Move cursor down N lines. | `num`
|
|
| `\e[<NUM>C` | Move cursor right N columns. | `num`
|
|
| `\e[<NUM>D` | Move cursor left N columns. | `num`
|
|
| `\e[s` | Save cursor position. |
|
|
| `\e[u` | Restore cursor position. |
|
|
|
|
|
|
## Erasing Text
|
|
|
|
| Sequence | What does it do? |
|
|
| -------- | ---------------- |
|
|
| `\e[K` | Erase from cursor position to end of line.
|
|
| `\e[1K` | Erase from cursor position to start of line.
|
|
| `\e[2K` | Erase the entire current line.
|
|
| `\e[J` | Erase from the current line to the bottom of the screen.
|
|
| `\e[1J` | Erase from the current line to the top of the screen.
|
|
| `\e[2J` | Clear the screen.
|
|
| `\e[2J\e[H` | Clear the screen and move cursor to `0,0`.
|
|
|
|
|
|
<!-- CHAPTER END -->
|
|
|