共计 997 个字符,预计需要花费 3 分钟才能阅读完成。
光标地位
回顾上次内容
-
上次理解了键盘演变的过程
- 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
正文完