光标位置

回忆上次内容

  • 上次了解了 新的转义模式

    • \33 逃逸控制字符 esc

      • 这个字符让输出退出标准输出流
      • 进行控制信息的设置
        • 可以设置光标输出的位置

  • 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 的左边
  • 可以从当前的纯文字标准输出流里面
    • 逃(escape)出来
    • 进行控制信息的传输

键盘的进化过程

  • 早年间的一体机

    • 当年最流行的 DEC VT100

  • esc还在1旁边

    • 当时还没有在最左上的位置

位置的变化

  • 玩一些terminal上面的游戏时

    • 可以退出主游戏
    • 进行设置、存盘、读档、退出之类的菜单操作
  • 知道 什么时候退
    • 比知道 怎么玩重要

  • 功能键在 最左边

    • 键盘还没有 统一的标准

标准键盘

  • 这是101 标准键盘

    • 左上角是esc 标准位置

  • 后来放在第一行第一列

    • escape体现重要性
    • 还要用边距和F1之类的拉开距离

行业标准

  • 键盘开始有了行业标准

  • 可以在ascii里面找到这个esc字符么?

esc

  • 在下图中尝试找到esc

  • (001 1011)2
  • 再到ascii应用找一下esc?

ascii

  • 找到这个字符

  • 这个esc对应的是

    • 27 - 10进制
  • 对应16进制多少呢?

1b

  • 1b 是(1b)16进制

    • 对应着(27)10进制
    • 对应着(33)8进制

  • 上面的分别是

    • 十六进制形态
    • 十进制形态
    • 八进制形态
  • 正如下面

  • 不同的形态都可以

    • 用来转义吗?

不同形态

  • 不同的转义方式不影响功能

