Terminal xtermjs,关于使用的几个问题

Terminal xtermjs,关于使用的几个问题,terminal,pty,xtermjs,Terminal,Pty,Xtermjs,正在努力使用,并且有一些官方文档中没有涉及的问题,至少我没有找到 我知道当我在终端内使用某些应用程序时,例如,终端需要切换到备用缓冲区,在我退出应用程序后,终端切换回正常缓冲区。是这样吗 要在缓冲区之间切换(以及总体上控制终端行为),我需要使用一个控制序列。这不是xterm.js所独有的,但是终端之间的通用模式和控制序列是统一的吗 切换到备用缓冲区的控制顺序是CSI?Pm h带有参数47,根据文件: DECSET DEC专用设置模式CSI?pmh设置各种终端属性 在哪里 paramActio

正在努力使用,并且有一些官方文档中没有涉及的问题,至少我没有找到

  • 我知道当我在终端内使用某些应用程序时,例如,终端需要切换到备用缓冲区,在我退出应用程序后,终端切换回正常缓冲区。是这样吗

  • 要在缓冲区之间切换(以及总体上控制终端行为),我需要使用一个控制序列。这不是xterm.js所独有的,但是终端之间的通用模式和控制序列是统一的吗

  • 切换到备用缓冲区的控制顺序是
    CSI?Pm h
    带有参数
    47
    ,根据文件:
  • DECSET DEC专用设置模式CSI?pmh设置各种终端属性

    在哪里

    paramAction
    47-使用备用屏幕缓冲区


  • 如何在xterm.js中使用此控制序列,例如,我想切换到备用缓冲区。在
    终端中应该使用什么字符串。写入(…)
  • 是的,请参见此问题中的描述

    许多“用户交互”终端应用程序(如vim、htop、screen、alsamixer、less等)使用备用屏幕。。。它就像终端内容的另一个缓冲区,当应用程序退出时,缓冲区就会消失,因此整个终端都会恢复,看起来应用程序没有输出任何内容

  • ANSI转义序列是带内信号的标准,用于控制视频文本终端和终端模拟器上的光标位置、颜色和其他选项。某些字节序列(大多数以Esc(ASCII字符27)和“[”开头)嵌入到文本中,终端将其查找并解释为命令,而不是字符代码

    • 切换到备用缓冲区的控制顺序:
      CSI?47小时
    • 切换到常规缓冲区的控制顺序:
      CSI?47 l
  • 将控制序列应用于切换到备用缓冲区的代码:

  • terminal.write("\x9B?47h"); //CSI ? 47 h