【问题标题】:Understanding a few iTerm2 default keycode mappings了解一些 iTerm2 默认键码映射
【发布时间】:2020-06-22 17:44:29
【问题描述】:

iTerm2 中的以下内容是做什么用的?例如:

  • ^2^9^- --> 发送十六进制代码 0x00 .. 0x7f ?
  • ⌥↑⌥↓ --> 发送十六进制代码:0x1b 0x1b 0x5b 0x41...

为了将所有内容合而为一,我们以一种格式良好的方式提出了问题:

【问题讨论】:

    标签: hex ascii iterm2


    【解决方案1】:

    简短回答:为了与旧终端兼容。真正的终端是专用硬件,而不是窗口系统中的应用程序!

    关于 ^0...^9 个:终端通常使用 7 位 ASCII 代码,字符代码范围从 0 到 127,包括 0 到 127。用于字母、数字和标点符号的代码 32-126(因为它们仍然是 Unicode)。 127 通常是 DELETE 键(尽管有时该键会发送代码 8,“退格”,导致 problems which persist in FAQ lists to this day。CTRL-A 到 CTRL-Z 将生成相应的 ASCII 代码减去 64,即 1-26。其余代码可能更难生成。CTRL-@ 通常给你一个 0,但有时它在 CTRL 空间上。27-31 范围通常在 CTRL 加上“ASCII 减 64 " 位置,因此例如 CTRL-] 会给你 0x1D,但是有些终端将这些代码映射到 CTRL-number,而 iTerm2 中的那些映射似乎是为了迎合人们习惯了这样的终端。

    至于 alt-arrow 给出 1b 1b 5b 41,即 ESC ESC [ A 。现在 ESC [ A 是单独向上箭头的一个相当常见的序列,并且在它前面加上一个额外的转义符可能会让 Emacs 用户感到高兴,因为它使 Alt 键可以作为他们的 Meta 键。其他的多字节序列我没有看过,但我猜他们有类似的解释。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-16
      • 2016-02-27
      • 2018-12-21
      • 1970-01-01
      • 1970-01-01
      • 2011-11-28
      • 1970-01-01
      相关资源
      最近更新 更多