sexta-feira, 24 de julho de 2015

Tmux: uma opção para trabalhar com o terminal do linux

Para quem tem trabalha com o terminal do Linux e já se deparou com milhares de abas abertas ou precisou dividir a tela com dois terminais separados para acompanhar informações diferentes aí vai uma dica: Tmux!

Tmux vem do Terminal Multiplexer, ou seja vários terminais. Ele ajuda na composição de vários terminais em um só, com várias opções de organização. Veja os exemplos:

Terminal com dois sub-terminais na vertical

Terminal com dois sub-terminais na horizontal

Terminal com 4 sub-terminais
Como podemos ver nas imagens, com o Tmux fica fácil disponibilizar várias informações do terminal em uma tela só.

Para instalar o Tmux, segue os comandos:

 sudo yum install tmux     // Fedora
 sudo apt-get install tmux // Debian e Ubuntu


Após a instalação, eu configurei o Tmux para ficar com os mesmos comandos do Vim. Para isso eu alterei o .tmux.conf que fica no home (~/.tmux.conf) e adicionei as seguintes linhas:

 set -g prefix C-a  
 set -g history-limit 40000  
 setw -g mode-keys vi  
 set-option -g allow-rename off  
 bind-key v split-window -h  
 bind-key s split-window  


Feito isso, para abrir o Tmux, execute o comando tmux no terminal.
Para abrir uma janela na vertical, execute CTRL+A S.
Para abrir uma janela na horizontal, execute CTRL+A V.
Para navegar entre as janelas abertas, execute CTRL+A setas direcionais (cima, baixo, direita e esquerda)

Uma grande vantagem do Tmux é poder pesquisar texto dentro do terminal. Para isso, é preciso entrar no modo pesquisa usando o comando CTRL+PGUP e em seguida o comando / (Semelhante ao Vim). Para sair do modo pesquisa, basta pressionar ENTER.

Para mais informações, use o comando CTRL+A ? para ver outras opções ou ir no Manual do Tmux.

Até.

2 comentários:

  1. TMUX é bem legal pra esse serviço, a única coisa que senti falta em relação ao Screen é a opção de screen-sharing (dois usuários conectados ao mesmo tempo, excelente para pair programming)

    Ultimamente tenho dado uma chance ao neovim, que usa o comando :terminal pra implementar a multiplexação em cada buffer do Vim. Ainda está em estado inicial, mas é bem promissor.

    ResponderExcluir
  2. tmux tem sido uma ferramenta que tenho usando constantemente para desenvolvimento das minhas aplicações.

    ResponderExcluir