gnu screen:重命名而不删除以前的名字?

gnu screen:重命名而不删除以前的名字?

在我的工作流程中我总是有一堆自定义命名的屏幕。

我使用 screen modified, e.g. Ctrl-a, Shift- a: 进入重命名模式。它将从上一个名称开始,光标位于末尾。然后我必须按下Backspace将其全部删除,然后输入名称。

大多数时候我都处于自动无脑模式并忘记删除旧名称,最终得到类似“bashNewname”的东西。

我可以编辑我的 screenrc 以将默认名称改为“”,但我使用的大量系统缺少我的 screenrc。因此,如果有一个我不知道的命令可以代替Shift-a并且该命令在所有标准 gnu screen 安装中都可用,那就太棒了。

答案1

您可以使用转义序列设置屏幕窗口的标题(从屏幕手册):

要在创建窗口后更改名称,可以使用标题字符串转义序列 ( <ESC> k name <ESC> \)和标题命令(Ca A)。

对于快速而粗糙的一次性操作,只需echo -e在该窗口的 shell 中输入您想要的标题(\033相当于<ESC>,并-e解释转义序列):

$ echo -e '\033k NewTitle\033\'

...但printf输入速度可能更快,而且更便携:

$ printf '\033k NewTitle\033\'

这两个命令中的任何一个都应该NewTitle作为当前窗口的标题出现。

使用 shell 别名或函数来自动化执行该操作并不困难,但如果您经常在不会共享 shell rc 文件的远程系统(例如通过 ssh)上使用它,某种键盘宏可能会更有用。

相关内容