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
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": falseO desde CLI:
fresh --no-upgrade-checkPaleta de comandos
Abrir:
Ctrl + PModos disponibles:
| Prefijo | Función |
|---|---|
> | Ejecutar comandos |
| sin prefijo | Buscar archivos |
# | Cambiar entre buffers abiertos |
: | Ir a una línea |
Ejemplo:
feat viewPuede encontrar:
features/groups/view.tsxTab 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:
sortBuscar y reemplazar
Incluye:
- búsqueda normal
- regex
- reemplazo interactivo
Teclas durante reemplazo:
| Tecla | Acción |
|---|---|
y | reemplazar |
n | omitir |
! | reemplazar todos |
q | salir |
Terminal integrada
Abrir terminal desde la paleta de comandos.
Modos:
| Modo | Descripción |
|---|---|
| Terminal | teclas van al shell |
| Read Only | scroll, 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-analyzergoplsclangdpylsp
Funciones:
- autocompletado
- ir a definición
- referencias
- hover
- rename
- diagnósticos
- semantic highlighting
- inlay hints
Configuración
Capas de configuración
| Capa | Archivo |
|---|---|
| User | ~/.config/fresh/config.json |
| Project | .fresh/config.json |
| Session | temporal |
Prioridad:
Session > Project > User > DefaultsKeybindings
Fresh incluye 3 estilos base:
- default
- emacs
- macos
Puedes personalizar atajos desde:
Edit > Keybinding EditorTemas
Seleccionar tema:
Select ThemeEditar tema:
Edit ThemeUbicació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 pluginPersistencia de sesión
Iniciar sesión persistente:
fresh -aSesión con nombre:
fresh -a mysessionListar sesiones:
fresh --cmd session listAbrir archivo en sesión:
fresh --cmd session open-file . src/main.rs:42Edición remota SSH
Abrir archivo remoto:
fresh user@host:/path/fileAbrir 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:colstdin:
echo hello | fresh -Recuperación automática:
~/.local/share/fresh/recovery/Integración Git
Indicadores:
| Color | Significado |
|---|---|
| Verde | agregado |
| Amarillo | modificado |
| Rojo | eliminado |
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 EventsInternacionalización
Cambiar idioma:
fresh --locale esTambién disponible desde:
Select LocaleColores de terminal
Forzar modo 256 colores:
FRESH_COLOR_MODE=256 fresh