很难使用xtermjs,并且有一些官方文档中没有涉及的问题,至少我没有找到。
- 我知道当我在终端中使用一些应用程序时,例如,Vim终端需要切换到备用缓冲区,在我退出应用程序后,终端切换回正常缓冲区。这是对的吗
47
的CSI ? Pm h
:DECSET DEC专用集模式CSI?Pm h设置各种终端属性。
其中
paramAction
47-使用备用屏幕缓冲区。
- 如何将此控制序列与xterm.js一起使用,例如,我想切换到备用缓冲区。
terminal.write(...)
中应该使用什么字符串
-
是的,请参阅本问题中的描述在bash脚本中使用"备用屏幕">
替代屏幕被许多";"用户交互式";终端应用程序,如vim,htop,screen,alsamixer,less。。。它就像一个不同的终端内容缓冲区,当应用程序退出时,它就会消失,所以整个终端都恢复了,看起来应用程序没有输出任何
-
是,ANSI转义码
ANSI转义序列是带内信令的标准,用于控制视频文本终端和终端模拟器上的光标位置、颜色和其他选项。某些字节序列,大多数以Esc(ASCII字符27(和"["开头,嵌入到文本中,终端会查找并将其解释为命令,而不是字符代码
-
- 切换到备用缓冲区的控制序列:
CSI ? 47 h
- 切换到常规缓冲区的控制顺序:
CSI ? 47 l
- 切换到备用缓冲区的控制序列:
-
应用控制序列切换到备用缓冲区的代码:
terminal.write("x9B?47h"); //CSI ? 47 h