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



在一些地方,我看到了一些命令,以确保terminal(?)处于应用程序模式,然后terminafo数据库将设置/查询键绑定。

我试图找到这个应用程序模式是什么,但没有成功。这种应用程序模式是什么?我认为没有它Zsh可以跑得很好。我说得对吗?是否希望在处理完密钥绑定后取消设置?一些应用程序(比如基于curses的应用程序)不会取消设置吗?

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

如果有人面临同样的问题。。。经过一番研究,我在一个prezto的pull请求下找到了我的问题的答案。

可以这样总结:

  1. 端子未指定且不通用。有几种不同的协议来处理移动光标、更改颜色和处理用户组合键输入的扩展
  2. 有人创建了一个大数据库来抽象不同终端和终端模拟器之间的差异。这个数据库是terminfo
  3. terminfo仅在应用程序模式下工作。向终端发出特殊的转义序列,然后终端可以更改其模式。在新模式中,它将接受不同的转义序列(terminfo已知的转义序列)
  4. 可以检测是否支持应用程序模式,如果不支持,则回退到其他方法(zkbd,…)
  5. zsh的常见配置设置zle(zsh的行编辑器)在接收用户输入之前进入应用程序模式,在执行任何命令之前退出。然后所有应用程序将继续正常运行

注意:并非所有常见的zsh配置都那么健壮,建议阅读前面提到的prezto的pull请求。

我的一些配置记录在我的博客上,也可以在我的git repo上找到。

相关内容

  • 没有找到相关文章

最新更新