是否可以在 GNU 屏幕中打开指定位置的选项卡并将所有选项卡移动到该位置的右侧?例如,如果我打开了选项卡:并且我想在我想要的1 2 3 4
位置打开新选项卡,或者换句话说:2
1 [newly-opened-tab] 3 4 5
- 新 1 将与旧 1 相同
- new 2 将是我新打开的选项卡
- 新 3 将是我的旧 2
- 新 4 将是我的旧 3
- 新 5 将是我的旧 4
答案1
是的,但不是用单个命令。您可以编写一个简短的脚本来处理它。您基本上需要:
- 打开新选项卡
- 虽然未达到目标数量:
- 确定当前选项卡编号 (
$WINDOW
) - 确定更接近目标数字的数字 1(例如,如果当前数字是 5 而您想要 2,那么更接近目标数字 1 的数字是 4)
- 使用该
number
命令将选项卡与更接近的选项卡交换(例如screen -S <session_name> -p <current_number> -X number <one_closer_number>
)
- 确定当前选项卡编号 (
您还可以使用 Ctrl+a 手动执行上述操作:键绑定并输入number <one_closer_number>
(显然将 <one_closer_number> 替换为更接近的实际数字)
解释
Screen 的number
命令会将当前选项卡的编号与目标编号交换,因此如果您想将所有其他选项卡移至目标编号,则必须逐步向下移动到目标编号。