キャリッジリターン (CR)

カーソルを最も左の列へ移動します。

  1. 0x0D
    CR

このシーケンスは常に保留中の折り返し状態を解除します。

オリジンモード(モード 6) が有効な場合、カーソルはスクロール領域の 左マージン に設定され、操作は完了します。

オリジンモードが設定されておらず、カーソルが左マージン上または右側にある場合、カーソルは左マージンに設定されます。カーソルが左マージンより左にある場合、カーソルはターミナルの最も左の列へ移動します。

検証

CR V-1:保留中の折り返しを解除

cols=$(tput cols)
printf "\033[${cols}G" # move to last column
printf "A" # set pending wrap state
printf "\r"
printf "X"
echo
|X________A|
|c_________|

CR V-2:左マージン

cols=$(tput cols)
printf "\033[1;1H" # move to top-left
printf "\033[0J" # clear screen
printf "\033[?69h" # enable left/right margin mode
printf "\033[2;5s" # set left/right margin
printf "\033[4G"
printf "A"
printf "\r"
printf "X"
|_XcA______|

CR V-3:左マージンより左

cols=$(tput cols)
printf "\033[1;1H" # move to top-left
printf "\033[0J" # clear screen
printf "\033[?69h" # enable left/right margin mode
printf "\033[2;5s" # set left/right margin
printf "\033[4G"
printf "A"
printf "\033[1G"
printf "\r"
printf "X"
|Xc_A______|

CR V-3:オリジンモードでの左マージン

cols=$(tput cols)
printf "\033[1;1H" # move to top-left
printf "\033[0J" # clear screen
printf "\033[?6h" # enable origin mode
printf "\033[?69h" # enable left/right margin mode
printf "\033[2;5s" # set left/right margin
printf "\033[4G"
printf "A"
printf "\033[1G"
printf "\r"
printf "X"
|_XcA______|