在 tmux 中使用扩展转义码

在 tmux 中使用扩展转义码

我使用 kitty 终端模拟器进行日常开发,我了解到它有这些自定义转义序列为了花哨的下划线。我真的很想让它们在 vim 中工作,经过一些 vimrc 调整后,它们开始出现。然而,每当我处于 tmux 会话中时,代码就会突然停止工作。我读过一些内容,看起来 tmux 正在“吞噬”转义码,有人建议像这样围绕序列:"\ePtmux;\e<foo>\e\\,但运气不好:没有显示下划线/下卷曲。

这可能是不可能做到的事情,但如果不是的话,我不知道从哪里开始寻找,所以任何帮助将不胜感激!

我的.tmux.conf

set -g default-terminal "xterm-kitty"
set -sg escape-time 0

答案1

tmux 是一个终端模拟器。 kitty 理解的控制序列与以下应用无关与 tmux 终端对话。 tmux 不理解它们。在 tmux 下运行的应用程序没有直接连接到 kitty 模拟终端。

为了让这样的事情发挥作用,tmux 的终端仿真器部分必须理解从应用程序传入的这些控制序列,tmux 的内部必须理解不同类型下划线的概念,以及 tmux 实现其显示的部分另一个终端需要了解必要的控制序列以及支持它们的终端类型。尤其是后者还需要使用更多功能定义来扩展 terminfo 数据库。

这些都还没有完成。甚至建议。

如果你想要这样,请编写代码并向 tmux、terminfo 和其他需要更新的相关项目提交补丁;或雇用其他人来这样做。

相关内容