我的终端中的 ASCII 控制字符

主要观点:

  • 介绍了 33 个 ASCII 控制字符及其在不同系统和应用中的作用、类别等,如操作系统终端驱动处理的代码、直接传递给应用的代码等。
  • 指出只有 33 个控制代码,某些组合如Ctrl-1等无实际意义,Ctrl+Shift+C等也非控制代码。
  • 说明 ASCII 官方名称对终端操作意义不大,易忽略。
  • 探讨了Ctrl-MEnterCtrl-ITab等易混淆的情况及使用注意。
  • 介绍了识别发送的控制代码的 Python 脚本echo-key.py
  • 提及在规范模式和非规范模式下Ctrl-WCtrl-U的处理差异及相关程序示例。
  • 强调所有“操作系统终端驱动”代码可用stty配置,且介绍了stty -a显示的映射情况及人们使用stty的常见原因。
  • 指出信号相关的注意事项,如ISIG终端模式对信号发送的影响及 BSD 系统中Ctrl-T的特殊情况。
  • 说明存在很多系统不同部分使用相同代码导致的冲突,如Ctrl-S的不同用途。
  • 讨论了“Backspace”相关的历史和配置差异,以及 Debian 政策手册中的相关内容。
  • 提到可能存在更多关于此的多样性及自己可能的错误和遗漏。
  • 认为了解这些内容虽有趣但不一定非常有用,自己使用终端多年未了解这些也能正常使用。

关键信息:

  • 33 个 ASCII 控制字符及其大致类别和作用。
  • 不同系统和应用中控制代码的处理差异。
  • stty在配置终端代码中的作用。
  • 信号相关的注意事项及vim的终端模式设置。
  • “Backspace”相关的历史和配置细节。

重要细节:

  • 不同程序在规范模式和非规范模式下对Ctrl-WCtrl-U的处理方式。
  • vim启动和退出时设置的终端模式。
  • 不同系统中Ctrl-T的不同行为及与ISIG的关系。
  • Debian 政策手册中关于“Backspace”的规定。
  • echo-key.py脚本用于识别发送的控制代码。
阅读 49
0 条评论