Utilizando pipx no lugar do pip
Introdução O pipx funciona parecido com o pip, porém ele já cria ambientes isolados automaticamente (venvs). Instalação …
Aqui começa a aventura de melhorar seu fluxo de trabalho no terminal
Multiplexador de terminal, ou seja, cada painel é um tty. É um programa excelente mas exige o desenvolvimento de scripts ou programas para customizar e melhorar algumas coisas da interface!
Seria legal se houvesse algo já pronto sem ter de complicar muito a instalação… o que é isso aqui!?
Conjunto de scripts voltados para serem usados com o tmux/screen (tem no repositório do Debian )! Era exatamente o que eu precisava! 😄🎉
Comando | Descrição |
---|---|
C | Ctrl |
M | Alt |
S | Shift |
RET | Enter |
SPC | Espaço |
- | Separador, quando tem que segurar C , M ou S antes |
Esta lista de comandos baseia-se na configuração que é compartilhada a seguir!
O comando de prefixo precisa ser executado antes de utilizar qualquer comando (por isso se chama prefixo)
Comando | Descrição |
---|---|
C -a | Comando de prefixo |
F12 | Comando de prefixo alternativo |
Lembrando que precisa executar o prefixo antes! 😉
Comando | Descrição |
---|---|
? | Mostra todas as teclas de atalho |
d | Desanexa a seção do byobu/tmux |
r | Recarrega arquivo de configuração sem sair do byobu/tmux |
Lembrando que precisa executar o prefixo antes! 😉
Comando | Descrição |
---|---|
- | Divide a janela horizontalmente, acrescenta painel |
= | Divide a janela verticalmente, acrescenta painel |
. | Escolher para qual índice não ocupado a janela irá |
n | Renomeia a janela atual |
N | Renomeia a seção atual |
w | Cria nova janela |
Estes comandos não precisam de prefixo! 😮
Comando | Descrição |
---|---|
S -→ , S -← | Ir para janela seguinte ou janela anterior |
M -S -→ , M -S -← | Mover janela para posição da janela seguinte ou da janela anterior |
Lembrando que precisa executar o prefixo antes! 😉
Comando | Descrição |
---|---|
↑ , ↓ , → , ← | Escolha de painéis da janela |
h , j , k , l | Escolha de painéis da janela, estilo vi |
! | Retira o painel atual para criar nova janela |
y | Liga/desliga a escrita simultânea em todos os painéis da mesma janela |
C -↑ , C -↓ , C -→ , C -← | Redimensiona painel |
C -h , C -j , C -k , C -l | Redimensiona painel, estilo vi |
M -↑ , M -↓ , M -→ , M -← | Redimensiona painel multiplicando por 5 |
M -h , M -j , M -k , M -l | Redimensiona painel multiplicando por 5, estilo vi |
Estes comandos não precisam do prefixo! 😮
Comando | Descrição |
---|---|
M -↑ , M -↓ , M -→ , M -← | Escolha de painéis da janela |
M -h , M -j , M -k , M -l | Escolha de painéis da janela, estilo vi |
PageUp , PageDown | Subir ou descer no buffer do painel |
S -F8 | Reorganiza a divisão/distribuição dos painéis |
S -F11 | Dá zoom e zoom out no painel |
Copiar e colar no estilo vim!? 😱
Comando | Descrição |
---|---|
C -a ESC | Entra no modo cópia |
v | Seleciona modo visual |
C -v | Seleciona modo visual/bloco |
y | Copia o que foi selecionado |
Alguns comandos que podem ser executados no terminal para gestão das seções e outros comandos úteis.
Comando | Descrição |
---|---|
byobu ls | Lista as seções ativas do byobu/tmux |
byobu a ou byobu attach | Abre o byobu/tmux anexando à última seção |
byobu new ou byobu new-session | Inicia uma nova seção |
Iniciar a aplicação cmatrix
, numa seção chamada matrix e deixa desanexado.
byobu new -s matrix -d 'cmatrix'
Iniciar uma nova seção com o byobu, editando o arquivo ~/.byobu/.tmux.conf
no vim, dividir a janela e, depois, anexar à seção.
byobu new-session -d 'vim ~/.byobu/.tmux.conf' \; split-window -d \; attach
Executando as teclas de atalho C
-a
d
, seguido do comando byobu ls
, verá o seguinte:
2: 1 windows (created Sun Aug 28 22:55:24 2022)
matrix: 1 windows (created Sun Aug 28 22:53:05 2022)
Para entrar na seção matrix, execute o comando:
byobu a -t matrix
Para recarregar o arquivo de configuração, após alterá-lo, execute:
byobu source-file ~/.byobu/.tmux.conf
Ou, enquanto no tmux, faça C
-a
r
para recarregar o tema sem sair do byobu/tmux. Está em uma das primeiras tabelas de comandos.
~/.byobu/.tmux.conf
Arquivo de configuração para utilizar as teclas de atalho apresentadas.
# Arquivo de configuração inicial em: https://github.com/adambard/learnxinyminutes-docs/blob/master/pt-br/tmux-pt.html.markdown
### Geral
###########################################################################
# Redefinindo o Ctrl+a como prefixo
unbind-key -n C-a
set -g prefix ^A
set -g prefix2 F12
# Limite de histórico de comandos
set -g history-limit 2048
# Índice inicial
set -g base-index 1
set -g pane-base-index 1
# Mouse
set-option -g -q mouse on
# Recarregar o arquivo de configuração sem a necessidade de reiniciar o programa
unbind r
bind r source-file ~/.byobu/.tmux.conf \; display "Configuração recarregada!"
# Enviar o Ctrl+a ao terminal (para ir ao início da linha)
bind a send-prefix
bind C-a send-prefix
### Teclas de atalho / Comandos
###########################################################################
# Preferência de comandos
setw -g mode-keys vi
set-option -g status-keys vi
# Alternar enter painéis com as e teclas de orientação do vim segurando Alt
bind -n M-h select-pane -L
bind -n M-j select-pane -D
bind -n M-k select-pane -U
bind -n M-l select-pane -R
# Redimensionar painéis de 1 em 1
bind C-h resize-pane -L
bind C-l resize-pane -R
bind C-j resize-pane -D
bind C-k resize-pane -U
# Redimensionar painéis de 5 em 5
bind M-h resize-pane -L 5
bind M-l resize-pane -R 5
bind M-j resize-pane -D 5
bind M-k resize-pane -U 5
# Alternar enter painéis com as setas do teclado segurando Alt
bind -n M-Left select-pane -L
bind -n M-Down select-pane -D
bind -n M-Up select-pane -U
bind -n M-Right select-pane -R
# Iterar entre as Janelas
bind -n S-Left previous-window
bind -n S-Right next-window
bind -n M-S-Left swap-window -t -1
bind -n M-S-Right swap-window -t +1
unbind n
unbind w
bind n command-prompt "rename-window '%%'"
bind N command-prompt "rename-session '%%'"
bind w new-window -c "#{pane_current_path}"
# Dividir painéis
bind = split-window -h
bind - split-window -v
unbind '"'
unbind %
# Escrever em todos os paineis da mesma janela
unbind y
bind y setw synchronize-panes
# Copiar e colar no modo cópia no estilo vim
bind Escape copy-mode
unbind p
bind p paste-buffer
unbind-key -T copy-mode-vi v
bind-key -T copy-mode-vi 'v' send-keys -X begin-selection
bind-key -T copy-mode-vi 'C-v' send -X rectangle-toggle
bind-key -T copy-mode-vi 'y' send-keys -X copy-selection-and-cancel
### Tema / Estilo
###########################################################################
# 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 50
set-option -g status-right-length 80
# Paleta de cores para mensagem
set-option -g message-style bg=black
set-option -g message-style fg=green
# Paleta de cores para janela de status
setw -g window-status-current-style fg=green
setw -g window-status-bell-style fg=red
setw -g window-status-activity-style fg=yellow
# Cor do relógio
set-window-option -g clock-mode-colour green
### 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, mostrar Seção/Janela/Painel e aviso de sincronização
# Pego daqui: https://github.com/relaxdiego/dotfiles
set -g status-left "#[fg=colour248]S:#S W:#I P:#P #{?pane_synchronized,#[fg=colour255]#[bg=red](painéis sincronizados)#[default],} "
~/.byobu/status
Informações na barra de status que serão exibidos na direita:
# status - Byobu's default status enabled/disabled settings
#
# Override these in $BYOBU_CONFIG_DIR/status
# where BYOBU_CONFIG_DIR is XDG_CONFIG_HOME if defined,
# and $HOME/.byobu otherwise.
#
# Copyright (C) 2009-2011 Canonical Ltd.
#
# Authors: Dustin Kirkland <kirkland@byobu.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, version 3 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Status beginning with '#' are disabled.
# Screen has two status lines, with 4 quadrants for status
screen_upper_left="color"
screen_upper_right="color whoami hostname ip_address menu"
screen_lower_left="color logo distro release #arch session"
screen_lower_right="color network #disk_io custom #entropy raid reboot_required updates_available #apport #services #mail users uptime #fan_speed #cpu_temp battery wifi_quality #processes load_average cpu_count cpu_freq memory #swap disk #time_utc date time"
# Tmux has one status line, with 2 halves for status
tmux_left="logo #distro release #arch session"
# You can have as many tmux right lines below here, and cycle through them using Shift-F5
tmux_right="#network #disk_io #custom #entropy #raid #reboot_required #updates_available #apport #services #mail #users #uptime #ec2_cost #rcs_cost #fan_speed #cpu_temp #battery #wifi_quality #processes load_average #cpu_count #cpu_freq memory #swap disk whoami hostname ip_address #time_utc #date time"
#tmux_right="#network #disk_io #custom #entropy raid reboot_required updates_available #apport #services #mail #users uptime #fan_speed #cpu_temp #battery #wifi_quality #processes load_average cpu_count cpu_freq memory #swap disk #whoami #hostname #ip_address #time_utc date time"
#tmux_right="network #disk_io #custom entropy raid reboot_required updates_available #apport #services #mail users uptime fan_speed cpu_temp battery wifi_quality #processes load_average cpu_count cpu_freq memory #swap #disk whoami hostname ip_address #time_utc date time"
#tmux_right="network #disk_io custom #entropy raid reboot_required updates_available #apport #services #mail users uptime #fan_speed #cpu_temp battery wifi_quality #processes load_average cpu_count cpu_freq memory #swap #disk #whoami #hostname ip_address #time_utc date time"
#tmux_right="#network disk_io #custom entropy #raid #reboot_required #updates_available #apport #services #mail #users #uptime fan_speed cpu_temp #battery #wifi_quality #processes #load_average #cpu_count #cpu_freq #memory #swap whoami hostname ip_address #time_utc disk date time"
Caso deseje definir alguma fonte de informação da barra da direita, edite o arquivo ~/.byobu/statusrc
~/.byobu/color.tmux
Gostei de usar as seguintes cores:
BYOBU_DARK="black"
BYOBU_LIGHT="white"
BYOBU_ACCENT="gray"
BYOBU_HIGHLIGHT="green"
/etc/motd
Introdução O pipx funciona parecido com o pip, porém ele já cria ambientes isolados automaticamente (venvs). Instalação …
Faça sua página estática em Hugo, que ficará hospedada no seu Gitlab, e monte seu Gitlab Pages com Gitlab-CI. Hugo é um …
Para conversar comigo ou saber outros detalhes profissionais
me encontre no…