插入行 (IL)
在目前游標位置插入空白行。
- 0x1B
- ESC
- 0x5B
- [
- ____
- n
- 0x4C
- L
在目前游標位置插入 n 行,並將現有行下移。
參數 n 必須是大於等於 1 的整數。如果 n 小於
等於 0,則將 n 調整為 1。如果省略 n,則 n 預設為 1。
如果目前游標位置在目前捲動區域之外, 此序列不執行任何動作。游標在以下情況位於目前捲動區域之外: 高於 上邊界、低於 下邊界、 位於 左邊界 左側或 右邊界 右側。
此序列會取消待定換行狀態。
此序列將游標欄移動到左邊界。
從目前游標列開始向下 n 行,插入按目前 SGR 狀態著色的空白行。
插入一行時,所有現有內容向下移動一行。最底列
是底部邊界。如果內容被移出底部邊界之外,
則這些內容會遺失;底部邊界之外的現有內容保持不變且不會移動。
如果設定了 左邊界 或 右邊界, 則只有邊界內(含邊界)的儲存格會被清空(插入時)或移動。 左邊界左側或右邊界右側的其他現有內容保持不變。
如果多儲存格字元會被拆分,則擦除整個多儲存格字元。例如, 如果「橋」列印在左邊界左側,而由 IL 導致的行下移會拆分該字元, 則應擦除該儲存格。
printf "\033[1;1H" # move to top-left
printf "\033[0J" # clear screen
printf "ABC\n"
printf "DEF\n"
printf "GHI\n"
printf "\033[2;2H"
printf "\033[L"
|ABC_____|
|c_______|
|DEF_____|
|GHI_____|
printf "\033[1;1H" # move to top-left
printf "\033[0J" # clear screen
printf "ABC\n"
printf "DEF\n"
printf "GHI\n"
printf "\033[3;4r" # scroll region top/bottom
printf "\033[2;2H"
printf "\033[L"
|ABC_____|
|DEF_____|
|GHI_____|
printf "\033[1;1H" # move to top-left
printf "\033[0J" # clear screen
printf "ABC\n"
printf "DEF\n"
printf "GHI\n"
printf "123\n"
printf "\033[1;3r" # scroll region top/bottom
printf "\033[2;2H"
printf "\033[L"
|ABC_____|
|c_______|
|DEF_____|
|123_____|
printf "\033[1;1H" # move to top-left
printf "\033[0J" # clear screen
printf "ABC123\n"
printf "DEF456\n"
printf "GHI789\n"
printf "\033[?69h" # enable left/right margins
printf "\033[2;4s" # scroll region left/right
printf "\033[2;2H"
printf "\033[L"
|ABC123__|
|Dc__56__|
|GEF489__|
|_HI7____|