Переключитесь на последнее окно на экране GNU

StackOverflow https://stackoverflow.com/questions/19846265

  •  29-07-2022
  •  | 
  •  

Вопрос

Я знаю, как перечислить доступные Windows в экране, используя C-a " и/или C-a ', но как вы указываете, что вы хотите перейти на самый последний экран, не сказав так.

Например, что я ищу, что -то вроде этого:

C-a L

ПРИМЕЧАНИЕ: Я просто спрашиваю, поддерживает ли экран на этом изначально, или мне придется написать немного сценария, чтобы заставить это работать, также советы и указатели для написания указанного сценария, если это доказано, будет оценен.

Это было полезно?

Решение

Предполагая, что у вас есть окно 0 (то есть вы его не закрыли), вы можете сделать

C-a 0

(select 0) с последующим

C-a <backspace>

(prev), который переключается на предыдущий окно; Если вы находитесь в первом окне, он оборачивается до последнего.

А prev Команда имеет несколько других привязков ключей по умолчанию:

C-a h
C-a p
C-a C-p

Другие советы

Если вы создаете новые окна с Ctrl+a c Экран переключается на недавно созданное последнее окно. (Если это не то, что вы искали, тогда:

screen -Q select $(screen -S $STY -Q windows|sed 's/ \([[:digit:]]*-*\**\)\$/\n\1/g'|tail -n1|cut -d: -f1|sed 's/[^[:digit:]]//g')

«переключится на последнее окно на экране GNU» из любого окна экрана.)

В качестве альтернативы (без в зависимости от $ sty и предположить, что вы хотите первого или только сессии экрана в screen -ls) вы можете использовать:

screen -S $(screen -ls|grep '^\s'|awk '{print $1}'|head -n1) -Q select $(screen -Q windows|sed 's/\([[:digit:]]*-*\**\)\$*\!*/\n\1/g'|grep '[[:digit:]]'|tail -n1|sed 's/[^[:digit:]]//g')

Если это то, что вам часто нужно, вы можете добавить:

_stslw_fn(){ screen -Q select $(screen -Q windows|sed 's/\([[:digit:]]*\)[^ ]*/\n\1/g'|tail -n1);};alias stslw="_stslw_fn"

до конца ~/.bash_aliases Чтобы создать stslw (Переключитесь на последнюю команду экрана).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top