光标地位

回顾上次内容

  • 上次理解了键盘演变的过程

    • ESC 从 组合键
    • 到 独立按键

  • ESC 的目标

    • 是进入管制序列
    • 配置管制信息
  • 管制信息

    • \033[y;xH 设置光标地位
    • \033[2J 清屏
  • 这到底怎么管制来着???
  • 当初 零碎里

    • 这些行为 是来实现的呢?

管制

  • 是由 gui零碎中

    • 终端软件 来实现的
    • 具体来说就是

      • xfce terminal

输入字符

  • \033是转义序列

    • \33\033的省略写法
    • 33 是 8 进制数状态的ord("\e")

      • 也能够 写成 16进制状态

        • \x1b
print("\033[2J")
  • J 是模式抉择

    • 清屏模式
    • 分为四种清屏

      • 0J - 从光标清到屏幕完结
      • 1J - 从光标清到屏幕结尾
      • 2J - 整屏幕清
      • 3J - 整屏幕清并抉择清空滚动缓存

  • 2J 是 整屏幕清

察看环境

  • 进入vi 察看屏幕大小

  • 终端屏幕默认 80*24 (字符)

设置光标

  • \33[ 是CSI

    • 管制序列前导符
print("\33[1;1Hoeasy")
  • 1;1 指的是

    • 屏幕左上角
    • 终端大小

      • 横向80字符
      • 纵向24字符
    • 两头用分隔符是分号(;)
  • 设置好了 之后

    • 输入 前面的字符 oeasy
  • H 是模式抉择

  • 能够先清屏再输入么?

清屏并设置光标

print("\33[2J")print("\33[1;1Hoeasy")
  • 这是两句话

    • 实现两件事

      • 2J清屏
      • 1;1H设置输入地位
  • 两句话能够合并成一句吗?

合并输入

  • "\33[2J\33[1;1Hoeasy"

    • \33[2J 终端接管到后清屏
    • \33[1;1H 终端接管到后设置光标
    • 终端输入 oeasy
print("\33[2J\33[1;1Hoeasy")
  • 能够换个地位 输入吗?

换个地位

print("\33[2J\33[10;10Hoeasy")
  • "\33[2J\33[10;10Hoeasy"

    • 先清屏
    • 再在(10,10)坐标输入oeasy
  • 这就是esc的作用

escape

  • 从以后输入序列中退出来

    • 进行管制信息的输入

  • 看起来很像平安逃生进口

总结

  • 这次理解了一个新的本义模式

    • \33 逃逸控制字符 esc
  • esc 让输入 退出规范输入流

    • 进行管制信息的设置

      • 能够清屏
      • 也能够设置光标输入的地位

  • 还能做什么呢?

    • 能够设置字符的色彩吗???
  • 咱们下次再说!
  • 蓝桥->https://www.lanqiao.cn/course...
  • github->https://github.com/overmind19...
  • gitee->https://gitee.com/overmind198...
  • 视频->https://www.bilibili.com/vide... 作者:oeasy