2015-10-17 14:10:00 +03:00
|
|
|
---
|
|
|
|
category: tool
|
|
|
|
tool: tmux
|
|
|
|
contributors:
|
|
|
|
- ["mdln", "https://github.com/mdln"]
|
|
|
|
translators:
|
|
|
|
- ["Luis Custodio", "http://luiscustodio.com"]
|
|
|
|
lang: pt-br
|
|
|
|
filename: LearnTmux-pt.txt
|
|
|
|
---
|
|
|
|
|
2016-10-26 11:20:58 +03:00
|
|
|
O [tmux](http://tmux.sourceforge.net) é um multiplexador de terminal,
|
|
|
|
ele permite criar vários terminais e gerenciar tudo na mesma interface.
|
|
|
|
tmux pode também rodar em background e depois ser recuperado(exibido) novamente.
|
2015-10-17 14:10:00 +03:00
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
tmux [command] # Roda um [comando]
|
|
|
|
# 'tmux' sem comandos irá criar uma nova seção
|
|
|
|
|
|
|
|
new # Cria uma nova seção
|
|
|
|
-s "Nome" # Cria uma nova seção com nome "Nome"
|
|
|
|
-n "Janela" # Cria uma janela com o nome "Janela"
|
|
|
|
-c "/dir" # Inícia em uma pasta específica
|
|
|
|
|
2016-10-26 11:20:58 +03:00
|
|
|
attach # Acopla a última seção disponível
|
|
|
|
-t "#" # Acopla a seção com nome "#"
|
|
|
|
-d # Separa (Desacopla) a seção de outras instâncias.
|
2015-10-17 14:10:00 +03:00
|
|
|
|
|
|
|
ls # Lista todas as seções
|
|
|
|
-a # Lista todas as seções abertas
|
|
|
|
|
|
|
|
lsw # Lista as janelas
|
|
|
|
-a # Lista todas as janelas
|
|
|
|
-s # Lista todas janleas em uma seção
|
|
|
|
|
|
|
|
lsp # Lista os painéis
|
|
|
|
-a # Lista todos os painéis
|
|
|
|
-s # Lista todos os painéis em uma seção
|
2016-10-26 11:20:58 +03:00
|
|
|
-t "#" # Lista os painéis chamados "#"
|
2015-10-17 14:10:00 +03:00
|
|
|
|
2016-10-26 11:20:58 +03:00
|
|
|
kill-window # Encerrar a janela atual
|
|
|
|
-t "#" # Encerrar a janela chamada "#"
|
2015-10-17 14:10:00 +03:00
|
|
|
-a # Encerrar todas as janelas
|
2016-10-26 11:20:58 +03:00
|
|
|
-a -t "#" # Encerrar todas as janelas exceto a "#"
|
2015-10-17 14:10:00 +03:00
|
|
|
|
2016-10-26 11:20:58 +03:00
|
|
|
kill-session # Encerrar seção atual
|
2015-10-17 14:10:00 +03:00
|
|
|
-t "#" # Encerrar seção com nome "#"
|
|
|
|
-a # Encerrar todas as seções
|
2016-10-26 11:20:58 +03:00
|
|
|
-a -t "#" # Encerrar todas as seções exceto a "#"
|
2015-10-17 14:10:00 +03:00
|
|
|
|
|
|
|
```
|
|
|
|
|
2015-10-17 14:14:48 +03:00
|
|
|
### Teclas de atalhos (comandos)
|
2015-10-17 14:10:00 +03:00
|
|
|
|
2016-10-26 11:20:58 +03:00
|
|
|
As seções tmux acopladas são controladas através de teclas de atalho. (prefix key)
|
2015-10-17 14:10:00 +03:00
|
|
|
|
|
|
|
```
|
|
|
|
----------------------------------------------------------------------
|
2016-10-26 11:20:58 +03:00
|
|
|
(C-b) = Ctrl + b # Abre a opção de receber comandos(atalhos).
|
2015-10-17 14:10:00 +03:00
|
|
|
|
|
|
|
(M-1) = Meta + 1 -or- Alt + 1
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
|
2015-10-17 14:13:02 +03:00
|
|
|
? # Lista todos os comandos.
|
2016-10-26 11:20:58 +03:00
|
|
|
: # Acessa o prompt command do tmux
|
|
|
|
r # Força a reinicialização do cliente acoplado.
|
2015-10-17 14:13:02 +03:00
|
|
|
c # Cria uma nova janela.
|
2015-10-17 14:10:00 +03:00
|
|
|
|
2016-10-26 11:20:58 +03:00
|
|
|
! # Retira o painel atual da janela.
|
|
|
|
% # Divide o painel atual em dois. Esquerda e direita.
|
|
|
|
" # Divide o painel atual em dois. Para cima e para baixo.
|
2015-10-17 14:10:00 +03:00
|
|
|
|
2016-10-26 11:20:58 +03:00
|
|
|
n # Muda para a próxima janela.
|
|
|
|
p # Muda para a janela anterior.
|
|
|
|
{ # Troca o painel atual pelo anterior.
|
2015-10-17 14:13:02 +03:00
|
|
|
} # Troca o painel corrent pelo posterior.
|
2015-10-17 14:10:00 +03:00
|
|
|
|
2015-10-17 14:13:02 +03:00
|
|
|
s # Seleciona uma nova seção para o cliente acoplado iterativamente.
|
2016-10-26 11:20:58 +03:00
|
|
|
w # Seleciona a janela atual iterativamente.
|
2015-10-17 14:13:02 +03:00
|
|
|
0 to 9 # Seleciona a janela de 0 à 9.
|
2015-10-17 14:10:00 +03:00
|
|
|
|
2015-10-17 14:13:02 +03:00
|
|
|
d # Separa o cliente atual.
|
|
|
|
D # Seleciona um cliente a ser separado.
|
2015-10-17 14:10:00 +03:00
|
|
|
|
2016-10-26 11:20:58 +03:00
|
|
|
& # Encerra a janela atual.
|
|
|
|
x # Encerra o painel atual.
|
2015-10-17 14:10:00 +03:00
|
|
|
|
2015-10-17 14:13:02 +03:00
|
|
|
Up, Down # Move para o painel acima, abaixo, a esquerda ou a direita.
|
2015-10-17 14:10:00 +03:00
|
|
|
Left, Right
|
|
|
|
|
2015-10-17 14:13:02 +03:00
|
|
|
M-1 to M-5 # Organiza os paines:
|
2015-10-17 14:10:00 +03:00
|
|
|
# 1) Horizontalmente de maneira igual
|
|
|
|
# 2) Verticalmente de maineira igual.
|
|
|
|
# 3) Principal horizontalmente
|
|
|
|
# 4) Principal verticamente.
|
|
|
|
# 5) Mosaico
|
|
|
|
|
2016-10-26 11:20:58 +03:00
|
|
|
C-Up, C-Down # Altera o tamanho do painel atual em uma célula.
|
2015-10-17 14:10:00 +03:00
|
|
|
C-Left, C-Right
|
|
|
|
|
2016-10-26 11:20:58 +03:00
|
|
|
M-Up, M-Down # Altera o tamanho do painel atual em cinco células.
|
2015-10-17 14:10:00 +03:00
|
|
|
M-Left, M-Right
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### Configurando ~/.tmux.conf
|
|
|
|
|
|
|
|
Existe um arquivo chamado tmux.conf, ele pode ser usado para definir opções no
|
|
|
|
momento de inicialização, da mesma maneira que .vimrc, init.el, .bash_profile são usados.
|
|
|
|
|
|
|
|
|
|
|
|
```
|
2016-10-26 11:20:58 +03:00
|
|
|
# Exemplo tmux.conf
|
|
|
|
# 2015.12
|
2015-10-17 14:10:00 +03:00
|
|
|
|
|
|
|
|
|
|
|
### General
|
|
|
|
###########################################################################
|
|
|
|
|
|
|
|
# Limite da história de comandos
|
|
|
|
set -g history-limit 2048
|
|
|
|
|
|
|
|
# Indíce de inicialização
|
|
|
|
set -g base-index 1
|
|
|
|
|
|
|
|
# Mouse
|
2016-10-26 11:20:58 +03:00
|
|
|
set-option -g -q mouse on
|
2015-10-17 14:10:00 +03:00
|
|
|
|
2015-10-17 14:13:02 +03:00
|
|
|
# Recarregar o arquivo de configuração sem a necessidade de reiniciar o programa
|
2015-10-17 14:10:00 +03:00
|
|
|
unbind r
|
|
|
|
bind r source-file ~/.tmux.conf
|
|
|
|
|
|
|
|
|
2016-10-26 11:20:58 +03:00
|
|
|
### Keybinds / Comandos
|
2015-10-17 14:10:00 +03:00
|
|
|
###########################################################################
|
|
|
|
|
|
|
|
# Desvincular C-b como prefixo padrão.
|
|
|
|
unbind C-b
|
|
|
|
|
|
|
|
# Define um novo prefixo padrão.
|
|
|
|
set-option -g prefix `
|
|
|
|
|
2016-10-26 11:20:58 +03:00
|
|
|
# Voltar janela anterior quando comando for usado duas vezes.
|
2015-10-17 14:10:00 +03:00
|
|
|
bind C-a last-window
|
|
|
|
bind ` last-window
|
|
|
|
|
|
|
|
# Fazer com que F11 e F12 alterem o comportamento de C-a e `
|
|
|
|
bind F11 set-option -g prefix C-a
|
|
|
|
bind F12 set-option -g prefix `
|
|
|
|
|
2016-10-26 11:20:58 +03:00
|
|
|
# Preferencia de comandos
|
2015-10-17 14:10:00 +03:00
|
|
|
setw -g mode-keys vi
|
|
|
|
set-option -g status-keys vi
|
|
|
|
|
2016-10-26 11:20:58 +03:00
|
|
|
# Alternar enter painéis com teclas de orientaçao do vim
|
2015-10-17 14:10:00 +03:00
|
|
|
bind h select-pane -L
|
|
|
|
bind j select-pane -D
|
|
|
|
bind k select-pane -U
|
|
|
|
bind l select-pane -R
|
|
|
|
|
|
|
|
# Iterar entre as Janelas
|
|
|
|
bind e previous-window
|
|
|
|
bind f next-window
|
|
|
|
bind E swap-window -t -1
|
|
|
|
bind F swap-window -t +1
|
|
|
|
|
2016-10-26 11:20:58 +03:00
|
|
|
# Dividir painéis
|
2015-10-17 14:10:00 +03:00
|
|
|
bind = split-window -h
|
|
|
|
bind - split-window -v
|
|
|
|
unbind '"'
|
|
|
|
unbind %
|
|
|
|
|
|
|
|
# Habilitar a sub-seção a enviar comandos.
|
|
|
|
bind a send-prefix
|
|
|
|
|
|
|
|
|
2016-10-26 11:20:58 +03:00
|
|
|
### Theme // Estilo
|
2015-10-17 14:10:00 +03:00
|
|
|
###########################################################################
|
|
|
|
|
|
|
|
# Paleta de cores para a barra de status
|
|
|
|
set-option -g status-justify left
|
|
|
|
set-option -g status-bg black
|
|
|
|
set-option -g status-fg white
|
|
|
|
set-option -g status-left-length 40
|
|
|
|
set-option -g status-right-length 80
|
|
|
|
|
|
|
|
# Paleta de cores para bordas do painel
|
|
|
|
set-option -g pane-active-border-fg green
|
|
|
|
set-option -g pane-active-border-bg black
|
|
|
|
set-option -g pane-border-fg white
|
|
|
|
set-option -g pane-border-bg black
|
|
|
|
|
|
|
|
# Palta de cores para mensagem
|
|
|
|
set-option -g message-fg black
|
|
|
|
set-option -g message-bg green
|
|
|
|
|
|
|
|
# Paleta de cores para janela de status
|
|
|
|
setw -g window-status-bg black
|
|
|
|
setw -g window-status-current-fg green
|
|
|
|
setw -g window-status-bell-attr default
|
|
|
|
setw -g window-status-bell-fg red
|
|
|
|
setw -g window-status-activity-attr default
|
|
|
|
setw -g window-status-activity-fg yellow
|
|
|
|
|
|
|
|
|
|
|
|
### UI
|
|
|
|
###########################################################################
|
|
|
|
|
|
|
|
# Notificações
|
|
|
|
setw -g monitor-activity on
|
|
|
|
set -g visual-activity on
|
|
|
|
set-option -g bell-action any
|
|
|
|
set-option -g visual-bell off
|
|
|
|
|
|
|
|
# Definir automaticamente o título de janelas
|
|
|
|
set-option -g set-titles on
|
|
|
|
set-option -g set-titles-string '#H:#S.#I.#P #W #T' # window number,program name,active (or not)
|
|
|
|
|
|
|
|
# Ajustes na barra de status
|
|
|
|
set -g status-left "#[fg=red] #H#[fg=green]:#[fg=white]#S#[fg=green] |#[default]"
|
|
|
|
|
|
|
|
# Mostrar indicativos de performance na barra de status
|
|
|
|
# Requires https://github.com/thewtex/tmux-mem-cpu-load/
|
|
|
|
set -g status-interval 4
|
|
|
|
set -g status-right "#[fg=green] | #[fg=white]#(tmux-mem-cpu-load)#[fg=green] | #[fg=cyan]%H:%M #[default]"
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
2015-10-17 14:14:48 +03:00
|
|
|
### Referências
|
2015-10-17 14:10:00 +03:00
|
|
|
|
|
|
|
[Tmux | Início](http://tmux.sourceforge.net)
|
|
|
|
|
|
|
|
[Manual Tmux (em inglês)](http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man1/tmux.1?query=tmux)
|
|
|
|
|
|
|
|
[Gentoo Wiki](http://wiki.gentoo.org/wiki/Tmux)
|
|
|
|
|
|
|
|
[Archlinux Wiki](https://wiki.archlinux.org/index.php/Tmux)
|
|
|
|
|
|
|
|
[Mostrar CPU/MEM % in statusbar](https://stackoverflow.com/questions/11558907/is-there-a-better-way-to-display-cpu-usage-in-tmux)
|
|
|
|
|
|
|
|
Possui uma sugestão? Uma correção, talvez? Abra um issue no Repositório GitHub, ou então faça um pull request.
|