操作大全

  • 位置控制代码

  • 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 显示光标
  • 我们先试试\033[2J

总结

  • 本次了解了键盘演化的过程

    • 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
  • 视频->https://www.bilibili.com/video/BV1CU4y1Z7gQ 作者:oeasy

[oeasy]python0067_ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI的更多相关文章

  1. (94)Wangdao.com_第二十七天_键盘事件

    键盘事件 键盘事件由用户击打键盘触发 主要有 keydown.keyup .keypress三个事件,它们都继承了 KeyboardEvent 接口. keydown         按下键时 触发 ...

  2. Oracle在linux下命令行无法使用退格键退格,无法使用上下键切换历史命令的解决办法

    使用xshell等客户端登录oracl时在命令行无法使用退格键也无法使用上下键切换历史命令可以使用rlwrap解决 1,linux环境 2,下载rlwrap wget http://files.cnb ...

  3. C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节

    C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节 1.Qt概述 1.1 什么是Qt Qt是一个跨平台的C++图形用户界面应用程序框架.它为应用程序开发者提供建立艺术级图形界面 ...

  4. 推荐系统[二]:召回算法超详细讲解[召回模型演化过程、召回模型主流常见算法(DeepMF_TDM_Airbnb Embedding_Item2vec等)、召回路径简介、多路召回融合]

    1.前言:召回排序流程策略算法简介 推荐可分为以下四个流程,分别是召回.粗排.精排以及重排: 召回是源头,在某种意义上决定着整个推荐的天花板: 粗排是初筛,一般不会上复杂模型: 精排是整个推荐环节的重 ...

  5. C Primer Plus_第5章_运算符、表达式和语句_编程练习

    Practice 1. 输入分钟输出对应的小时和分钟. #include #define MIN_PER_H 60 int main(void) { int mins, hours, minutes; ...

  6. 你知道C#中的Lambda表达式的演化过程吗

    你知道C#中的Lambda表达式的演化过程吗? 阅读目录 委托的使用 匿名方法 Func和Action Lambda的诞生 那得从很久很久以前说起了,记得那个时候... 懵懂的记得从前有个叫委托的东西 ...

  7. java画图程序_图片用字母画出来_源码发布_版本二

    在上一个版本:java画图程序_图片用字母画出来_源码发布 基础上,增加了图片同比例缩放,使得大像素图片可以很好地显示画在Notepad++中. 项目结构: 运行效果1: 原图:http://imag ...

  8. ARM核心板_迅为4418核心板_高稳定超轻薄_研发超灵感

    ARM核心板_迅为4418核心板_三星四核S5P4418处理器 4418核心板正面: 4418核心板反面:4418核心板尺寸图:详情了解:https://item.taobao.com/item.ht ...

  9. 【转】你知道C#中的Lambda表达式的演化过程吗?

    [转]你知道C#中的Lambda表达式的演化过程吗? 那得从很久很久以前说起了,记得那个时候... 懵懂的记得从前有个叫委托的东西是那么的高深难懂. 委托的使用 例一: 什么是委托? 个人理解:用来传 ...

  10. 独家专访|浙江执御:为何接受富安娜入股而不选VC?_深圳市跨境电子商务协会_新浪博客

    独家专访|浙江执御:为何接受富安娜入股而不选VC?_深圳市跨境电子商务协会_新浪博客   http://blog.sina.com.cn/s/blog_13cb5d69e0102vuvk.html

随机推荐

  1. LLM实战:当网页爬虫集成gpt3.5

    1. 背景 最近本qiang~关注了一个开源项目Scrapegraph-ai,是关于网页爬虫结合LLM的项目,所以想一探究竟,毕竟当下及未来,LLM终将替代以往的方方面面. 这篇文章主要介绍下该项目, ...

  2. C# java 的 equals 与 == 的区别

    C# String a = "宜春"; String b = new String(new char[] { '宜', '春' }); String c = b; //注意这里是引 ...

  3. 鸿蒙HarmonyOS实战-Stage模型(进程模型)

    前言 进程是计算机中运行的程序的实例.它是操作系统对正在执行的程序的一种抽象概念.每个进程都有自己的独立内存空间.运行状态和执行上下文.进程可以包含一个或多个线程,每个线程可以独立执行一部分任务.操作 ...

  4. 深入探讨Function Calling:实现外部函数调用的工作原理

    引言 Function Calling 是一个允许大型语言模型(如 GPT)在生成文本的过程中调用外部函数或服务的功能. Function Calling允许我们以 JSON 格式向 LLM 模型描述 ...

  5. Flutter学习网站和安装问题

    一.Flutter网站 Flutter中文开发者网站(推荐) https://flutter.cn/ 二.Flutter第三方库 Pub.Dev https://pub.dev/ 三.Flutter源 ...

  6. AppFlow上新——智谱ChatGLM轻松接入聊天

    智谱AI 开放平台提供一系列具有不同功能和定价的大模型,包括通用大模型.超拟人大模型.图像大模型.向量大模型等,并且支持使用您的私有数据对模型进行微调.其中ChatGLM系列模型在国内也享有盛名,现在 ...

  7. 【论文笔记】R-CNN系列之论文理解

    [深度学习]总目录 RCNN全称region with CNN features,即用CNN提取出Region Proposals中的featues.RCNN系列论文(R-CNN,Fast R-CNN ...

  8. 绘图与可视化--matplotlib API入门

    matplotlib API函数都位于matplotlib.pyplot模块中. 本节代码中引入的约定为:import matplotlib.pyplot as plt 另外,numpy库也会用到,约 ...

  9. .NET 中使用 OpenTelemetry Traces 追踪应用程序

    上一次我们讲了 OpenTelemetry Logs.今天继续来说说 OpenTelemetry Traces. 在今天的微服务和云原生环境中,理解和监控系统的行为变得越来越重要.在当下我们实现一个功 ...

  10. kettle从入门到精通 第六十一课 ETL之kettle 任务调度器,轻松使用xxl-job调用kettle中的job和trans

    1.大家都知道kettle设计的job流程文件有个缺点:只能设置简单的定时任务,无法设置复杂的如支持cron表达式的job. 今天给大家分享一个使用xxl-job调度carte的流程文件的示例.整个调 ...