Fish, Neovim, WezTerm e comandos úteis
Fish por padrão interativo
Fish suporta nativamente autosuggestion, highlighting, tab completion e histórico. Não instalar plugins redundantes sem necessidade. Manter /bin/sh e shells POSIX para scripts, init e instaladores; Fish não é POSIX.
Abbreviations em vez de aliases ocultos: expansão fica visível antes de executar. Config em ~/.config/fish/conf.d/flowral.fish sem sobrepor dotfiles pessoais sem backup.
if status is-interactive
abbr -a gst 'git status'
abbr -a gsw 'git switch'
abbr -a gco 'git checkout'
abbr -a gpl 'git pull'
abbr -a gps 'git push'
abbr -a v 'nvim'
abbr -a xi 'sudo xbps-install -S'
abbr -a xr 'sudo xbps-remove -R'
abbr -a xu 'sudo xbps-install -Syu'
abbr -a xs 'xbps-query -Rs'
abbr -a xo 'sudo xbps-remove -o'
abbr -a fi 'flatpak install --user flathub'
abbr -a fr 'flatpak uninstall --user'
abbr -a fu 'flatpak update --user'
abbr -a fl 'flatpak list --user --app'
abbr -a pps 'podman ps'
end
Não criar atalhos perigosos com -y automático para apagar pacotes/discos. Para AppImage, usar subcomandos próprios flowral appimage install/remove/list/update ou funções seguras que copiam para ~/Applications, geram/removem .desktop apenas sob confirmação, checam SHA e validam paths; arquivo AppImage isolado não é instalação gerenciada pelo XBPS.
WezTerm
- Principal terminal; sem titlebar, mas manter resize via compositor. A documentação do WezTerm recomenda
window_decorations="RESIZE"em vez de"NONE"quando se deseja somente remover o título; testar ambos com Swirl. - Tema injetado por
require('flowral-theme')ou Lua gerado; tokens de cursor, texto, paleta ANSI 16, seleção, tab bar. - Desativar tab bar quando irrelevante/única tab; suporte a font fallback e ligaturas configurável; profile acessível para GPU antiga.
- Atalhos previamente desejados: Ctrl+Shift+V (split vertical), Ctrl+Shift+H (split horizontal), Ctrl+Shift+[ e Ctrl+Shift+] (resize). Verificar conflitos com colar clipboard e binds por padrão antes de publicar.
-- ~/.wezterm.lua — exemplo para teste
local wezterm = require 'wezterm'
local config = wezterm.config_builder()
config.window_decorations = 'RESIZE'
config.color_scheme = 'Builtin Solarized Dark' -- substituído por Flowral adaptador
return config
Neovim — sem LSP obrigatório
| Função | Escolha inicial | Carregamento |
|---|---|---|
| Plugins | vim.pack (se versão permitir) ou mini.deps |
no start |
| Highlight | nvim-treesitter conforme linguagens |
lazy por filetype |
| Completion | nvim-cmp + cmp-buffer + cmp-path |
lazy em insert |
| Snippets | mini.snippets (opcional) | lazy |
| File navigation | netrw embutido ou oil.nvim | sob demanda |
| Busca | fzf + ripgrep | sob demanda |
| Markdown | render-markdown.nvim ou markview.nvim | só markdown |
| Colors | palette Flowral em Lua | on demand ao tema |
Sem servidor LSP obrigatório; completion buffer/path não fornece type checking, rename semântico, jump-to-definition confiável. Manter opção explícita de instalar LSP por linguagem depois.
Markdown enriquecido
Renderização de headers, tabelas, callouts, código, checkbox, links; tecla para alternar visual enriquecido ↔ texto cru, especialmente útil para edições precisas; performance com arquivos longos, opção sem conceal/reduced-motion.
Theme integration TUI
ANSI 16 cores no WezTerm cobre ferramentas sem configuração própria; adapters específicos para Fish, Neovim, OpenCode TUI e demais TUIs apenas se versões suportarem. Registry de plugins de tema indica supported, partial, unsupported por versão.
Qualidade
Medir start Fish e Neovim com/s em plugins; 0 erro com fish -n; Neovim --headless; WezTerm parse da config e experiência no hardware alvo. Testar aliases perigosos com confirmação.