美文网首页
ANSI ESCAPE个人笔记

ANSI ESCAPE个人笔记

作者: X_Mingest | 来源:发表于2018-04-10 14:00 被阅读0次

    ESC(\033)

    CSI sequences(\033[)

    SGR – Select Graphic Rendition(\033[ n m)

    0 重置所有参数
    1 粗体
    3 斜体
    4 下划线
    7 反相,即背景与字体颜色交换
    \33[1;3;4;7m Hello World \33[0m
    0 重置所有参数
    21 双下划线
    31 红,30-39|90-97为字体颜色,其中90-97为aixterm中的亮色
    47 绿,40-49|100-107为背景颜色,其中100-107同上
    \33[21;31;47m Hello World \33[0m

    特别的,其中的38与48可以后接参数以设定颜色

    1. 38|48;5;n,其中n的值为0-255,0-7与30-37的颜色一致,8-15与aixterm中的90-97一致,16-231为6x6x6色值,即r * 36 + g * 6 + b + 16,232-255为黑色至白色的24分色
    for (my $i = 0; $i < 255; $i++)
    {
        $i % 16 == 0 and
        print(qq(\n));
        print(qq( \33[48;5;${i}m \33[49m));
    }   print(qq(\n));
    __END__
    
    \33[48;5;0-255m \33[0m
    1. 38|48;2;r;g;b,常见的rgb色彩设定
    \33[1;3;38;2;148;0;211;48;2;255;250;250m Hello World \33[0m
    0 重置所有参数
    53 上划线
    \33[1;3mHello \33[4;38;2;148;0;211;53mX_Mingset\33[0m

    光标控制

    sub OvO{while(my $str = shift(@_)){print(
        qq(\33[1;4;38;5;129;47;53m\33[$str\33[0m\n)); }
    1; }OvO(
        qq(9C^             ),
        qq(8C/ \\          ),
        qq(3C) . (q(-) x 13),
        qq(4C\\ /\33[5C\\ /),
        qq(5Cx\33[7Cx      ),
        qq(4C/ \\\33[5C/ \\),
        qq(3C) . (q(-) x 13),
        qq(8C\\ /          ),
        qq(9Cv             )); 1;
    __END__
    
    神经病程序的输出
    \33[ + 效果
    nA
    nB
    nC
    nD
    光标向上n行
    光标向下n行
    光标向右n列
    光标向左n列
    n;mH
    n;mf
    光标定位至n行m列,默认1;1H,即
    \33[H = \33[1H = \33[;1H = \33[1;1H
    nJ 清屏
    n = 0(默认,光标至屏末)
    n = 1(光标至屏首)
    n = 2(全屏,光标置于左上,测试时没动来着
    n = 3(已滚的屏的缓存)
    nK 清行
    n = 0(默认,光标至行末)
    n = 1(光标至行首)
    n = 2(整行,光标位置不动)

    详见ANSI ESC WIKI

    相关文章

      网友评论

          本文标题:ANSI ESCAPE个人笔记

          本文链接:https://www.haomeiwen.com/subject/qknghftx.html