thinkgos / kilo-edit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

基础

1. 终端

1.1 终端模式

终端的规范模式原始模式(raw mode)是指终端设备在处理输入和输出时的两种不同工作方式.

  • 规范模式: 终端会将输入的数据存储在缓冲区中,直到一行输入结束(通过回车键)才将其发送给程序进行处理。这种模式适合于大多数用户交互式程序,因为它允许用户在输入时进行编辑和更正。
  • 原始模式: 终端不会进行缓冲,而是将每个输入字符都立即发送给程序进行处理。这种模式适用于需要对每个输入字符进行实时处理的程序,如实时游戏或终端仿真器。

要将终端设置为原始模式,程序通常需要使用系统调用(如Linux中的tcsetattr)来更改终端的属性。在程序结束时,程序应该将终端属性重置为规范模式,以确保终端可以正常工作.

1.2 ASCII

ASCII 字符被分为两种类型:

  • 控制字符
  • 非控制字符

1.2.1 控制字符

控制字符是 ASCII 字符集中的一组字符,用于控制文本的格式和传输。这些字符不能用于显示文本,因为它们会影响文本的格式,例如换行、退格、清屏等。以下是 ASCII 控制字符的列表:

  • 空字符 (NUL)
  • 开始标题 (SOH)
  • 文本传输开始 (STX)
  • 文本结束 (ETX)
  • 传输块结束 (EOT)
  • 请求 (ENQ)
  • 确认 (ACK)
  • 响铃 (BEL)
  • 退格 (BS)
  • 水平制表符 (HT)
  • 换行符 (LF)
  • 垂直制表符 (VT)
  • 换页 (FF)
  • 回车 (CR)
  • 转义字符 (ESC)
  • 文件分隔符 (FS)
  • 组分隔符 (GS)
  • 记录分隔符 (RS)
  • 单元分隔符 (US)
  • 删除字符 (DEL)

1.2.2 非控制字符

非控制字符是可以显示和打印的 ASCII 字符。这些字符包括字母、数字、标点符号等,它们不会影响文本的格式。以下是 ASCII 非控制字符的一些例子:

  • 大写字母 A 到 Z 和小写字母 a 到 z
  • 数字 0 到 9
  • 标点符号,例如逗号、句号、分号和冒号
  • 特殊字符,例如 @、#、$、%、^、&、*、(、)、-、_、+、=、{、}、[、]、\、|、;、'、"、<、>、?、/ 等。

About


Languages

Language:Rust 100.0%