光标位置
回忆上次内容
- 上次了解了 新的转义模式
- \033 逃逸控制字符 escape
- 这个字符 让字符串 退出标准输出流
- 进行控制信息的设置
- 可以设置 光标输出的位置
- \033 逃逸控制字符 escape
- ASR33中的ALT MODE
- 是 今天的ESC键吗????🤔
查询文档
- http://bitsavers.org/communications/teletype/33/310B_Vol_1_33_Teletypewriter_Sets_Technical_Manual_Sep74.pdf
- 最开始的时候
- 还没有esc键
- 使用ctrl + shift + k
- 实现esc效果
- 后来的键盘
- 有了 实体的esc键
escape 跳出
- 现在键盘都有这个按键
- 一般在左上角
- 用来
- 退出当前应用/游戏
- 跳出菜单
- 上图esc在
- 1 的左下
- Q 的左边
- esc可以
- 从当前的纯文字标准输出流里面
- 逃(escape)出来
- 进行控制信息的传输
键盘的进化过程
- 后来连接主机(main frame)用的是
- 终端(terminal)
- 当年最流行的终端 型号是
- DEC VT100
- esc 在1 左边
- 还没有 出现在最左上的位置
位置的变化
- 玩一些
terminal
上面的游戏时- 可以用 esc 退出游戏环境
- 进入菜单
- 进行设置、存盘、读档、退出之类的操作
- 可以用 esc 退出游戏环境
- 知道 什么时候退
- 比知道 怎么玩
更
重要😄
- 比知道 怎么玩
- 键盘还没有 统一的标准
- 功能键 F1-F10
- 在 最左边
- 功能键 F1-F10
标准键盘
- 101键盘布局 成为经典
- 左上角是esc 标准位置
- 后来放在 左上角
- 用边距和F1 拉开距离
- 体现
escape
重要性
行业标准
- 键盘开始有了标准布局
- 并形成了工业标准
- 可以在ascii字符集里面
- 找到esc 这个字符 么?
esc
- 在下图中尝试找到esc
- esc 对应
- (001 1011)2进制
- 再到ascii应用中
- 找一下esc?
ascii
- 使用apt
- 安装ascii这个应用
sudo apt install ascii
- 找到这个字符
- 这个esc对应的是
- (27)10进制
- (1B)16进制
- 这个(1B)16进制
- 是怎么得到的呢?
1b
- 使用hex函数
- 可以得到
- 数字的十六进制形式字符串
- hexadecimal
- 可以得到
- 如果是八进制呢?
不同进制 表现形式
- (1b)16进制
- 对应着(27)10进制
- 对应着(33)8进制
- 上面的分别是
- 十六进制形态
- 十进制形态
- 八进制形态
- 正如下面
- 不同的形态都可以
- 用来转义吗?
不同形态
- 不同的转义方式
- 不影响功能
- 使用转义序列
- 或者16进制转移方式
- 或者8进制转移方式
- 在输出时
- 没有差别
- 都是换行效果
escape控制码大全
- CSI 是
- Control Sequence Introducer
- 就是esc加[
- esc就是\033
- 用的是几进制的形式?
- 可以有各种方式
- 控制位置
\033
- 八进制的 形式
- \033[nA 光标上移 n 行
- \033[nB 光标下移 n 行
- \033[nC 光标右移 n 行
- \033[nD 光标左移 n 行
- \033[y;xH 设置光标位置
- \033[2J 清屏
- \033[K 清除从光标到行尾的内容
- \033[s 保存光标位置
- \033[u 恢复光标位置
- \033[?25l 隐藏光标
- \033[?25h 显示光标
光标的自由
- 输出字符的位置
- 以前是固定的
- 仿佛被牢牢锁住
- 真的能 挣脱固定位置的锁链 吗?
- 好期待?
总结
- 本次了解了键盘演化的过程
- ESC 从 组合键
- 到 独立按键
-
ESC 的作用
- 是 进入控制序列
- 配置控制信息
-
控制信息
- \033[y;xH 设置光标位置
- \033[2J 清屏
-
这到底怎么控制???🤔
-
谁
来实现这些功能? -
我们下次再说!👋
-
蓝桥->https://www.lanqiao.cn/courses/3584
-
github->https://github.com/overmind1980/oeasy-python-tutorial
-
gitee->https://gitee.com/overmind1980/oeasypython