From 3a6df357e6a84e97d8864c0f04e278201af6335b Mon Sep 17 00:00:00 2001 From: growsoftaware Date: Tue, 30 Dec 2025 01:32:12 -0300 Subject: [PATCH 1/5] feat(tmux): add vim-style bindings and floating popups MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add Escape to enter copy mode (more intuitive than '[') - Add 'v' for visual selection, 'y' for yank to clipboard - Add prefix+a to toggle last window - Add prefix+p/P for ephemeral/command popups - Add prefix+t for persistent scratch terminal - Add prefix+J/S/B for pane management - Reduce escape-time to 10ms for faster response - Fix clipboard compatibility (macOS: pbcopy, Linux: xclip) ๐Ÿค– Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- tmux/.tmux.conf | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/tmux/.tmux.conf b/tmux/.tmux.conf index 27feb44..c1297da 100644 --- a/tmux/.tmux.conf +++ b/tmux/.tmux.conf @@ -3,14 +3,27 @@ unbind C-b set -g prefix C-a bind C-a send-prefix +# Reduz delay do Escape (padrรฃo 500ms) +set -sg escape-time 10 + +# Alternar para รบltima janela +bind a last-window + # Modo vi para navegaรงรฃo setw -g mode-keys vi +bind Escape copy-mode +bind-key -T copy-mode-vi v send-keys -X begin-selection + +# Clipboard: detecta OS (macOS = pbcopy, Linux/WSL = xclip) +if-shell "uname | grep -q Darwin" \ + "bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'pbcopy'" \ + "bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -selection clipboard'" # Mouse habilitado + copia ao selecionar set -g mouse on if-shell "uname | grep -q Darwin" \ - "bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel 'pbcopy'" \ - "bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel 'xclip -selection clipboard'" + "bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel 'pbcopy'" \ + "bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel 'xclip -selection clipboard'" # Histรณrico maior set -g history-limit 10000 @@ -36,7 +49,18 @@ bind -n M-Down select-pane -D bind r source-file ~/.tmux.conf \; display "Config recarregada!" # Cheatsheet popup -bind h display-popup -E -w 67 -h 42 "~/.config/tmux/scripts/cheatsheet.sh" +bind h display-popup -E -w 112 -h 90% "~/.config/tmux/scripts/cheatsheet.sh" + +# Popup flutuante para comando rรกpido (efรชmero) +bind p display-popup -E -w 80% -h 80% +bind P command-prompt -p "Comando:" "display-popup -E -w 80%% -h 80%% '%%'" + +# Scratch terminal (pode virar pane depois) +bind t if-shell "tmux has-session -t scratch 2>/dev/null" \ + "if-shell \"[ \\\"$(tmux display-message -p '#S')\\\" = scratch ]\" \ + 'detach-client' \ + 'display-popup -E -w 80% -h 80% \"tmux attach -t scratch\"'" \ + "display-popup -E -w 80% -h 80% 'tmux new-session -s scratch'" # Cores e visual set -g default-terminal "tmux-256color" @@ -53,3 +77,6 @@ set -g window-status-current-format "#[bg=#313244,fg=#cdd6f4,bold] #I:#W " set -g pane-border-style fg="#313244" set -g pane-active-border-style fg="#89b4fa" set -g message-style bg="#313244",fg="#cdd6f4" +bind-key J choose-tree 'join-pane -s %%' +bind-key B break-pane +bind-key S choose-tree 'join-pane -t %%' From 25795ca179c855101d039a4c73802ad5e482687a Mon Sep 17 00:00:00 2001 From: growsoftaware Date: Tue, 30 Dec 2025 01:33:16 -0300 Subject: [PATCH 2/5] feat(cheatsheet): complete TUI rewrite with search and vim mode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Redesign with Catppuccin Mocha colors - Split into 4 sections: Alacritty, Tmux, Claude CLI, Vim - Add fzf-powered global search with '/' - Add vim mode navigation with Escape (uses less) - Two-column layout for better space usage - Improved descriptions for each shortcut - Cross-platform clipboard support (macOS/Linux/WSL) - Responsive popup sizing (112x90%) ๐Ÿค– Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- tmux/scripts/cheatsheet.sh | 388 ++++++++++++++++++++++++------------- 1 file changed, 250 insertions(+), 138 deletions(-) diff --git a/tmux/scripts/cheatsheet.sh b/tmux/scripts/cheatsheet.sh index 5708b13..469f329 100755 --- a/tmux/scripts/cheatsheet.sh +++ b/tmux/scripts/cheatsheet.sh @@ -1,162 +1,274 @@ #!/bin/bash -show_menu() { - clear +# Catppuccin Mocha colors +RESET='\033[0m' +BOLD='\033[1m' +DIM='\033[2m' + +TEXT='\033[38;2;205;214;244m' +BLUE='\033[38;2;137;180;250m' +LAVENDER='\033[38;2;180;190;254m' +MAUVE='\033[38;2;203;166;247m' +PINK='\033[38;2;245;194;231m' +TEAL='\033[38;2;148;226;213m' +GREEN='\033[38;2;166;227;161m' +YELLOW='\033[38;2;249;226;175m' +PEACH='\033[38;2;250;179;135m' +OVERLAY='\033[38;2;108;112;134m' +SURFACE='\033[38;2;49;50;68m' + +# Clipboard multiplataforma (macOS/Linux/WSL) +copy_to_clipboard() { + if [[ "$(uname)" == "Darwin" ]]; then + pbcopy + elif grep -qi microsoft /proc/version 2>/dev/null; then + clip.exe + else + xclip -selection clipboard 2>/dev/null || xsel --clipboard 2>/dev/null + fi +} + +get_all_shortcuts() { cat << 'EOF' -โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ -โ”‚ CHEATSHEET โ”‚ -โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค -โ”‚ โ”‚ -โ”‚ [1] Alacritty + tmux โ”‚ -โ”‚ โ”‚ -โ”‚ [2] Claude CLI โ”‚ -โ”‚ โ”‚ -โ”‚ [3] Vim โ”‚ -โ”‚ โ”‚ -โ”‚ [q] Fechar โ”‚ -โ”‚ โ”‚ -โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ +[Alacritty] Ctrl+Shift+C Copia texto selecionado para clipboard do sistema +[Alacritty] Ctrl+V Cola conteรบdo do clipboard no terminal +[Alacritty] Ctrl++ / Ctrl+- Aumenta ou diminui tamanho da fonte +[Alacritty] Ctrl+0 Volta fonte para tamanho original configurado +[Alacritty] Ctrl+Shift+N Abre nova janela do Alacritty no mesmo diretรณrio +[Alacritty] Ctrl+Shift+Space Ativa Vi mode para navegar histรณrico com hjkl +[Alacritty] Ctrl+Shift+F Abre busca interativa no output do terminal +[Alacritty] Ctrl+Shift+K Limpa todo histรณrico de scrollback +[Alacritty] Ctrl+Shift+U Destaca URLs clicรกveis no output +[Alacritty] Ctrl+Shift+O Abre arquivo/path sob cursor no VS Code +[Alacritty] Ctrl+Click Abre link sob cursor no navegador padrรฃo +[Tmux] prefix + | Divide painel verticalmente (lado a lado) +[Tmux] prefix + - Divide painel horizontalmente (um sobre outro) +[Tmux] prefix + a Alterna rapidamente entre as duas รบltimas janelas +[Tmux] prefix + z Maximiza painel atual (toggle zoom) +[Tmux] prefix + c Cria nova janela na sessรฃo atual +[Tmux] prefix + n Vai para prรณxima janela na lista +[Tmux] Alt + setas Navega entre painรฉis sem precisar do prefix +[Tmux] prefix + Escape Entra no copy mode para selecionar e copiar texto +[Tmux] v (copy mode) Inicia seleรงรฃo visual do texto +[Tmux] y (copy mode) Copia seleรงรฃo para clipboard e sai do copy mode +[Tmux] hjkl (copy mode) Move cursor caractere por caractere +[Tmux] Ctrl+u/d (copy mode) Sobe/desce meia pรกgina no histรณrico +[Tmux] / ou ? (copy mode) Busca texto para frente ou para trรกs +[Tmux] q (copy mode) Sai do copy mode sem copiar nada +[Tmux] prefix + p Abre shell temporรกrio em popup flutuante +[Tmux] prefix + P Pergunta comando e executa em popup flutuante +[Tmux] prefix + t Abre scratch terminal persistente (pode virar pane) +[Tmux] prefix + h Abre este cheatsheet em popup +[Tmux] prefix + J Traz painel de outra janela para janela atual +[Tmux] prefix + S Envia painel atual para outra janela +[Tmux] prefix + B Transforma painel atual em janela independente +[Tmux] prefix + d Desconecta da sessรฃo (sessรฃo continua rodando) +[Tmux] prefix + r Recarrega arquivo de configuraรงรฃo do tmux +[Claude] claude Inicia nova conversa interativa com Claude +[Claude] claude -c Continua รบltima conversa do diretรณrio atual +[Claude] claude -r Continua conversa mais recente de qualquer lugar +[Claude] claude "prompt" Envia prompt direto e entra em modo interativo +[Claude] claude -p "prompt" Executa prompt e retorna resposta (nรฃo interativo) +[Claude] cat file | claude Envia conteรบdo de arquivo como contexto +[Claude] /help Mostra ajuda com comandos disponรญveis +[Claude] /clear Limpa contexto da conversa atual +[Claude] /compact Compacta histรณrico para economizar tokens +[Claude] /config Abre menu de configuraรงรตes do Claude +[Claude] /cost Mostra custo em tokens/dinheiro da sessรฃo +[Claude] /doctor Executa diagnรณstico de problemas +[Claude] /quit ou Ctrl+C Encerra sessรฃo atual do Claude +[Vim] leader + w Salva arquivo atual (:w) +[Vim] leader + q Fecha janela/buffer atual (:q) +[Vim] leader + f Abre fuzzy finder para buscar arquivos +[Vim] leader + / Busca texto em todo projeto com ripgrep +[Vim] leader + b Lista buffers abertos para navegaรงรฃo +[Vim] Esc Limpa highlight da รบltima busca +[Vim] gcc Comenta/descomenta linha atual +[Vim] gc{motion} Comenta regiรฃo (gcap = parรกgrafo, gcG = atรฉ fim) +[Vim] cs'" Troca aspas simples por duplas (surround) +[Vim] ds" Remove aspas ao redor do texto +[Vim] ysiw" Adiciona aspas ao redor da palavra atual +[Vim] Ctrl+o / Ctrl+i Navega posiรงรตes anteriores/prรณximas no jumplist +[Vim] gd Vai para definiรงรฃo do sรญmbolo sob cursor +[Vim] * Busca prรณxima ocorrรชncia da palavra sob cursor +[Vim] % Pula entre parรชnteses/chaves/colchetes EOF } +show_search() { + local result + result=$(get_all_shortcuts | fzf \ + --ansi \ + --reverse \ + --border=rounded \ + --border-label=" ๐Ÿ” Buscar Atalhos " \ + --header="Digite para filtrar โ€ข Enter para copiar โ€ข Esc para voltar" \ + --prompt="โฏ " \ + --pointer="โ–ถ" \ + --color="bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8,fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc,marker:#f5e0dc,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8,border:#89b4fa,label:#89b4fa" \ + --margin=1 \ + --padding=1) + + if [[ -n "$result" ]]; then + echo "$result" | copy_to_clipboard + fi +} + +show_menu() { + clear + echo -e "${BLUE}${BOLD} โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ${RESET} +${BLUE}${BOLD} โ”‚${RESET}${LAVENDER}${BOLD} CHEATSHEET ${RESET}${BLUE}${BOLD}โ”‚${RESET} +${BLUE}${BOLD} โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ${RESET} + + ${MAUVE}${BOLD}[1]${RESET} ${TEXT}Alacritty${RESET} ${DIM}โ”€ atalhos do terminal${RESET} ${MAUVE}${BOLD}[3]${RESET} ${TEXT}Claude CLI${RESET} ${DIM}โ”€ comandos e slash commands${RESET} + ${MAUVE}${BOLD}[2]${RESET} ${TEXT}Tmux${RESET} ${DIM}โ”€ painรฉis, janelas, copy mode${RESET} ${MAUVE}${BOLD}[4]${RESET} ${TEXT}Vim${RESET} ${DIM}โ”€ ediรงรฃo, navegaรงรฃo, plugins${RESET} + +${OVERLAY} โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€${RESET} + + ${YELLOW}${BOLD}[/]${RESET} ${TEXT}Buscar em todos os atalhos${RESET} ${DIM}${OVERLAY}[q] Fechar${RESET} +" +} + show_alacritty() { clear - cat << 'EOF' -โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ -โ”‚ [1] ALACRITTY + TMUX โ”‚ -โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค -โ”‚ ALACRITTY โ”‚ -โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ -โ”‚ Ctrl+V Colar โ”‚ -โ”‚ Ctrl+Shift+C Copiar โ”‚ -โ”‚ Ctrl++ / Ctrl+- Zoom fonte โ”‚ -โ”‚ Ctrl+0 Reset zoom โ”‚ -โ”‚ Ctrl+Shift+F Buscar no output โ”‚ -โ”‚ Ctrl+Shift+Space Vi mode (navegar com hjkl) โ”‚ -โ”‚ Ctrl+Shift+K Limpar histรณrico โ”‚ -โ”‚ Ctrl+Shift+U Mostrar URLs clicรกveis โ”‚ -โ”‚ Ctrl+Shift+O Abrir path no VS Code โ”‚ -โ”‚ Ctrl+Shift+N Nova janela โ”‚ -โ”‚ Ctrl+Click Abrir URL no navegador โ”‚ -โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค -โ”‚ TMUX (prefix = Ctrl+a) โ”‚ -โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ -โ”‚ prefix + | Dividir vertical โ”‚ -โ”‚ prefix + - Dividir horizontal โ”‚ -โ”‚ prefix + h Cheatsheet (este popup) โ”‚ -โ”‚ prefix + r Recarregar config โ”‚ -โ”‚ prefix + z Zoom no painel atual โ”‚ -โ”‚ prefix + d Desconectar sessรฃo โ”‚ -โ”‚ prefix + c Nova janela โ”‚ -โ”‚ prefix + n/p Prรณxima/anterior janela โ”‚ -โ”‚ prefix + [ Modo cรณpia (q pra sair) โ”‚ -โ”‚ Alt + setas Navegar painรฉis โ”‚ -โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ - [b] Voltar [q] Fechar -EOF + echo -e "${TEAL}${BOLD} โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ${RESET} +${TEAL}${BOLD} โ”‚${RESET}${TEXT}${BOLD} ALACRITTY ${RESET}${TEAL}${BOLD}โ”‚${RESET} +${TEAL}${BOLD} โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ${RESET} + +${YELLOW} Clipboard e Janela${RESET} +${OVERLAY} โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€${RESET} + ${GREEN}Ctrl+Shift+C${RESET} ${TEXT}Copia texto selecionado para clipboard do sistema${RESET} + ${GREEN}Ctrl+V${RESET} ${TEXT}Cola conteรบdo do clipboard no terminal${RESET} + ${GREEN}Ctrl++ / Ctrl+-${RESET} ${TEXT}Aumenta ou diminui tamanho da fonte${RESET} + ${GREEN}Ctrl+0${RESET} ${TEXT}Volta fonte para tamanho original configurado${RESET} + ${GREEN}Ctrl+Shift+N${RESET} ${TEXT}Abre nova janela do Alacritty no mesmo diretรณrio${RESET} + +${YELLOW} Navegaรงรฃo e Histรณrico${RESET} +${OVERLAY} โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€${RESET} + ${GREEN}Ctrl+Shift+Space${RESET} ${TEXT}Ativa Vi mode para navegar histรณrico com hjkl, buscar com /, selecionar com v${RESET} + ${GREEN}Ctrl+Shift+F${RESET} ${TEXT}Abre busca interativa no output do terminal${RESET} + ${GREEN}Ctrl+Shift+K${RESET} ${TEXT}Limpa todo histรณrico de scrollback${RESET} + +${YELLOW} Integraรงรฃo com Sistema${RESET} +${OVERLAY} โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€${RESET} + ${GREEN}Ctrl+Shift+U${RESET} ${TEXT}Destaca URLs clicรกveis no output - navega com Tab, abre com Enter${RESET} + ${GREEN}Ctrl+Shift+O${RESET} ${TEXT}Abre arquivo ou path sob cursor no VS Code${RESET} + ${GREEN}Ctrl+Click${RESET} ${TEXT}Abre link sob cursor diretamente no navegador padrรฃo${RESET} + +${OVERLAY} โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€${RESET} + ${DIM}${OVERLAY}[b] Voltar [/] Buscar [Esc] Vim mode [q] Fechar${RESET}" +} + +show_tmux() { + clear + echo -e "${MAUVE}${BOLD} โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ${RESET} +${MAUVE}${BOLD} โ”‚${RESET}${TEXT}${BOLD} TMUX ${DIM}(prefix = Ctrl+a) ${RESET}${MAUVE}${BOLD}โ”‚${RESET} +${MAUVE}${BOLD} โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ${RESET} + +${YELLOW} Janelas e Painรฉis${RESET} ${YELLOW}Copy Mode ${DIM}(selecionar/copiar texto)${RESET} +${OVERLAY} โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€${RESET} + ${GREEN}prefix + |${RESET} ${TEXT}Divide vertical (lado a lado)${RESET} ${GREEN}prefix + Esc${RESET} ${TEXT}Entra no copy mode${RESET} + ${GREEN}prefix + -${RESET} ${TEXT}Divide horizontal (um sobre outro)${RESET} ${GREEN}v${RESET} ${TEXT}Inicia seleรงรฃo visual${RESET} + ${GREEN}prefix + a${RESET} ${TEXT}Alterna entre รบltimas janelas${RESET} ${GREEN}y${RESET} ${TEXT}Copia seleรงรฃo pro clipboard${RESET} + ${GREEN}prefix + z${RESET} ${TEXT}Zoom toggle no painel atual${RESET} ${GREEN}hjkl${RESET} ${TEXT}Move cursor${RESET} + ${GREEN}prefix + c${RESET} ${TEXT}Cria nova janela${RESET} ${GREEN}Ctrl+u/d${RESET} ${TEXT}Page up/down${RESET} + ${GREEN}prefix + n${RESET} ${TEXT}Prรณxima janela${RESET} ${GREEN}/ ou ?${RESET} ${TEXT}Busca frente/trรกs${RESET} + ${GREEN}Alt+setas${RESET} ${TEXT}Navega painรฉis sem prefix${RESET} ${GREEN}q${RESET} ${TEXT}Sai do copy mode${RESET} + +${YELLOW} Popups Flutuantes${RESET} ${YELLOW}Reorganizar Painรฉis${RESET} +${OVERLAY} โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€${RESET} + ${GREEN}prefix + p${RESET} ${TEXT}Shell temporรกrio em popup${RESET} ${GREEN}prefix + J${RESET} ${TEXT}Traz pane de outra janela${RESET} + ${GREEN}prefix + P${RESET} ${TEXT}Executa comando em popup${RESET} ${GREEN}prefix + S${RESET} ${TEXT}Envia pane pra outra janela${RESET} + ${GREEN}prefix + t${RESET} ${TEXT}Scratch terminal persistente${RESET} ${GREEN}prefix + B${RESET} ${TEXT}Pane vira janela independente${RESET} + ${GREEN}prefix + h${RESET} ${TEXT}Abre este cheatsheet${RESET} + +${YELLOW} Sessรฃo${RESET} +${OVERLAY} โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€${RESET} + ${GREEN}prefix + d${RESET} ${TEXT}Desconecta da sessรฃo (continua em background)${RESET} + ${GREEN}prefix + r${RESET} ${TEXT}Recarrega ~/.tmux.conf${RESET} + +${OVERLAY} โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€${RESET} + ${DIM}${OVERLAY}[b] Voltar [/] Buscar [Esc] Vim mode [q] Fechar${RESET}" } show_claude() { clear - cat << 'EOF' -โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ -โ”‚ [2] CLAUDE CLI โ”‚ -โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค -โ”‚ COMANDOS โ”‚ -โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ -โ”‚ claude Iniciar conversa โ”‚ -โ”‚ claude -c Continuar รบltima conversa โ”‚ -โ”‚ claude -r Continuar mais recente โ”‚ -โ”‚ claude "prompt" Prompt direto โ”‚ -โ”‚ claude -p "prompt" Modo print (sem interativo) โ”‚ -โ”‚ cat file | claude Pipe de arquivo โ”‚ -โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค -โ”‚ DENTRO DA CONVERSA โ”‚ -โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ -โ”‚ /help Ajuda โ”‚ -โ”‚ /clear Limpar contexto โ”‚ -โ”‚ /compact Compactar histรณrico โ”‚ -โ”‚ /config Configuraรงรตes โ”‚ -โ”‚ /cost Ver custo da sessรฃo โ”‚ -โ”‚ /doctor Diagnรณstico โ”‚ -โ”‚ /quit ou Ctrl+C Sair โ”‚ -โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค -โ”‚ ATALHOS NO ALACRITTY (รบteis com Claude) โ”‚ -โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ -โ”‚ Ctrl+Shift+Space Vi mode - navegar output longo โ”‚ -โ”‚ Ctrl+Shift+F Buscar no output โ”‚ -โ”‚ Ctrl+Shift+U Clicar em URLs do output โ”‚ -โ”‚ Ctrl+Shift+O Abrir paths no VS Code โ”‚ -โ”‚ Scroll: 50k linhas Histรณrico grande pra outputs โ”‚ -โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ - [b] Voltar [q] Fechar -EOF + echo -e "${PINK}${BOLD} โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ${RESET} +${PINK}${BOLD} โ”‚${RESET}${TEXT}${BOLD} CLAUDE CLI ${RESET}${PINK}${BOLD}โ”‚${RESET} +${PINK}${BOLD} โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ${RESET} + +${YELLOW} Iniciando Conversas${RESET} ${YELLOW}Slash Commands ${DIM}(dentro da conversa)${RESET} +${OVERLAY} โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€${RESET} + ${GREEN}claude${RESET} ${TEXT}Nova conversa interativa${RESET} ${GREEN}/help${RESET} ${TEXT}Mostra ajuda completa${RESET} + ${GREEN}claude -c${RESET} ${TEXT}Continua รบltima do diretรณrio${RESET} ${GREEN}/clear${RESET} ${TEXT}Limpa contexto da conversa${RESET} + ${GREEN}claude -r${RESET} ${TEXT}Continua mais recente${RESET} ${GREEN}/compact${RESET} ${TEXT}Compacta histรณrico${RESET} + ${GREEN}claude \"prompt\"${RESET} ${TEXT}Prompt direto + interativo${RESET} ${GREEN}/config${RESET} ${TEXT}Menu de configuraรงรตes${RESET} + ${GREEN}claude -p \"...\"${RESET} ${TEXT}Executa e retorna (scripts)${RESET} ${GREEN}/cost${RESET} ${TEXT}Custo em tokens/dinheiro${RESET} + ${GREEN}cat f | claude${RESET} ${TEXT}Arquivo como contexto${RESET} ${GREEN}/doctor${RESET} ${TEXT}Diagnรณstico de problemas${RESET} + ${GREEN}/quit${RESET} ${TEXT}Encerra sessรฃo${RESET} + +${YELLOW} Dicas de Uso com Alacritty${RESET} +${OVERLAY} โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€${RESET} + ${GREEN}Ctrl+Shift+Space${RESET} ${TEXT}Vi mode pra navegar outputs longos${RESET} + ${GREEN}Ctrl+Shift+F${RESET} ${TEXT}Busca texto nas respostas${RESET} + ${GREEN}Ctrl+Shift+U${RESET} ${TEXT}Destaca URLs clicรกveis${RESET} + +${OVERLAY} โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€${RESET} + ${DIM}${OVERLAY}[b] Voltar [/] Buscar [Esc] Vim mode [q] Fechar${RESET}" } show_vim() { clear - cat << 'EOF' -โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ -โ”‚ [3] VIM โ”‚ -โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค -โ”‚ BรSICO (leader = Espaรงo) โ”‚ -โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ -โ”‚ leader + w Salvar (:w) โ”‚ -โ”‚ leader + q Fechar (:q) โ”‚ -โ”‚ leader + f Buscar arquivos (fzf) โ”‚ -โ”‚ leader + / Buscar conteรบdo (rg) โ”‚ -โ”‚ leader + b Listar buffers โ”‚ -โ”‚ Esc Limpar highlight da busca โ”‚ -โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค -โ”‚ PLUGINS โ”‚ -โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ -โ”‚ gcc Comentar/descomentar linha โ”‚ -โ”‚ gc{motion} Comentar regiรฃo (ex: gcap) โ”‚ -โ”‚ cs'" Trocar ' por " (surround) โ”‚ -โ”‚ ds" Deletar aspas โ”‚ -โ”‚ ysiw" Adicionar " em volta da palavra โ”‚ -โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค -โ”‚ NAVEGAร‡รƒO โ”‚ -โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ -โ”‚ Ctrl+o / Ctrl+i Voltar / avanรงar posiรงรฃo โ”‚ -โ”‚ gd Ir para definiรงรฃo โ”‚ -โ”‚ * Buscar palavra sob cursor โ”‚ -โ”‚ % Ir para bracket correspondente โ”‚ -โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ - [b] Voltar [q] Fechar -EOF + echo -e "${PEACH}${BOLD} โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ${RESET} +${PEACH}${BOLD} โ”‚${RESET}${TEXT}${BOLD} VIM ${DIM}(leader = Espaรงo) ${RESET}${PEACH}${BOLD}โ”‚${RESET} +${PEACH}${BOLD} โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ${RESET} + +${YELLOW} Comandos Bรกsicos${RESET} ${YELLOW}Plugins - Comentรกrios e Surround${RESET} +${OVERLAY} โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€${RESET} + ${GREEN}leader + w${RESET} ${TEXT}Salva arquivo (:w)${RESET} ${GREEN}gcc${RESET} ${TEXT}Comenta/descomenta linha${RESET} + ${GREEN}leader + q${RESET} ${TEXT}Fecha janela/buffer (:q)${RESET} ${GREEN}gc{motion}${RESET} ${TEXT}Comenta regiรฃo (gcap, gcG)${RESET} + ${GREEN}leader + f${RESET} ${TEXT}Fuzzy finder de arquivos${RESET} ${GREEN}cs'\"${RESET} ${TEXT}Troca ' por \" (surround)${RESET} + ${GREEN}leader + /${RESET} ${TEXT}Busca no projeto (ripgrep)${RESET} ${GREEN}ds\"${RESET} ${TEXT}Remove aspas${RESET} + ${GREEN}leader + b${RESET} ${TEXT}Lista buffers abertos${RESET} ${GREEN}ysiw\"${RESET} ${TEXT}Adiciona \" na palavra${RESET} + ${GREEN}Esc${RESET} ${TEXT}Limpa highlight da busca${RESET} + +${YELLOW} Navegaรงรฃo${RESET} +${OVERLAY} โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€${RESET} + ${GREEN}Ctrl+o${RESET} ${TEXT}Volta posiรงรฃo anterior no jumplist${RESET} + ${GREEN}Ctrl+i${RESET} ${TEXT}Avanรงa posiรงรฃo no jumplist${RESET} + ${GREEN}gd${RESET} ${TEXT}Vai para definiรงรฃo (LSP)${RESET} + ${GREEN}*${RESET} ${TEXT}Busca palavra sob cursor${RESET} + ${GREEN}%${RESET} ${TEXT}Pula entre parรชnteses/chaves${RESET} + +${OVERLAY} โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€${RESET} + ${DIM}${OVERLAY}[b] Voltar [/] Buscar [Esc] Vim mode [q] Fechar${RESET}" +} + +handle_section() { + local show_func="$1" + while true; do + $show_func + read -n 1 -s key + case $key in + b) return ;; + q) exit 0 ;; + /) show_search ;; + $'\e') # Escape - vim mode com less + $show_func 2>&1 | less -R --no-init --quit-if-one-screen +G + ;; + esac + done } while true; do show_menu read -n 1 -s key case $key in - 1) - while true; do - show_alacritty - read -n 1 -s key - [[ $key == "b" ]] && break - [[ $key == "q" ]] && exit 0 - done - ;; - 2) - while true; do - show_claude - read -n 1 -s key - [[ $key == "b" ]] && break - [[ $key == "q" ]] && exit 0 - done - ;; - 3) - while true; do - show_vim - read -n 1 -s key - [[ $key == "b" ]] && break - [[ $key == "q" ]] && exit 0 - done - ;; - q) - exit 0 - ;; + 1) handle_section show_alacritty ;; + 2) handle_section show_tmux ;; + 3) handle_section show_claude ;; + 4) handle_section show_vim ;; + /) show_search ;; + q) exit 0 ;; esac done From 8dab55f3981f48525318a490db09e76f7a291502 Mon Sep 17 00:00:00 2001 From: growsoftaware Date: Tue, 30 Dec 2025 01:35:02 -0300 Subject: [PATCH 3/5] feat: add lazygit and git delta configurations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add lazygit config with Catppuccin Mocha theme - Add .gitconfig with delta as pager - Side-by-side diffs with syntax highlighting - Nerd Font icons support - Vim-style keybindings in lazygit ๐Ÿค– Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- git/.gitconfig | 59 ++++++++++++++++++++++++++++ lazygit/config.yml | 96 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 155 insertions(+) create mode 100644 git/.gitconfig create mode 100644 lazygit/config.yml diff --git a/git/.gitconfig b/git/.gitconfig new file mode 100644 index 0000000..bb508c1 --- /dev/null +++ b/git/.gitconfig @@ -0,0 +1,59 @@ +# โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•— +# โ•‘ GIT CONFIG โ•‘ +# โ•‘ Tema: Catppuccin Mocha โ•‘ +# โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• + +[user] + # Configure seu nome e email: + # git config --global user.name "Seu Nome" + # git config --global user.email "seu@email.com" + +[init] + defaultBranch = main + +[core] + pager = delta + editor = vim + +[interactive] + diffFilter = delta --color-only + +[delta] + navigate = true + dark = true + side-by-side = true + line-numbers = true + hyperlinks = true + syntax-theme = Catppuccin Mocha + + # Cores Catppuccin Mocha + minus-style = syntax "#3e1f24" + minus-emph-style = syntax "#6e2d35" + plus-style = syntax "#1e3a29" + plus-emph-style = syntax "#2e5a3e" + line-numbers-minus-style = "#f38ba8" + line-numbers-plus-style = "#a6e3a1" + line-numbers-zero-style = "#6c7086" + hunk-header-style = syntax bold + hunk-header-decoration-style = "#89b4fa" box + +[merge] + conflictStyle = zdiff3 + +[diff] + colorMoved = default + +[pull] + rebase = false + +[push] + autoSetupRemote = true + +[alias] + st = status + co = checkout + br = branch + ci = commit + lg = log --oneline --graph --all --decorate --color + last = log -1 HEAD + unstage = reset HEAD -- diff --git a/lazygit/config.yml b/lazygit/config.yml new file mode 100644 index 0000000..9813b87 --- /dev/null +++ b/lazygit/config.yml @@ -0,0 +1,96 @@ +# โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•— +# โ•‘ LAZYGIT CONFIG โ•‘ +# โ•‘ Tema: Catppuccin Mocha โ•‘ +# โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• + +gui: + # Mostra icones (requer Nerd Font - JetBrains Mono suporta) + nerdFontsVersion: "3" + + # Layout + showFileTree: true + showListFooter: false + showRandomTip: false + showCommandLog: false + showBottomLine: false + + # Comportamento + skipDiscardChangeWarning: false + skipStashWarning: false + + # Tema Catppuccin Mocha + theme: + activeBorderColor: + - "#a6e3a1" # green + - bold + inactiveBorderColor: + - "#a6adc8" # subtext0 + optionsTextColor: + - "#89b4fa" # blue + selectedLineBgColor: + - "#313244" # surface0 + cherryPickedCommitBgColor: + - "#45475a" # surface1 + cherryPickedCommitFgColor: + - "#f5c2e7" # pink + unstagedChangesColor: + - "#f38ba8" # red + defaultFgColor: + - "#cdd6f4" # text + searchingActiveBorderColor: + - "#f9e2af" # yellow + +git: + paging: + colorArg: always + pager: delta --paging=never --line-numbers --hyperlinks --side-by-side --hyperlinks-file-link-format="lazygit-edit://{path}:{line}" + + # Commits + autoFetch: true + autoRefresh: true + branchLogCmd: "git log --graph --color=always --abbrev-commit --decorate --date=relative --pretty=medium {{branchName}} --" + allBranchesLogCmd: "git log --graph --all --color=always --abbrev-commit --decorate --date=relative --pretty=medium" + + # Pull/Push + skipHookPrefix: WIP + + # Parsing + parseEmoji: true + +# Confirmacoes +confirmOnQuit: false +quitOnTopLevelReturn: true + +# Keybindings customizados +keybinding: + universal: + quit: "q" + quit-alt1: "" + return: "" + togglePanel: "" + prevItem: "" + nextItem: "" + prevPage: "," + nextPage: "." + scrollLeft: "H" + scrollRight: "L" + gotoTop: "<" + gotoBottom: ">" + prevBlock: "" + nextBlock: "" + nextMatch: "n" + prevMatch: "N" + startSearch: "/" + optionMenu: "x" + edit: "e" + openFile: "o" + scrollUpMain: "" + scrollDownMain: "" + copyToClipboard: "" + refresh: "R" + undo: "z" + redo: "" + +os: + # Abre arquivos no editor padrao + editPreset: "vim" From 4718f5468922e970f5c88b8c06ded8a13dbf2ed7 Mon Sep 17 00:00:00 2001 From: growsoftaware Date: Tue, 30 Dec 2025 01:35:26 -0300 Subject: [PATCH 4/5] feat(install): add lazygit and delta installation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add lazygit TUI for Git with cross-platform support - Add delta pager for beautiful diffs - Support apt (GitHub release), dnf, pacman, brew - Update help text and summary with new tools - Add symlinks for lazygit and git configs ๐Ÿค– Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- install.sh | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 107 insertions(+), 2 deletions(-) diff --git a/install.sh b/install.sh index 090783a..5669c11 100755 --- a/install.sh +++ b/install.sh @@ -7,6 +7,8 @@ # โ•‘ โ€ข Alacritty (terminal GPU-accelerated) โ•‘ # โ•‘ โ€ข tmux (multiplexador de terminal) โ•‘ # โ•‘ โ€ข Vim (editor com plugins) โ•‘ +# โ•‘ โ€ข lazygit (TUI para Git) โ•‘ +# โ•‘ โ€ข delta (pager para diffs) โ•‘ # โ•‘ โ€ข Fonte JetBrains Mono โ•‘ # โ•‘ โ•‘ # โ•‘ Tema: Catppuccin Mocha โ•‘ @@ -82,9 +84,9 @@ print_help() { echo " --dry-run Simula a instalaรงรฃo sem fazer alteraรงรตes" echo "" echo "O QUE SERร INSTALADO:" - echo " โ€ข Dependรชncias: tmux, vim, fzf, ripgrep, xclip" + echo " โ€ข Dependรชncias: tmux, vim, fzf, ripgrep, xclip, lazygit, delta" echo " โ€ข Fonte: JetBrains Mono" - echo " โ€ข Configs: Alacritty, tmux, Vim" + echo " โ€ข Configs: Alacritty, tmux, Vim, lazygit, Git" echo " โ€ข Tema: Catppuccin Mocha" echo "" echo "ATALHOS PRINCIPAIS:" @@ -273,6 +275,92 @@ install_alacritty() { esac } +# ============================================================================ +# INSTALAร‡รƒO DO LAZYGIT +# ============================================================================ + +install_lazygit() { + print_step "Instalando lazygit..." + + if command -v lazygit &> /dev/null; then + print_success "lazygit jรก instalado ($(lazygit --version 2>/dev/null | head -1))" + return 0 + fi + + case $PKG_MANAGER in + apt) + # lazygit nรฃo estรก nos repos padrรฃo, usa o release do GitHub + print_substep "Baixando lazygit do GitHub..." + if [ "$DRY_RUN" = false ]; then + LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*') + curl -Lo /tmp/lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz" + tar xf /tmp/lazygit.tar.gz -C /tmp lazygit + sudo install /tmp/lazygit /usr/local/bin + rm /tmp/lazygit /tmp/lazygit.tar.gz + fi + print_success "lazygit instalado" + ;; + dnf) + run_cmd sudo dnf copr enable atim/lazygit -y + run_cmd sudo dnf install -y lazygit + print_success "lazygit instalado" + ;; + pacman) + run_cmd sudo pacman -S --noconfirm lazygit + print_success "lazygit instalado" + ;; + brew) + run_cmd brew install lazygit + print_success "lazygit instalado" + ;; + *) + print_warning "Instale lazygit manualmente: https://github.com/jesseduffield/lazygit#installation" + ;; + esac +} + +# ============================================================================ +# INSTALAร‡รƒO DO DELTA +# ============================================================================ + +install_delta() { + print_step "Instalando delta (pager para diffs)..." + + if command -v delta &> /dev/null; then + print_success "delta jรก instalado ($(delta --version 2>/dev/null | head -1))" + return 0 + fi + + case $PKG_MANAGER in + apt) + # delta nรฃo estรก nos repos padrรฃo, usa o release do GitHub + print_substep "Baixando delta do GitHub..." + if [ "$DRY_RUN" = false ]; then + DELTA_VERSION=$(curl -s "https://api.github.com/repos/dandavison/delta/releases/latest" | grep -Po '"tag_name": "\K[^"]*') + curl -Lo /tmp/delta.deb "https://github.com/dandavison/delta/releases/latest/download/git-delta_${DELTA_VERSION}_amd64.deb" + sudo dpkg -i /tmp/delta.deb + rm /tmp/delta.deb + fi + print_success "delta instalado" + ;; + dnf) + run_cmd sudo dnf install -y git-delta + print_success "delta instalado" + ;; + pacman) + run_cmd sudo pacman -S --noconfirm git-delta + print_success "delta instalado" + ;; + brew) + run_cmd brew install git-delta + print_success "delta instalado" + ;; + *) + print_warning "Instale delta manualmente: https://github.com/dandavison/delta#installation" + ;; + esac +} + # ============================================================================ # CONFIGURAร‡รƒO DOS SYMLINKS # ============================================================================ @@ -283,6 +371,7 @@ setup_symlinks() { # Criar diretรณrios necessรกrios run_cmd mkdir -p ~/.config/alacritty run_cmd mkdir -p ~/.config/tmux + run_cmd mkdir -p ~/.config/lazygit # Funรงรฃo para criar symlink com backup create_symlink() { @@ -313,6 +402,8 @@ setup_symlinks() { create_symlink "$DOTFILES_DIR/alacritty/alacritty.toml" ~/.config/alacritty/alacritty.toml "Alacritty" create_symlink "$DOTFILES_DIR/tmux/.tmux.conf" ~/.tmux.conf "tmux" create_symlink "$DOTFILES_DIR/vim/.vimrc" ~/.vimrc "Vim" + create_symlink "$DOTFILES_DIR/lazygit/config.yml" ~/.config/lazygit/config.yml "lazygit" + create_symlink "$DOTFILES_DIR/git/.gitconfig" ~/.gitconfig "Git" # Scripts do tmux (diretรณrio) if [ -L ~/.config/tmux/scripts ]; then @@ -451,6 +542,18 @@ print_summary() { echo " Espaรงo+/ Buscar conteรบdo" echo " gcc Comentar linha" echo "" + echo " lazygit (TUI para Git):" + echo " lg Abrir lazygit (alias)" + echo " ? Mostrar atalhos" + echo " space Stage/unstage arquivo" + echo " c Commit" + echo " p / P Push / Pull" + echo "" + echo " delta (diffs melhorados):" + echo " Side-by-side Diff lado a lado" + echo " Line numbers Clicรกveis (abre no editor)" + echo " Syntax highlight Colorizaรงรฃo por linguagem" + echo "" } # ============================================================================ @@ -497,6 +600,8 @@ main() { install_font install_alacritty + install_lazygit + install_delta setup_symlinks setup_vim From 0b57b3b15dee828c8521d576d31f82af2dfa6bf8 Mon Sep 17 00:00:00 2001 From: growsoftaware Date: Tue, 30 Dec 2025 01:48:43 -0300 Subject: [PATCH 5/5] feat(tmux): add prefix+T to move pane to scratch session MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Allows moving current pane directly to scratch session with Shift+T. Creates scratch session if it doesn't exist. ๐Ÿค– Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- tmux/.tmux.conf | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tmux/.tmux.conf b/tmux/.tmux.conf index c1297da..8cd1cf1 100644 --- a/tmux/.tmux.conf +++ b/tmux/.tmux.conf @@ -62,6 +62,11 @@ bind t if-shell "tmux has-session -t scratch 2>/dev/null" \ 'display-popup -E -w 80% -h 80% \"tmux attach -t scratch\"'" \ "display-popup -E -w 80% -h 80% 'tmux new-session -s scratch'" +# Mover pane atual para scratch (shift+t) +bind T if-shell "tmux has-session -t scratch 2>/dev/null" \ + "join-pane -t scratch" \ + "new-session -d -s scratch && join-pane -t scratch" + # Cores e visual set -g default-terminal "tmux-256color" set -ag terminal-overrides ",alacritty:RGB"