Terminal 终端/zsh/terminfo中的应用模式是什么?

Terminal 终端/zsh/terminfo中的应用模式是什么?,terminal,zsh,terminfo,Terminal,Zsh,Terminfo,在中,我看到一些命令来确保终端(?)处于应用程序模式,然后terminfo数据库设置/查询键绑定将起作用 我试图找到什么是这种应用模式,但没有成功。这种应用模式是什么?我认为Zsh没有它也可以运行良好。我说得对吗?是否希望在处理密钥绑定后取消设置它?有些应用程序,比如基于诅咒的应用程序,难道不会解除它吗 这只是一个问题:“什么是应用程序模式或它是如何工作的”。我写其他问题只是为了帮助你理解我的问题。万一有人遇到同样的问题。。。经过一些研究,我在下面找到了问题的答案 可以这样概括: 端子规格不足且

在中,我看到一些命令来确保终端(?)处于应用程序模式,然后terminfo数据库设置/查询键绑定将起作用

我试图找到什么是这种应用模式,但没有成功。这种应用模式是什么?我认为Zsh没有它也可以运行良好。我说得对吗?是否希望在处理密钥绑定后取消设置它?有些应用程序,比如基于诅咒的应用程序,难道不会解除它吗


这只是一个问题:“什么是应用程序模式或它是如何工作的”。我写其他问题只是为了帮助你理解我的问题。

万一有人遇到同样的问题。。。经过一些研究,我在下面找到了问题的答案

可以这样概括:

  • 端子规格不足且不通用。有几种不同的协议来处理移动光标、更改颜色和处理用户组合键输入的扩展
  • 有人创建了一个大型数据库来抽象不同终端和终端模拟器之间的差异。此数据库是terminfo
  • terminfo仅在应用程序模式下工作。向终端发送特殊的转义序列,然后终端可以改变其模式。在新模式下,它将接受不同的转义序列(terminfo已知的转义序列)
  • 可以检测是否支持应用程序模式,如果不支持,则返回到其他方法(zkbd…)
  • zsh的公共配置将zle(zsh的行编辑器)设置为在接收用户输入之前进入应用程序模式,在执行任何命令之前退出。然后所有应用程序将继续正常运行
  • 注:并非所有常见的zsh配置都如此健壮,建议阅读前面提到的内容

    我的配置部分记录在上,并在上可用。

    只有第(2)点在技术上是准确和有用的。