No bash, quando digito screen -x
e pressiono tab duas vezes, obtenho uma lista de todas as sessões em execução.
No zsh, quando digito screen -ls
e pressiono tab duas vezes, obtenho uma lista de todas as sessões em execução e posso percorrê-las, eventualmente selecionar uma ao pressionar enter, mas isso é executado screen -ls session-name
ao pressionar enter novamente.
O que eu quero em zsh é obter um comportamento -x
semelhante a -ls
, para que eu não precise digitar o nome da sessão ou selecionar a sessão e voltar e mudar ls
para x
.
Não consigo encontrar o código que implementa o screen -ln
comportamento da guia para também implementá-lo para -x
, tenho pesquisado/pesquisado na lista de .oh-my-zsh
plug-ins, mas não estou chegando a lugar nenhum.
Qualquer ajuda é apreciada, ou talvez algumas dicas de fluxo de trabalho. Eu uso muito a tela e a maior parte é via screen -x
.
O código está em
_screen
(a conclusão é fornecida nativamente pelo zsh, não é um plugin adicional). O Zsh conclui todas as sessões,-ls
mas apenas as sessões anexadas para arquivos-x
.-x
destina-se a “Anexar a uma sessão de tela não desanexada” (conforme o manual). Mas também funciona se a sessão for desanexada. Portanto, ambos os comportamentos fazem sentido. Idealmente, esta deve ser uma opção de configuração para a conclusão do zsh.Para obter o comportamento desejado em vez do comportamento atual, você precisa alterar a linha
para
Aqui está algum código que você pode colocar em seu arquivo init para corrigir a função de conclusão para obter o comportamento desejado. Ele precisa ir depois
compinit
(portanto, depois das linhas oh-my-zsh, se você usar oh-my-zsh).