GNU 屏幕在 vim 启动和退出时不断更改窗口标题

GNU 屏幕在 vim 启动和退出时不断更改窗口标题

我在屏幕上的状态行是:

hardstatus alwayslastline "%{= Wk}%-Lw%50>%{= BW}%n%f* %t%{= Wk}%+Lw%<"

这始终显示窗口列表及其名称。我还绑定了 Ca T 将其设置回来,以防有一些二进制输出到 stdout 并且它发生变化。

然而,自从上次更新某个包以来,每当我打开 vim 时它都会不断变化

[No Name] - VIM

然后,每当我关闭 vim 时,我都会得到

 - Terminal - Terminal - Terminal - Terminal

一开始只有一个“-Terminal”,但每次都会多一个。 Screen 还将其传播到终端模拟器的 xterm 窗口标题。

因此,每当我打开或关闭 vim(可能还​​有其他一些程序)时,我都必须按 Ca T。这很烦人。

我怎样才能关闭它?

GNU bash, version 4.4.19(1)-release (x86_64-pc-linux-gnu)
Screen version 4.06.02 (GNU) 23-Oct-17
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Jun 07 2019 11:40:34)

答案1

我发现我真正想要的是一个标题,而不是一个硬状态:

caption[top|bottom]always|splitonly[string]

caption string[string]

    该命令控制窗口标题的显示。通常,仅当显示屏上显示多个窗口时才使用标题(分屏模式)。但如果类型设置为 always,即使只显示一个窗口,屏幕也会显示标题。默认为splitonly.

    第二种形式更改用于标题的文本。您可以使用“字符串转义” 章节。屏幕使用默认值“ %3n %t”。

    您可以通过提供字符串作为附加参数来混合这两种形式。

    您可以将标题显示在窗口的顶部或底部。默认为底部。

     - 来源:(屏幕(1)手册页。也可以看看:(GNU) 屏幕用户手册

所以,我设置hardstatusalwaysignore添加:

caption bottom always
caption always "%{= Wk}%-Lw%50>%{= BW}%n%f* %t%{= Wk}%+Lw%<"

状态中多次出现“- Terminal”的问题是由终端模拟器(xfce4-terminal)引起的。

相关内容