learnxinyminutes-docs/pt-br/tmux-pt.html.markdown
2015-10-17 13:14:48 +02:00

255 lines
7.6 KiB
Markdown

---
category: tool
tool: tmux
contributors:
- ["mdln", "https://github.com/mdln"]
translators:
- ["Luis Custodio", "http://luiscustodio.com"]
lang: pt-br
filename: LearnTmux-pt.txt
---
O [tmux](http://tmux.sourceforge.net)
é um multiplexador de terminal, ele permite que terminais sejam criados,
acessados e controlados a partir de uma unica instância. tmux pode ser separado
de uma tela e continuar rodando no plano de fundo e depois ser reacoplado à
instância (ou tela original).
```
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
attach # Reacopla a última seção disponível
-t "#" # Reacopla a seção com nome "#"
-d # Separa (Desacopla) a sessaão de outras instâncias.
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
-t "#" # Lista os painéis baseado no nome "#"
kill-window # Encerrar a janela corrente
-t "#" # Encerrar a janela baseado no nome "#"
-a # Encerrar todas as janelas
-a -t "#" # Encerrar todas as janelas exceto a com nome "#"
kill-session # Encerrar seção corrente
-t "#" # Encerrar seção com nome "#"
-a # Encerrar todas as seções
-a -t "#" # Encerrar todas as seções exceto a com nome "#"
```
### Teclas de atalhos (comandos)
A maneira de controllar uma seção tmux acoplada é através de uma
combinação de teclas de prefixo.
```
----------------------------------------------------------------------
(C-b) = Ctrl + b # Combinação de prefixos para usar comandos(atalhos).
(M-1) = Meta + 1 -or- Alt + 1
----------------------------------------------------------------------
? # Lista todos os comandos.
: # Acessa o lugar (prompt command) para receber comandos do tmux
r # Força a redefiniçao do cliente acoplado.
c # Cria uma nova janela.
! # Retira o painel corrente da janela.
% # Divide o painel corrente em dois para a esquerda e direita.
" # Divide o painel corrente em dois para cima e para baixo.
n # Move para a próxima janela.
p # Move para a janela anterior.
{ # Troca o painel corrente pelo anterior.
} # Troca o painel corrent pelo posterior.
s # Seleciona uma nova seção para o cliente acoplado iterativamente.
w # Seleciona a janela corrente iterativamente.
0 to 9 # Seleciona a janela de 0 à 9.
d # Separa o cliente atual.
D # Seleciona um cliente a ser separado.
& # Encerra a janela corrente.
x # Encerra o painel corrente.
Up, Down # Move para o painel acima, abaixo, a esquerda ou a direita.
Left, Right
M-1 to M-5 # Organiza os paines:
# 1) Horizontalmente de maneira igual
# 2) Verticalmente de maineira igual.
# 3) Principal horizontalmente
# 4) Principal verticamente.
# 5) Mosaico
C-Up, C-Down # Altera o tamanho do painel corrente baseado em uma célula.
C-Left, C-Right
M-Up, M-Down # Altera o tamanho do painel corrente baseado em cinco células.
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.
```
# Exemplo de tmux.conf
# 2014.10
### General
###########################################################################
# Habilita UTF-8
setw -g utf8 on
set-option -g status-utf8 on
# Limite da história de comandos
set -g history-limit 2048
# Indíce de inicialização
set -g base-index 1
# Mouse
set-option -g mouse-select-pane on
# Recarregar o arquivo de configuração sem a necessidade de reiniciar o programa
unbind r
bind r source-file ~/.tmux.conf
### Teclas de atalho
###########################################################################
# Desvincular C-b como prefixo padrão.
unbind C-b
# Define um novo prefixo padrão.
set-option -g prefix `
# Definir prefixos que podem ser usados para voltar para a janela anterior.
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 `
# Preferencia de teclas de atalho
setw -g mode-keys vi
set-option -g status-keys vi
# Mover enter paineis com teclas de orientaçao do vim
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
# Iterar entre os painéis
bind = split-window -h
bind - split-window -v
unbind '"'
unbind %
# Habilitar a sub-seção a enviar comandos.
bind a send-prefix
### Theme
###########################################################################
# 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-content-attr default
setw -g window-status-content-fg yellow
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]"
```
### Referências
[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.