行挿入 (IL)
現在のカーソル位置に空行を挿入します。
- 0x1B
- ESC
- 0x5B
- [
- ____
- n
- 0x4C
- L
現在のカーソル位置に n 行を挿入し、既存の行を下にずらします。
パラメーター n は 1 以上の整数でなければなりません。n が 0 以下の
場合は n を 1 に調整します。n が省略された場合は n が既定で 1 になります。
現在のカーソル位置が現在のスクロール領域の外にある場合、 このシーケンスは何もしません。カーソルは、上マージン より上にある場合、 下マージン より下にある場合、左マージン より左にある場合、 右マージン より右にある場合に、現在のスクロール領域の外にあります。
このシーケンスは保留中の折り返し状態を解除します。
このシーケンスはカーソルの列を左マージンへ移動します。
現在のカーソル行から下 n 行分に、現在の SGR 状態に従った背景色の
空行を挿入します。行が挿入されるたびに、既存のすべての内容が 1 行下へずれます。
最下段は下マージンです。内容が下マージンを越えてずらされた場合、
その内容は失われ、下マージンより下の既存内容は維持されてずらされません。
左マージン または 右マージン が設定されている場合、 マージン内(マージンを含む)のセルだけが空欄化(挿入時)または移動されます。 左マージンの左側、または右マージンの右側にあるその他の既存コンテンツは そのまま維持されます。
複数セル文字が分割される場合は、その複数セル文字全体を消去します。たとえば、 「橋」が左マージンの左側に表示されていて、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____|