儲存游標 (DECSC)
儲存可透過還原游標 (DECRC) 還原的各種游標相關狀態。
- 0x1B
- ESC
- 0x37
- 7
下列屬性會被儲存:
- 絕對螢幕座標中的游標列與欄
- 字元集
- 待處理換行狀態
- SGR 屬性
- 原點模式 (DEC 模式 6)
任何時候只能儲存一個游標。若重複執行儲存游標,先前儲存的游標會被覆寫。
主畫面與替代畫面擁有各自獨立的已儲存游標狀態。在主畫面儲存的游標無法從替代畫面存取,反之亦然。
printf "\033[1;1H" # move to top-left
printf "\033[0J" # clear screen
printf "\033[1;5H"
printf "A"
printf "\0337" # Save Cursor
printf "\033[1;1H"
printf "B"
printf "\0338" # Restore Cursor
printf "X"
|B___AX____|
cols=$(tput cols)
printf "\033[1;1H" # move to top-left
printf "\033[0J" # clear screen
printf "\033[${cols}G"
printf "A"
printf "\0337" # Save Cursor
printf "\033[1;1H"
printf "B"
printf "\0338" # Restore Cursor
printf "X"
|B________A|
|X_________|
printf "\033[1;1H" # move to top-left
printf "\033[0J" # clear screen
printf "\033[1;4;33;44m"
printf "A"
printf "\0337" # Save Cursor
printf "\033[0m"
printf "B"
printf "\0338" # Restore Cursor
printf "X"
|AX________|
"A" 與 "X" 應具有相同的樣式。