O que é o fresh-editor?
fresh-editor é o pacote do Fresh, uma IDE e editor de texto para o terminal criado por Noam Lewis e escrito em Rust. Ele leva para o terminal o que se espera de uma IDE: suporte a servidores de linguagem, destaque de sintaxe, múltiplos cursores e um sistema de plugins que executa TypeScript, sem deixar de ser fácil de aprender. Abre arquivos enormes sem fazer você esperar, mantém sua sessão de edição viva em um daemon em segundo plano ao qual você se reconecta com fresh -a, e pode até se servir para um navegador web com fresh --web. O pacote se chama fresh-editor, e o comando que você digita é fresh.
⚡ Principais recursos do fresh-editor
🧠 Suporte a servidores de linguagem
O Fresh fala o Language Server Protocol: diagnósticos, autocompletar, ir para a definição e informações ao passar o cursor vêm dos mesmos servidores que outros editores usam, como rust-analyzer, gopls ou clangd.
🎨 Destaque de sintaxe
O código aparece destacado assim que você o abre, no terminal que você já usa, sem uma etapa de configuração à parte antes de o primeiro arquivo ficar certo.
✏️ Múltiplos cursores
Coloque cursores em vários lugares ao mesmo tempo e digite em todos, o jeito rápido de renomear uma variável num bloco ou refazer uma coluna de linhas parecidas.
🧩 Plugins em TypeScript
O Fresh traz um runtime TypeScript para plugins: estender o editor é escrever TypeScript com a API de plugins dele, não aprender uma linguagem de configuração própria.
🔌 Sessões que sobrevivem
Um daemon de sessão mantém o editor e seus arquivos abertos vivos quando o terminal fecha ou a conexão SSH cai. fresh -a se conecta de novo.
🌐 Terminal ou navegador
fresh --web serve o mesmo editor para um navegador web, útil quando é mais fácil chegar a uma máquina pelo navegador do que pelo terminal.
apt upgrade mantém você na versão mais recente.
📦 Instalação a partir do deb.griffo.io
Passo 1: Adicionar o repositório
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updatesudo apt install extrepo
sudo extrepo enable griffo
sudo apt update🆓 Existe um espelho grátis para sempre. deb-free.griffo.io distribui pacotes grátis para sempre — sem conta, sem assinatura, no máximo 2 meses atrás do upstream, correções de segurança imediatas. Hoje ele traz cliamp, Ghostty, lazydocker, Oh My Posh, Uncloud e Zed; fresh-editor não está entre elas, então o repositório acima é a única forma de instalar hoje — peça e ela pode ser adicionada.
🧩 Sobre a opção extrepo. extrepo é a ferramenta do próprio Debian para repositórios externos: ela escreve o arquivo de sources e instala a chave de assinatura para você, conferindo a chave contra metadados assinados antes de usá-la. Este repositório está registrado nela como griffo, e o espelho gratuito para sempre como griffo-free, então no Debian (bookworm, trixie, forky e sid) os comandos acima são toda a configuração.
O extrepo configura apenas o arquivo de sources e a chave: as credenciais de uma assinatura continuam indo em /etc/apt/auth.conf.d/deb.griffo.io.conf. O Ubuntu não é coberto, porque o extrepo publica metadados só para as suítes do Debian: lá, use os comandos com sudo ou como root.
Passo 2: Instalar o fresh-editor
# Instalar o fresh-editor mais recente
sudo apt install fresh-editor
# Verificar a instalação, o comando é fresh e não fresh-editor
fresh --version# Instalar o fresh-editor mais recente
apt install fresh-editor
# Verificar a instalação, o comando é fresh e não fresh-editor
fresh --versionPasso 3: Abrir seu primeiro arquivo
# O comando é fresh. Abra um arquivo para começar a editar
fresh README.md
# Pule direto para uma linha e coluna, no formato file:line:col que compiladores e grep imprimem
fresh src/main.rs:42:7
# A página de manual e a lista completa de opções vêm com o pacote
man fresh
fresh --help🎯 Exemplos básicos de uso
Abrindo arquivos:
# Abra um arquivo no ponto indicado por um erro do compilador ou um resultado do grep
fresh src/lib.rs:120:5
# Arquivos enormes abrem sem longa espera, inclusive logs de vários gigabytes
fresh /var/log/big-application.logSessões que sobrevivem ao terminal:
# Conecte-se à sessão do editor em execução, com seus arquivos abertos,
# depois de fechar o terminal ou quando a conexão SSH cai
fresh -a
# O mesmo funciona a partir de um novo login SSH na máquina
ssh devbox
fresh -aEditando em um navegador web:
# Sirva o Fresh para um navegador web em vez de desenhá-lo neste terminal
fresh --webServidores de linguagem:
# Instale um servidor de linguagem para sua linguagem e abra um arquivo nela
sudo apt install clangd
fresh src/main.c
# O rust-analyzer vem com o rustup
rustup component add rust-analyzer
fresh src/main.rs:1:1# Instale um servidor de linguagem para sua linguagem e abra um arquivo nela
apt install clangd
fresh src/main.c
# O rust-analyzer vem com o rustup
rustup component add rust-analyzer
fresh src/main.rs:1:1🔧 Integrações com outras ferramentas
O Fresh se encaixa em um fluxo de trabalho de terminal existente:
- Git:
git config --global core.editor freshabre mensagens de commit e rebases interativos no Fresh - Shell:
export EDITOR=freshno~/.bashrcfazcrontab -e,sudoedite companhia usarem o Fresh - Compiladores e grep: a saída
file:line:coldeles abre exatamente no ponto indicado - Desktop: o pacote instala uma entrada de desktop e ícones, então o Fresh aparece no menu de aplicativos
- SSH e tmux: o daemon de sessão mantém seu trabalho aberto no lado remoto, e
fresh -ao retoma
🚀 Por que escolher o deb.griffo.io?
- Debian oficial: não empacotado: o Fresh não está em nenhuma versão do Debian, do Bookworm ao Sid
- .deb do upstream: atual no dia em que você baixa, mas o upstream publica arquivos .deb avulsos nas releases do GitHub sem repositório apt, então o
apt upgradenunca vê uma versão nova e cada release é mais um download manual - Compilar com cargo: exige uma toolchain Rust e uma compilação completa a cada atualização, e deixa de fora a entrada de desktop, os ícones e a página de manual
- deb.griffo.io: versão mais recente com atualizações automáticas
- ✅ Pacote fresh-editor, comando fresh:
sudo apt install fresh-editore depois rodefresh; fresh-editor é o nome de pacote do próprio upstream, o mesmo do .deb, do AUR, do Homebrew e do winget, então uma máquina com o .deb do upstream é atualizada no lugar a partir da próxima release - ✅ Atualizações apt para as releases do upstream: o upstream distribui arquivos .deb, mas nenhum repositório; aqui cada release chega a um repositório apt assinado com GPG, com uma build para cada suíte do Debian e do Ubuntu
- ✅ Atualizações automáticas: os pacotes são atualizados poucas horas após cada lançamento upstream
- ✅ Pacote completo: o binário
fresh, uma entrada de desktop e ícones para o menu de aplicativos, e a página de manualfresh(1) - ✅ Duas arquiteturas: amd64 e arm64, então notebooks, servidores e placas ARM de 64 bits têm o mesmo Fresh
- ✅ Multi-distribuição: funciona no Bookworm, Trixie, Forky e Sid
- ✅ Manutenção simples: atualizações com os comandos apt de sempre
📦 Repositório de build do pacote
Os pacotes Debian são construídos e mantidos automaticamente neste repositório do GitHub:
- 🍃 fresh-debian - Builds dos últimos lançamentos
🔗 Pacotes relacionados
Também disponíveis no deb.griffo.io:
- Helix - Editor modal de terminal com suporte embutido a servidores de linguagem
- Neovim - Editor baseado no Vim, extensível ao máximo
- Zed - Editor de código gráfico, para quando você sai do terminal
- lazygit - Interface git no terminal, companheira natural de um editor de terminal
apt upgrade o mantenha atualizado.