Como dividir o terminal em mais de uma “visão”?

239

A partir de vi , se você emitir o comando :sp , a tela será dividida em duas "visualizações", permitindo editar mais de um arquivo do mesmo terminal.

Na mesma linha, existe uma maneira de ter múltiplos shells abertos no mesmo terminal?

    
por Justin Ethier 15.02.2011 / 17:08

9 respostas

314

Você pode fazer isso em screen do multiplexador de terminais.

  • Para dividir verticalmente: ctrl a e então | .
  • Para dividir horizontalmente: ctrl a então S (maiúscula 's').
  • Para desfazer a divisão: ctrl a então Q (maiúsculo 'q').
  • Para alternar de um para o outro: ctrl a e, em seguida, a aba

Nota: Após a divisão, você precisa ir para a nova região e iniciar uma nova sessão via ctrl a e então c antes de poder use essa área.

EDITAR, uso básico da tela:

  • Novo terminal: ctrl a e depois c .
  • Próximo terminal: ctrl a então espaço .
  • Terminal anterior: ctrl a e depois backspace .
  • No terminal ctrl a então [n] . (funciona para n∈ {0,1… 9})
  • Alterne entre os terminais usando a lista: ctrl a e " (útil quando houver mais de 10 terminais)
  • Envie ctrl a para o terminal subjacente ctrl a e então a .
por 15.02.2011 / 17:17
96

Experimente o tmux (Terminal MUltipleXer):

Epara entender a diferença entre session , window e pane :

    
por 19.04.2012 / 20:56
57

Como mencionado nos comentários, além da tela, outro bom multiplexador de terminal é tmux . Você pode consultar o manual para uma descrição completa e referência de comando. Algumas operações básicas para começar são:

  • Dividir a tela verticalmente: Ctrl b e Shift 5
  • Dividir a tela horizontalmente: Ctrl b e Deslocar "
  • Alterne entre os painéis: Ctrl b e o
  • Feche o painel atual: Ctrl b e x

Você pode obter layouts mais complexos dividindo os painéis. Você também pode ter várias janelas com painéis e alternar entre elas.

  • Crie janelas: Ctrl b e c
  • Muda para a próxima janela: Ctrl b e n
  • Muda para a janela anterior: Ctrl b e p
  • Destrói a janela atual: Ctrl b e Deslocamento 7
por 29.11.2011 / 16:02
20

Se você quer um programa que apenas divide um terminal¹, há splitvt . Existem programas que dividem um terminal e fazem muitas outras coisas, como Screen, Tmux, Emacs,…

¹ É o terminal que você está dividindo, não o shell.

    
por 16.02.2011 / 00:08
17

Além das excelentes sugestões sobre Screen e Tmux, se você estiver usando algum tipo de gerenciador de janelas, talvez esteja interessado em Terminator você pode dividir a moda horizontalmente ou verticalmente, além de guias e muito mais ... aqui está uma lista de recursos extraídos do site do autor:

  • Organizar terminais em uma grade
  • Guias
  • Arrastar e soltar a reordenação de terminais
  • Muitos atalhos de teclado
  • Salvar vários layouts e perfis por meio do editor de preferências da GUI
  • Digitação simultânea em grupos arbitrários de terminais

Veja as capturas de tela no site do projeto.

O mais importante é combinar o Terminator com o Screen / Tmux.

    
por 08.03.2012 / 19:34
6

O Konsole para o KDE tem uma função incorporada: Ctrl + (

Shift + A aba irá percorrer as vistas divididas

Shift + Seta para a esquerda / Seta para a direita faz o ciclo da vista atual através das abas / vistas

    
por 15.11.2015 / 23:06
6

Use o terminador .

Deve estar disponível através do seu gerenciador de pacotes favorito, se você usar uma distribuição mainstream.

É o único multiplexador de terminal em que a cópia e colagem funciona corretamente a partir dos painéis em sua janela.

Atualização: tilix é uma alternativa terminator que é quase totalmente parecida com o terminador (e onde o copypasting também funciona corretamente). Depois de avaliá-lo, ainda fico com terminator , no entanto, devido ao manuseio mais agradável da guia e à configuração mais fácil (do meu POV).

    
por 14.10.2015 / 12:58
3

Byobu

Sou um usuário feliz de Guake com Byobu dentro dele, que por padrão usa tmux ( provavelmente melhor do que screen ).

Três etapas

  1. Instale: sudo apt-get install byobu (não há PPAs necessários no Ubuntu nem no Debian, procure outras distros ).
  2. Adicione aos shells disponíveis: which byobu | sudo tee -a /etc/shells , como eu disse nesta edição do Guke Github
  3. Nas preferências do Guake ( guake-prefs ), escolha Byobu como o intérprete padrão:
  4. Opcional:Desmarqueaopção"Mostrar barra de guias", pois você usará o Byobu para isso:

  5. Seumatalhonãofuncionar,tentedesabilitarosGuakequepossaminterferir(nomeucasofoiCtrl+F2paradivisãovertical):

Outrassugestões

  1. AprendaatalhoscomShift+F1ou este excelente screencast .
  2. Aprenda os comandos do terminal byobu disponíveis com apropos byobu
  3. Para usar as teclas fn no Midnight Commander, use Alt + ou Deslocamento + F12 para desativar byobu F -chaves.

    
por 31.03.2017 / 21:02
2

Tente Divisão vertical para a tela GNU

Este patch fornece um recurso de divisão vertical para as versões atuais do GNU Screen. O recurso é projetado para funcionar da mesma maneira que o comando split existente na tela, mas dividindo as regiões verticalmente em vez de horizontalmente. Ambas as formas de divisão podem ser usadas juntas em qualquer combinação / quantidade / ordem desejada. Algo semelhante está programado para aparecer no GNU Screen 4.1 em breve, e já está disponível em CVS por este thread de lista de discussão (e foi incluído nos pacotes de tela Debian e Ubuntu começando com 4.0.3-10). Além disso, um projeto recente chamado ScreenWM foi projetado especificamente para trabalhar com uma tela com patch vsplit (confira!).

    
por 15.05.2013 / 09:03