光标前移 (CUF)
将光标向右移动 `n` 个单元格。
- 0x1B
- ESC
- 0x5B
- [
- ____
- n
- 0x43
- C
参数 n 必须是大于等于 1 的整数。如果 n 小于
等于 0,则将 n 调整为 1。如果省略 n,则 n 默认为 1。
此序列总是取消待定换行状态。
光标可以移动到的最右边界由当前光标列和 右边距 决定。如果光标位于右边距右侧, 则在序列执行期间将右边距修改为屏幕的最右列。光标可位于的最右列就是右边距。
将光标向右移动 n 个单元格,直至并包括最右边界。
此序列永不换行或修改单元格内容。此序列不受
任何终端模式影响。
cols=$(tput cols)
printf "\033[${cols}G" # move to last column
printf "A" # set pending wrap state
printf "\033[C" # move forward one
printf "XYZ"
|_________X|
|YZ________|
printf "A"
printf "\033[500C" # forward larger than screen width
printf "B"
|A________Bc
printf "\033[1;1H" # move to top-left
printf "\033[0J" # clear screen
printf "\033[?69h" # enable left/right margins
printf "\033[3;5s" # scroll region left/right
printf "\033[1G" # move to left
printf "\033[500C" # forward larger than screen width
printf "X"
|____X_____|
printf "\033[1;1H" # move to top-left
printf "\033[0J" # clear screen
printf "\033[?69h" # enable left/right margins
printf "\033[3;5s" # scroll region left/right
printf "\033[6G" # move to right of margin
printf "\033[500C" # forward larger than screen width
printf "X"
|_________X|