Skip to content
Artwork for Andrej Karpathy的RSS订阅清单
Andrej Karpathy的RSS订阅清单 · Saturday · 5 min

现代Shell能跨行编辑,靠的竟然不是终端左箭头

当长命令换行后,光标在行首按下左箭头,究竟是谁让它回到上一行?Chris Siebenmann 从 `terminfo` 的 `am`(自动右侧换行)与 `bw`(自动左侧回绕)出发,拆解终端中一个看似简单、实则充满历史包袱的行为差异。 节目深入解析 xterm、Kitty、PuTTY、screen 等终端对“反向回绕”的不同实现,并揭示现代 Shell 能稳定编辑跨行命令的真正原因:Readline 等行编辑库早已接管光标定位与重绘,而不是依赖终端左移指令的偶然表现。欢迎阅读原文,了解这些底层机制如何塑造今天习以为常的命令行体验。 原文链接: https://utcc.utoronto.ca/~cks/space/blog/unix/TerminfoAndAutomaticMargins 原文标题:Terminfo and terminal 'automatic margins' (and modern shells) 主要内容: • `am` 描述字符到达右边界后的自动换行;`bw` 则描述光标在行首左移时,能否回绕至上一行末尾。 • `cub1` 是 terminfo 中“左移一格”的终端控制序列,并不等同于键盘上的左箭头;是否跨行回绕取决于终端实现。 • xterm 的反向回绕具有条件:只有上一行由自动折行形成时才可能生效;显式换行形成的独立行则不会回绕。 • 因为 xterm 无法对 `bw` 提供稳定承诺,不在 terminfo 中标注 `bw` 反而是准确的描述。 • 现代 Shell 和 Readline 通过自行维护编辑缓冲区、计算位置并重绘界面,实现可靠的跨行编辑,不再依赖终端的反向回绕能力。 推荐理由: 这篇文章把一个日常操作背后的终端协议、兼容性机制与 Unix 历史脉络串联起来。它提醒我们:终端能力表记录的是可被程序可靠依赖的承诺,而不是某次实验中碰巧出现的行为。对于使用 Shell、开发终端工具或关心底层交互机制的读者,这是一篇短小却极具启发性的深度解析。 --- 「Andrej Karpathy的RSS订阅清单」为您精选全球最前沿的AI技术博客文章,深度剖析技术背后的核心洞察。 由 voieech.com 提供技术支持。

0:00-5:28

transcript

No transcript — this publisher did not publish one.

show notes

当长命令换行后,光标在行首按下左箭头,究竟是谁让它回到上一行?Chris Siebenmann 从 `terminfo` 的 `am`(自动右侧换行)与 `bw`(自动左侧回绕)出发,拆解终端中一个看似简单、实则充满历史包袱的行为差异。

节目深入解析 xterm、Kitty、PuTTY、screen 等终端对“反向回绕”的不同实现,并揭示现代 Shell 能稳定编辑跨行命令的真正原因:Readline 等行编辑库早已接管光标定位与重绘,而不是依赖终端左移指令的偶然表现。欢迎阅读原文,了解这些底层机制如何塑造今天习以为常的命令行体验。

原文链接:
https://utcc.utoronto.ca/~cks/space/blog/unix/TerminfoAndAutomaticMargins
原文标题:Terminfo and terminal 'automatic margins' (and modern shells)

主要内容:

• `am` 描述字符到达右边界后的自动换行;`bw` 则描述光标在行首左移时,能否回绕至上一行末尾。
• `cub1` 是 terminfo 中“左移一格”的终端控制序列,并不等同于键盘上的左箭头;是否跨行回绕取决于终端实现。
• xterm 的反向回绕具有条件:只有上一行由自动折行形成时才可能生效;显式换行形成的独立行则不会回绕。
• 因为 xterm 无法对 `bw` 提供稳定承诺,不在 terminfo 中标注 `bw` 反而是准确的描述。
• 现代 Shell 和 Readline 通过自行维护编辑缓冲区、计算位置并重绘界面,实现可靠的跨行编辑,不再依赖终端的反向回绕能力。

推荐理由:
这篇文章把一个日常操作背后的终端协议、兼容性机制与 Unix 历史脉络串联起来。它提醒我们:终端能力表记录的是可被程序可靠依赖的承诺,而不是某次实验中碰巧出现的行为。对于使用 Shell、开发终端工具或关心底层交互机制的读者,这是一篇短小却极具启发性的深度解析。

---

「Andrej Karpathy的RSS订阅清单」为您精选全球最前沿的AI技术博客文章,深度剖析技术背后的核心洞察。
由 voieech.com 提供技术支持。