xtermjs,关于用法的问题很少



很难使用xtermjs,并且有一些官方文档中没有涉及的问题,至少我没有找到。

  1. 我知道当我在终端中使用一些应用程序时,例如,Vim终端需要切换到备用缓冲区,在我退出应用程序后,终端切换回正常缓冲区。这是对的吗

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

  • 根据文档,切换到备用缓冲区的控制序列为参数为47CSI ? Pm h
  • DECSET DEC专用集模式CSI?Pm h设置各种终端属性。

    其中

    paramAction47-使用备用屏幕缓冲区。


    1. 如何将此控制序列与xterm.js一起使用,例如,我想切换到备用缓冲区。terminal.write(...)中应该使用什么字符串
    1. 是的,请参阅本问题中的描述在bash脚本中使用"备用屏幕">

      替代屏幕被许多";"用户交互式";终端应用程序,如vim,htop,screen,alsamixer,less。。。它就像一个不同的终端内容缓冲区,当应用程序退出时,它就会消失,所以整个终端都恢复了,看起来应用程序没有输出任何

    2. 是,ANSI转义码

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

      • 切换到备用缓冲区的控制序列:CSI ? 47 h
      • 切换到常规缓冲区的控制顺序:CSI ? 47 l
    3. 应用控制序列切换到备用缓冲区的代码:

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

    相关内容

    • 没有找到相关文章

    最新更新