Что такое fresh-editor?
fresh-editor — пакет с Fresh, терминальной IDE и текстовым редактором от Noam Lewis, написанным на Rust. Он приносит в терминал то, чего ждёшь от IDE: поддержку языковых серверов, подсветку синтаксиса, несколько курсоров и систему плагинов на TypeScript — и при этом остаётся простым в освоении. Огромные файлы открываются без ожидания, сессию редактирования держит фоновый демон, к которому можно снова подключиться командой fresh -a, а с fresh --web редактор работает даже в браузере. Пакет называется fresh-editor, а команда, которую вы набираете, — fresh.
⚡ Ключевые возможности fresh-editor
🧠 Языковые серверы
Fresh говорит на Language Server Protocol: диагностика, автодополнение, переход к определению и подсказки приходят от тех же серверов, что используют другие редакторы, — rust-analyzer, gopls или clangd.
🎨 Подсветка синтаксиса
Код подсвечен сразу при открытии, в том терминале, которым вы и так пользуетесь, без отдельного шага настройки перед первым файлом.
✏️ Несколько курсоров
Поставьте курсоры сразу в несколько мест и печатайте во всех одновременно — быстрый способ переименовать переменную в блоке или переделать столбец похожих строк.
🧩 Плагины на TypeScript
В Fresh встроена среда выполнения TypeScript для плагинов: расширить редактор — значит написать TypeScript под его API плагинов, а не учить собственный язык конфигурации.
🔌 Сессии, которые выживают
Демон сессий сохраняет редактор и открытые файлы, когда закрывается терминал или обрывается SSH-соединение. fresh -a подключается к нему снова.
🌐 Терминал или браузер
fresh --web отдаёт тот же редактор в веб-браузер — удобно, когда до машины проще добраться через браузер, чем через терминал.
apt upgrade держит вас на последней версии.
📦 Установка из deb.griffo.io
Шаг 1: Добавить репозиторий
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🆓 Есть вечно бесплатное зеркало. deb-free.griffo.io раздаёт пакеты бесплатно навсегда — без аккаунта, без подписки, не более 2 месяцев позади upstream, исправления безопасности сразу. Сейчас там cliamp, Ghostty, lazydocker, Oh My Posh, Uncloud и Zed; fresh-editor среди них нет, поэтому репозиторий выше — единственный способ установить его сегодня; попросите, и его можно добавить.
🧩 О варианте extrepo. extrepo — штатный инструмент Debian для внешних репозиториев: он создаёт файл sources и устанавливает ключ подписи, предварительно сверив его с подписанными метаданными. Этот репозиторий зарегистрирован в нём как griffo, а бесплатное навсегда зеркало — как griffo-free, поэтому в Debian (bookworm, trixie, forky и sid) команды выше и есть вся настройка.
extrepo настраивает только файл sources и ключ — учётные данные подписки по-прежнему прописываются в /etc/apt/auth.conf.d/deb.griffo.io.conf. Ubuntu не поддерживается, так как extrepo публикует метаданные только для выпусков Debian: там используйте команды с sudo или от root.
Шаг 2: Установить fresh-editor
# Установить последнюю версию fresh-editor
sudo apt install fresh-editor
# Проверить установку: команда называется fresh, а не fresh-editor
fresh --version# Установить последнюю версию fresh-editor
apt install fresh-editor
# Проверить установку: команда называется fresh, а не fresh-editor
fresh --versionШаг 3: Открыть первый файл
# Команда называется fresh. Откройте файл и начинайте редактировать
fresh README.md
# Сразу перейти к строке и столбцу, в формате file:line:col, который печатают компиляторы и grep
fresh src/main.rs:42:7
# Man-страница и полный список опций входят в пакет
man fresh
fresh --help🎯 Базовые примеры использования
Открытие файлов:
# Открыть файл там, куда указывает ошибка компилятора или результат grep
fresh src/lib.rs:120:5
# Огромные файлы открываются без долгого ожидания, включая многогигабайтные логи
fresh /var/log/big-application.logСессии, которые переживают терминал:
# Подключиться к работающей сессии редактора с её открытыми файлами
# после закрытия терминала или обрыва SSH-соединения
fresh -a
# То же работает из нового SSH-входа на машину
ssh devbox
fresh -aРедактирование в браузере:
# Отдать Fresh в веб-браузер вместо отрисовки в этом терминале
fresh --webЯзыковые серверы:
# Установить языковой сервер для своего языка и открыть файл на нём
sudo apt install clangd
fresh src/main.c
# rust-analyzer ставится через rustup
rustup component add rust-analyzer
fresh src/main.rs:1:1# Установить языковой сервер для своего языка и открыть файл на нём
apt install clangd
fresh src/main.c
# rust-analyzer ставится через rustup
rustup component add rust-analyzer
fresh src/main.rs:1:1🔧 Интеграция с другими инструментами
Fresh встраивается в привычную работу в терминале:
- Git:
git config --global core.editor freshоткрывает сообщения коммитов и интерактивный rebase в Fresh - Shell:
export EDITOR=freshв~/.bashrc— иcrontab -e,sudoeditи им подобные используют его - Компиляторы и grep: их вывод
file:line:colоткрывается ровно в указанном месте - Рабочий стол: пакет ставит desktop-файл и иконки, так что Fresh появляется в меню приложений
- SSH и tmux: демон сессий держит вашу работу открытой на удалённой стороне, а
fresh -aподхватывает её снова
🚀 Почему стоит выбрать deb.griffo.io?
- Официальный Debian: нет пакета: Fresh нет ни в одном выпуске Debian, от Bookworm до Sid
- .deb от upstream: свежий в день загрузки, но upstream публикует отдельные .deb-файлы в релизах GitHub без apt-репозитория, поэтому
apt upgradeникогда не видит новую версию, а каждый релиз — очередная ручная загрузка - Сборка через cargo: нужны Rust-тулчейн и полная компиляция при каждом обновлении, а desktop-файла, иконок и man-страницы не будет
- deb.griffo.io: последняя версия с автоматическими обновлениями
- ✅ Пакет fresh-editor, команда fresh:
sudo apt install fresh-editor, затем запускайтеfresh; fresh-editor — это имя пакета у самого upstream, его используют .deb, AUR, Homebrew и winget, поэтому машина с установленным .deb от upstream обновится на месте начиная со следующего релиза - ✅ Обновления через apt для релизов upstream: upstream выпускает .deb-файлы, но не репозиторий; здесь каждый релиз попадает в apt-репозиторий с GPG-подписью, со сборкой для каждого выпуска Debian и Ubuntu
- ✅ Автоматические обновления: пакеты обновляются в течение нескольких часов после релиза upstream
- ✅ Полный пакет: бинарник
fresh, desktop-файл и иконки для меню приложений и man-страницаfresh(1) - ✅ Две архитектуры: amd64 и arm64 — ноутбуки, серверы и 64-битные ARM-платы получают один и тот же Fresh
- ✅ Много дистрибутивов: работает на Bookworm, Trixie, Forky и Sid
- ✅ Простое обслуживание: обновления обычными командами apt
📦 Репозиторий сборки пакета
Пакеты для Debian собираются и поддерживаются автоматически в этом репозитории GitHub:
- 🍃 fresh-debian - Сборки последних выпусков
🔗 Похожие пакеты
Также доступны в deb.griffo.io:
- Helix - Модальный терминальный редактор со встроенной поддержкой языковых серверов
- Neovim - Предельно расширяемый редактор на основе Vim
- Zed - Графический редактор кода — для случаев, когда вы уходите из терминала
- lazygit - Терминальный интерфейс git, естественный спутник терминального редактора
apt upgrade держал его свежим.