Conteúdo
- O que é tmux
- Iniciando e iniciando uma nova sessão
- Abrindo uma nova janela
- Transições entre janelas
- Dividindo janelas e criando painéis
- Movendo-se entre os painéis
- Movendo-se entre as sessões
- [Uso prático] Redirecionando o conteúdo exibido no tmux
- [Uso prático] Exibindo o nome do branch Git no campo de informações
- [Uso prático] Exibir o caminho da operação atual
- [Uso prático] Chamando um snippet
- Link para as configurações .tmux.conf
- Compatibilidade de versão Tmux
O que é tmux
tmux é um multiplexador de terminal. Quando você trabalha em uma máquina usando SSH, executando um programa pesado, mas deseja passar para outra tarefa, etc. sem interromper a execução, o tmux pode ser muito útil.
Mas as capacidades do tmux não param por aí. Existem vários casos de uso úteis para o tmux, que desejo demonstrar com os exemplos abaixo.
A ideia básica é semelhante aos mods no Vim. Com a ajuda de prefix'a (atalhos de teclado reservados ou atalhos de teclado), você pode alterar o mod, o padrão é ctrl + b.
Iniciando e iniciando uma nova sessão
Se o seu sistema operacional for Ubuntu ou Debian, você pode instalar o tmux com o comando `sudo apt-get install tmux`. No MacOS - brew install tmux.
Comando para executar:
$ tmux
Se você deseja iniciar o tmux e nomear imediatamente a nova sessão, use este comando:
$ tmux new -s { }
Abrindo uma nova janela
Depois de criar uma sessão no tmux, você também pode criar novas janelas. O link padrão é "ctrl + b + c". Se você manteve seu prefixo, pode usar o link "prefixo + c". Muito provavelmente, o valor de “c” é criar, portanto, esse pacote.
Transições entre janelas
Você também pode alternar livremente entre as janelas criadas. As ligações padrão para isso são "prefixo + p" (p - anterior) e "prefixo + n" (n - próximo).
Usar o prefixo nem sempre é conveniente, portanto, personalizei as combinações de teclas para alternar entre as janelas: shift + rightKey para a próxima janela e shift + leftKey para a anterior.
Dividindo janelas e criando painéis
Dividir janelas no tmux é semelhante a dividir no vim. Você divide a janela em vários painéis, assim você pode abrir o vim em uma janela, htop em outra e executar o programa na terceira.
Sem atalhos de teclado, os comandos para dividir a janela são prefixo + "janela dividida -h", prefixo + "janela dividida -v".
Como eu realmente não quero prescrever isso todas as vezes, fiz teclas de atalho para mim na forma de prefixo + "-", prefixo + "|".
Movendo-se entre os painéis
Os comandos padrão para mover entre os painéis são complicados, não muito convenientes de usar, então neste caso eu atribuí minhas próprias teclas de atalho: ctrl + shift + upKey, ctrl + shift + downKey, ctrl + shift + rightkey, ctrl + shift + leftKey.
Movendo-se entre as sessões
Usando a combinação de teclas ctrl + t, você pode chamar a lista de sessões e usar as teclas ↑ ↓ para selecionar a sessão desejada.
[Uso prático] Redirecionando o conteúdo exibido no tmux
Basicamente, tmux é um tipo de terminal virtual, contido no diretório / dev / pts / {fooBar}. Um diretório do mesmo formato é criado para cada painel.
Em outras palavras, se definirmos {fooBar} para cada painel, podemos redirecionar os fluxos stdout e stderr do painel X separadamente - um para o painel Y, o outro para o painel Z.
Assim, você pode gerar programas que você escreve em diferentes painéis stderr e stdout, e também use o terminal como um registro de operações.
[Uso prático] Exibindo o nome do branch Git na barra de status
Este é um hack de vida que usa a capacidade de ler Shellscript e script Python do arquivo de configuração .tmux.conf - tmux.
A barra de status pode ser configurada com o seguinte comando:
set-option -g status-right '#{host} #(tmux run-shell "tmux_hook --default true --git-path #{pane_current_path}")'
# {host} é obviamente o nome do host, e o tmux run-shell executa um script personalizado que retorna valor para as configurações da barra de status.
tmux_hook é um arquivo que criei para exibir a hora e o branch atual do Git, mas pode essencialmente retornar qualquer informação de texto. Por exemplo, se configurado corretamente, você pode até mesmo exibir sua linha do tempo do Twitter na barra de status.
[Uso prático] Exibir o caminho da operação atual
Freqüentemente, pulando pelo terminal, você deseja saber em qual diretório está e em qual caminho ele está.
Não quero escrever pwd para isso novamente, então você pode exibir o caminho da operação atual no mesmo lugar onde o caminho para o painel atual é exibido.
setw -g pane-border-format '#{pane_tty} | #{pane_current_path}'
[Uso prático] Chamando um snippet
Mesmo que o tmux seja um gerenciador de sessão com um recurso de compartilhamento de terminal, ele pode fazer algumas funções IDE (legal, não é?). Você pode vincular suas teclas de atalho à configuração especial de envio de teclas e chamá-las no terminal.
Por exemplo, se você configurar as teclas de envio como no meu exemplo abaixo, você pode simplesmente pressionar prefixo + 1 e exibir os comandos de importação necessários para trabalhar com o python.
bind -T prefix -n 1 send-keys "import os\nimport sys\n"
Link para as configurações .tmux.conf
Bem aqui
Compatibilidade de versão Tmux
Às vezes acontece que algumas configurações do tmux não funcionam - neste caso, sua versão pode ser muito nova ou muito antiga.
Todos os itens acima e a configuração para a qual deixei o link são para o tmux versão 2.8 e superior. Se algo não funcionar para você, verifique se esta versão é a certa para você.
Se você vai depurar algo você mesmo, então antes de tudo você deve consultar man tmux - a documentação mais confiável sobre tmux no momento.
Um link para o original deste artigo está aqui.
Ficaremos muito felizes se você nos contar se gostou deste artigo, a tradução foi clara, foi útil para você?