alternate screen介绍
在利用xterm.js实现终端搜索高亮时需要能够识别终端当前是否在vi编辑器模式,调查后发现xterm.buffer.active.type可以用来实现。
查看对应类型定义发现值只有两种normal和alternate。不明白为什么叫alternate,所以进一步调查,原来这个概念来源于terminal下的alternate screen。这里整体介绍下。
alternate screen-备用屏幕
- 该中文翻译采用苹果的中文翻译,xshell叫终端替换屏幕
- alternate screen是临时性交互输入内容的屏幕,最终还要返回。比如VI模式下,屏幕显示区域与正常模式一样,当激活备用屏幕时,原屏幕内容被保存,当退出备用屏幕时,源内容被恢复。
- 所以xterm下的normal/alternate概念并非是原创,而是终端本身的设计上就这两种模式,普通和备用
写在最后
xterm.js只是xterm的一种实现,为了更好的理解xterm.js还是需要多了解xterm-终端模拟器的一些设计。