回車 (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______|