Conteúdos

Fresh: um editor moderno para o terminal

Mesmo usando o VS Code e outras soluções modernas, continuo gostando de ter ferramentas que funcionam diretamente no terminal. Elas são úteis na minha máquina, mas também fazem diferença quando estou conectado remotamente a um servidor, onde nem sempre existe um ambiente gráfico disponível.

Foi nesse contexto que conheci o Fresh, um editor de texto e IDE para o terminal. A proposta me chamou atenção porque ele tenta reunir a agilidade esperada de uma ferramenta de terminal com recursos que normalmente associamos a editores gráficos.

Um editor para continuar no terminal

Há tarefas em que abrir um editor gráfico é natural. Para outras, quero apenas acessar um arquivo, fazer uma alteração e continuar no mesmo ambiente em que já estou trabalhando. Em um servidor remoto, essa preferência deixa de ser apenas uma questão de estilo: um editor que funciona pelo SSH evita depender de encaminhamento gráfico ou de copiar o arquivo para outra máquina.

O Fresh se encaixa bem nessa situação. Ele oferece uma interface de terminal com suporte a mouse, menus, abas, painéis divididos, explorador de arquivos e paleta de comandos. A experiência procura ser familiar para quem está acostumado com editores modernos, sem abandonar a simplicidade de executar tudo a partir do shell.

Recursos que tornam o Fresh interessante

O projeto reúne vários recursos em um único binário. Entre os principais estão:

  • destaque de sintaxe e suporte a LSP;
  • busca e substituição no projeto inteiro;
  • localizador fuzzy de arquivos;
  • múltiplos cursores e macros de teclado;
  • terminal integrado;
  • visualização de diferenças e ferramentas para revisar alterações do Git;
  • temas e barra de status configuráveis;
  • modo Vim para quem prefere esse tipo de navegação;
  • suporte a plugins em TypeScript.

O Fresh também oferece suporte a arquivos grandes e inicialização rápida. Isso é importante para uma ferramenta que pretendo usar de forma pontual, sem esperar uma longa abertura ou configurar uma coleção de extensões antes de começar a editar.

Editando arquivos remotamente

Um dos recursos mais interessantes para o meu uso é a edição remota via SSH. O Fresh permite abrir um arquivo em um host remoto usando um caminho como este:

fresh usuario@servidor:/etc/nginx/nginx.conf

Além da autenticação por senha ou chave, a documentação informa que o editor pode reconectar a sessão quando a conexão cai e transferir apenas as alterações ao salvar. Para arquivos grandes, enviar somente o diff evita movimentar o conteúdo inteiro a cada gravação.

Também é possível localizar arquivos remotos, pesquisar no servidor e salvar arquivos que exigem privilégios usando sudo. São recursos que aproximam a edição remota da experiência local sem esconder que o trabalho continua acontecendo no servidor.

Git, LSP e projetos

O Fresh não se limita a ser um editor para alterações rápidas. O suporte a Git mostra arquivos modificados, permite revisar diferenças lado a lado e trabalha com alterações por trecho. Para quem já está dentro de um repositório, isso reduz a necessidade de alternar constantemente entre o editor e outros comandos.

O suporte a LSP também é importante para projetos de programação. Com ele, o editor pode oferecer navegação, referências, informações ao passar o cursor e ações de código para várias linguagens. O projeto já distribui configurações para linguagens como Python, TypeScript, Rust, Go, Bash, PHP e outras.

Outro recurso que me parece útil é o Orchestrator. Ele organiza tarefas em worktrees do Git e permite alternar entre diferentes espaços de trabalho. A proposta inclui deixar agentes como Claude, Codex, OpenCode ou Aider trabalhando em cada ambiente, mantendo branches e alterações separados.

Instalação

No Linux e no macOS, o projeto oferece um instalador rápido:

curl -fsSL https://raw.githubusercontent.com/sinelaw/fresh/refs/heads/master/scripts/install.sh | sh

Também existem pacotes para diferentes sistemas, incluindo Homebrew, AUR, Winget, Debian, npm, Flatpak e binários prontos para download. Quem já possui o ambiente Rust configurado pode instalar pelo Cargo:

cargo install --locked fresh-editor

Como sempre, prefiro conferir o script e escolher o método mais adequado ao sistema antes de executar uma instalação. A página oficial mantém as opções atualizadas e também aponta para a documentação e para os releases do projeto.

Por que ele entrou no meu radar

Não estou procurando abandonar o VS Code ou qualquer outra ferramenta moderna. Cada editor resolve problemas diferentes, e o VS Code continua sendo muito completo para projetos em que preciso de extensões, depuração e uma experiência gráfica integrada.

Ainda assim, gosto de ter alternativas que possam ser usadas em mais contextos. Um editor de terminal pode ser a escolha mais prática em uma sessão SSH, em uma máquina com poucos recursos ou simplesmente quando já estou trabalhando no shell e não quero interromper o fluxo.

O Fresh combina essa disponibilidade com recursos que tornam a edição mais confortável: mouse, menus, busca, painéis, LSP, Git e edição remota. Ele não exige que eu escolha entre uma ferramenta minimalista e um ambiente completo; tenta oferecer os dois lados em uma interface de terminal.

Minha conclusão

O Fresh veio como uma ótima solução para quem, como eu, continua gostando de ferramentas de terminal mesmo usando o VS Code e outras soluções modernas. Ele é rápido, funciona em diferentes sistemas, oferece recursos de IDE e pode acompanhar o trabalho local e remoto.

Não existe um editor único para todas as tarefas. Para algumas situações continuarei usando o VS Code, e para outras ainda posso preferir um editor mais simples. Mas ter o Fresh instalado amplia as opções e deixa mais fácil trabalhar diretamente no terminal, tanto na minha máquina quanto nos servidores que administro.

Vale conhecer o projeto na página oficial do Fresh, onde estão descritos os recursos, as formas de instalação, a documentação e os links para o código-fonte.