如何解决xtermjs,关于用法的几个问题
正在努力使用xtermjs,并且有一些官方文档中未涵盖的问题,至少我没有发现。
- 我了解到,例如,当我在终端中使用某些应用程序时,Vim终端需要切换到备用缓冲区,从应用程序退出后,终端应切换回普通缓冲区。这样对吗?
- 要在缓冲区之间切换(并总体上控制终端行为),我需要使用控制序列。这不是xterm.js特有的,但是通用的模式和控制顺序在终端之间是统一的吗?
- 根据文档,切换到备用缓冲区的控制顺序是带有参数
CSI ? Pm h
的{{1}}:
DECSET DEC专用设置模式CSI? Pm h设置各种终端属性。
哪里
47
47-使用备用屏幕缓冲区。
- 例如,如何与xterm.js一起使用此控制序列,我想切换到备用缓冲区。
paramAction
中应使用什么字符串?
解决方法
-
是的,请参见此问题Using the “alternate screen” in a bash script
中的描述备用屏幕由许多“与用户互动”的终端应用程序使用,例如vim,htop,screen,alsamixer,less,...,这就像终端内容的不同缓冲区一样,当应用程序退出时消失。整个终端恢复了,看起来应用程序没有输出任何东西
-
ANSI转义序列是带内信令的标准,用于控制视频文本终端和终端仿真器上的光标位置,颜色和其他选项。某些字节序列(大多数以Esc(ASCII字符27)和'['开头)被嵌入到文本中,终端会查找并解释为命令,而不是字符代码。
-
- 切换到备用缓冲区的控制顺序:
CSI ? 47 h
- 切换到常规缓冲区的控制顺序:
CSI ? 47 l
- 切换到备用缓冲区的控制顺序:
-
应用控制序列以切换到备用缓冲区的代码:
terminal.write("\x9B?47h"); //CSI ? 47 h
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。