Fresh — El Editor de Texto para Terminal

Fácil de usar | Extensible con TypeScript | Ligero y rápido | Soporte para archivos grandes

Documentación oficial

https://getfresh.dev/docs

Fresh es un editor de texto para terminal con:

  • Edición multi-cursor
  • Macros
  • Terminal integrada
  • Soporte LSP
  • Plugins en TypeScript
  • Persistencia de sesiones
  • Edición remota por SSH
  • Gestor de paquetes
  • Temas
  • Internacionalización (i18n)

Todo se puede descubrir desde:

  • Paleta de comandos (Ctrl + P)
  • Barra de menú superior

El comando Show Keybindings muestra todos los atajos disponibles.


Privacidad

Fresh revisa actualizaciones una vez al día enviando únicamente:

  • versión del editor
  • tipo de sistema operativo

No envía:

  • datos personales
  • contenido de archivos
  • comportamiento de uso

Desactivar:

"check_for_updates": false

O desde CLI:

fresh --no-upgrade-check

Paleta de comandos

Abrir:

Ctrl + P

Modos disponibles:

PrefijoFunción
>Ejecutar comandos
sin prefijoBuscar archivos
#Cambiar entre buffers abiertos
:Ir a una línea

Ejemplo:

feat view

Puede encontrar:

features/groups/view.tsx

Tab acepta el mejor resultado.


Edición

Multi-cursor y selección en bloque

Fresh permite:

  • múltiples cursores
  • edición simultánea
  • selección rectangular

Las operaciones afectan todos los cursores:

  • escribir
  • borrar
  • pegar

Macros y marcadores

Fresh incluye:

  • 10 espacios para macros
  • 10 marcadores

Puedes:

  • grabar macros
  • reproducirlas
  • guardar bookmarks
  • saltar entre ellos

Shell Piping

El comando Shell Command:

  • envía texto a un comando shell
  • muestra el resultado
  • puede reemplazar el texto seleccionado

Útil para:

  • ordenar texto
  • formatear
  • transformar contenido

Ejemplo:

sort

Buscar y reemplazar

Incluye:

  • búsqueda normal
  • regex
  • reemplazo interactivo

Teclas durante reemplazo:

TeclaAcción
yreemplazar
nomitir
!reemplazar todos
qsalir

Terminal integrada

Abrir terminal desde la paleta de comandos.

Modos:

ModoDescripción
Terminalteclas van al shell
Read Onlyscroll, búsqueda y copia

Características:

  • múltiples terminales
  • historial persistente
  • soporte mouse
  • funciona con vim, htop, etc.

LSP y autocompletado

Fresh detecta automáticamente servidores LSP instalados.

Ejemplos soportados:

  • rust-analyzer
  • gopls
  • clangd
  • pylsp

Funciones:

  • autocompletado
  • ir a definición
  • referencias
  • hover
  • rename
  • diagnósticos
  • semantic highlighting
  • inlay hints

Configuración

Capas de configuración

CapaArchivo
User~/.config/fresh/config.json
Project.fresh/config.json
Sessiontemporal

Prioridad:

Session > Project > User > Defaults

Keybindings

Fresh incluye 3 estilos base:

  • default
  • emacs
  • macos

Puedes personalizar atajos desde:

Edit > Keybinding Editor

Temas

Seleccionar tema:

Select Theme

Editar tema:

Edit Theme

Ubicación:

~/.config/fresh/themes/

Formato:

[R, G, B]

Plugins

Plugins escritos en TypeScript usando QuickJS sandbox.

Plugins incluidos:

  • TODO Highlighter
  • Git Grep
  • Git Find File

Instalar paquetes:

pkg:

Crear plugin:

fresh --init plugin

Persistencia de sesión

Iniciar sesión persistente:

fresh -a

Sesión con nombre:

fresh -a mysession

Listar sesiones:

fresh --cmd session list

Abrir archivo en sesión:

fresh --cmd session open-file . src/main.rs:42

Edición remota SSH

Abrir archivo remoto:

fresh user@host:/path/file

Abrir home remoto:

fresh user@host:~

Características:

  • autenticación por clave
  • autenticación por contraseña
  • guardado con sudo
  • transferencia eficiente

Requiere Python 3 remoto.


Manejo de archivos

Fresh soporta:

  • UTF-8
  • UTF-16
  • GBK
  • Shift-JIS
  • Latin-1

CLI:

fresh file:line:col

stdin:

echo hello | fresh -

Recuperación automática:

~/.local/share/fresh/recovery/

Integración Git

Indicadores:

ColorSignificado
Verdeagregado
Amarillomodificado
Rojoeliminado

Características del editor

  • resaltado de brackets
  • indentación automática
  • line wrap
  • números relativos
  • estilos de cursor configurables

macOS

Fresh detecta macOS automáticamente.

Terminales recomendadas:

  • Kitty
  • Ghostty

Depuración de teclado:

Help > Debug Keyboard Events

Internacionalización

Cambiar idioma:

fresh --locale es

También disponible desde:

Select Locale

Colores de terminal

Forzar modo 256 colores:

FRESH_COLOR_MODE=256 fresh

Links importantes

Documentación

https://getfresh.dev/docs

GitHub Issues

https://github.com/sinelaw/fresh/issues