カーソル前方移動 (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|