光标位置
回忆上次内容
上次了解了键盘演化的过程
ESC 从 组合键
(资料图片)
到 独立按键
ESC的作用 是
\033[y;xH 设置光标位置
\033[2J 清屏
进入 控制序列
配置 控制信息
控制信息
这到底怎么控制???
谁
来实现这些功能?
控制
是由 系统中 终端软件
来实现的
具体来说
xfce terminal
当前系统中 终端软件 就是
输出字符
\033
是转义序列
0x1b
\x1b
ord("\e") 的八进制形式
`\0ooo
的方式是
使用 八进制形式 输出转义字符
\33
是\033
的省略写法
033
是
也可以 写成 16进制形态
print("\033[2J")
J 是模式选择
0J - 从光标清到屏幕结束
1J - 从光标清到屏幕开头
2J - 整屏幕清
3J - 整屏幕清并选择清空滚动缓存
清屏模式
分为四种清屏
2J 是 整屏幕全清空
屏幕清空
仿佛宇宙进行了一场重启
白茫茫大地真干净
回到了最初什么都没有的初始状态
这个字符的宇宙
究竟有多大呢?
观察环境
进入vi 观察屏幕大小
终端屏幕默认 80*24 (字符)
纸质卡片
这尺寸可以追溯到 早期的存储介质
目前已经成为了 终端默认的大小
终端清屏之后
从左上角进行输出吗?
可以让光标
设置光标
\33[ 是CSI
控制序列前导符
Control Sequence Introducer
如果没有csi
就是将文本直接输出到标准输出流
如果加上了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
这样就可以 让光标
在屏幕中 任意移动
一个跟头 十万八千里
这就是通过escape引发的
控制序列的 作用
escape
escape 就是退出
进行 控制信息的输出
从 当前输出序列中 退出来
看起来很像 安全逃生出口
总结
这次了解了 一个新的转义模式
\33 逃逸控制字符esc
esc让输出
可以 清屏
也可以 设置光标输出的位置
退出 标准输出流
进行 控制信息的设置
还能做什么
呢?
可以 设置 字符的颜色吗???
我们下次再说!
蓝桥->/courses/3584
github->/overmind1980/oeasy-python-tutorial
gitee->/overmind1980/oeasypython
上一篇:青海省社保卡实现“一卡通游”
下一篇:最后一页
X 关闭
资讯
- 香港中文大学(深圳)校长徐扬生:用4年的时间等到花开
- 哈尔滨铁路迎节后返程高峰 推出复工专列服务
- 冬奥动车组设5G超高清演播室 “瑞雪迎春”号智能化人性化结合
- 中欧班列“签证官”:日行10公里 用锤子“听诊”
- 西湖守兰人的春节美丽故事:花苞为伴 手留余香
- 民航“父子兵”和“夫妻档”坚守春运保障第一线
- 热闹喜庆过大年 浙东古镇浓浓年味引客来
- 广西新增本土确诊病例6例 德保县提升防控等级
科技
-
大山深处的书香春节2022-02-07
-
天津:男子涂改核酸证明进火车站被拘留2022-02-07
-
降雪致青海多条高速实行交通管制2022-02-07
-
广州番禺部分区域被划定为疫情防控管理区2022-02-07
-
错峰有序、防疫有力,畅通“最后一公里”——春运返程交通运输疫情防控有保障2022-02-07