Was ist fresh-editor?
fresh-editor ist das Paket für Fresh, eine Terminal-basierte IDE und einen Texteditor von Noam Lewis, geschrieben in Rust. Fresh bringt ins Terminal, was man von einer IDE erwartet: Language-Server-Unterstützung, Syntaxhervorhebung, mehrere Cursor und ein Plugin-System, das TypeScript ausführt — und bleibt dabei leicht zu erlernen. Riesige Dateien öffnet es ohne Wartezeit, die Editor-Sitzung hält ein Hintergrund-Daemon am Leben, an den du dich mit fresh -a wieder anhängst, und mit fresh --web läuft es sogar im Webbrowser. Das Paket heißt fresh-editor, der Befehl, den du tippst, heißt fresh.
⚡ Wichtige Funktionen von fresh-editor
🧠 Language-Server-Unterstützung
Fresh spricht das Language Server Protocol: Diagnosen, Vervollständigung, Sprung zur Definition und Hover-Infos kommen von denselben Servern, die auch andere Editoren nutzen, etwa rust-analyzer, gopls oder clangd.
🎨 Syntaxhervorhebung
Code ist hervorgehoben, sobald du ihn öffnest, im Terminal, das du ohnehin nutzt — ohne separaten Einrichtungsschritt, bevor die erste Datei richtig aussieht.
✏️ Mehrere Cursor
Setze Cursor an mehrere Stellen gleichzeitig und tippe überall zugleich — der schnelle Weg, eine Variable in einem Block umzubenennen oder eine Spalte ähnlicher Zeilen umzubauen.
🧩 TypeScript-Plugins
Fresh bringt eine TypeScript-Laufzeit für Plugins mit: Den Editor erweitern heißt TypeScript gegen seine Plugin-API schreiben, nicht eine eigene Konfigurationssprache lernen.
🔌 Sitzungen, die überleben
Ein Sitzungs-Daemon hält den Editor mit seinen offenen Dateien am Leben, wenn das Terminal schließt oder die SSH-Verbindung abbricht. fresh -a hängt sich wieder an.
🌐 Terminal oder Browser
fresh --web liefert denselben Editor an einen Webbrowser aus — praktisch, wenn ein Rechner per Browser leichter erreichbar ist als per Terminal.
apt upgrade hält dich auf der neuesten Version.
📦 Installation aus deb.griffo.io
Schritt 1: Repository hinzufügen
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🆓 Es gibt einen für immer kostenlosen Spiegel. deb-free.griffo.io liefert Pakete für immer kostenlos — ohne Konto, ohne Abo, höchstens 2 Monate hinter Upstream, Sicherheitsfixes sofort. Derzeit enthält er cliamp, Ghostty, lazydocker, Oh My Posh, Uncloud und Zed; fresh-editor ist nicht dabei, deshalb führt heute nur das Repository oben dorthin — auf Anfrage kann es aufgenommen werden.
🧩 Zur extrepo-Option. extrepo ist Debians eigenes Werkzeug für externe Repositories: Es legt die Sources-Datei an und installiert den Signaturschlüssel für dich, nachdem es ihn gegen signierte Metadaten geprüft hat. Dieses Repository ist dort als griffo registriert, der für immer kostenlose Spiegel als griffo-free. Unter Debian (bookworm, trixie, forky und sid) sind die Befehle oben damit die gesamte Einrichtung.
extrepo richtet nur die Sources-Datei und den Schlüssel ein; die Zugangsdaten eines Abos gehören weiterhin in /etc/apt/auth.conf.d/deb.griffo.io.conf. Ubuntu wird nicht abgedeckt, denn extrepo veröffentlicht Metadaten nur für Debian-Suites: dort nimmst du die Befehle mit sudo oder als root.
Schritt 2: fresh-editor installieren
# Neuestes fresh-editor installieren
sudo apt install fresh-editor
# Installation prüfen, der Befehl heißt fresh und nicht fresh-editor
fresh --version# Neuestes fresh-editor installieren
apt install fresh-editor
# Installation prüfen, der Befehl heißt fresh und nicht fresh-editor
fresh --versionSchritt 3: Die erste Datei öffnen
# Der Befehl heißt fresh. Eine Datei öffnen und loslegen
fresh README.md
# Direkt zu Zeile und Spalte springen, im Format file:line:col, wie es Compiler und grep ausgeben
fresh src/main.rs:42:7
# Manpage und vollständige Optionsliste sind im Paket enthalten
man fresh
fresh --help🎯 Grundlegende Verwendungsbeispiele
Dateien öffnen:
# Eine Datei genau dort öffnen, wo ein Compilerfehler oder ein grep-Treffer hinzeigt
fresh src/lib.rs:120:5
# Riesige Dateien öffnen ohne lange Wartezeit, auch Logs mit mehreren Gigabyte
fresh /var/log/big-application.logSitzungen, die das Terminal überdauern:
# An die laufende Editor-Sitzung mit ihren offenen Dateien anhängen,
# nachdem das Terminal geschlossen wurde oder die SSH-Verbindung abgebrochen ist
fresh -a
# Das klappt auch nach einem neuen SSH-Login auf dem Rechner
ssh devbox
fresh -aIm Webbrowser editieren:
# Fresh an einen Webbrowser ausliefern, statt es in diesem Terminal zu zeichnen
fresh --webLanguage-Server:
# Einen Language-Server für deine Sprache installieren, dann eine Datei darin öffnen
sudo apt install clangd
fresh src/main.c
# rust-analyzer kommt mit rustup
rustup component add rust-analyzer
fresh src/main.rs:1:1# Einen Language-Server für deine Sprache installieren, dann eine Datei darin öffnen
apt install clangd
fresh src/main.c
# rust-analyzer kommt mit rustup
rustup component add rust-analyzer
fresh src/main.rs:1:1🔧 Tool-Integrationen
Fresh fügt sich in einen bestehenden Terminal-Workflow ein:
- Git:
git config --global core.editor freshöffnet Commit-Nachrichten und interaktive Rebases in Fresh - Shell:
export EDITOR=freshin~/.bashrcsorgt dafür, dasscrontab -e,sudoeditund Co. ihn verwenden - Compiler und grep: ihre Ausgabe im Format
file:line:colöffnet direkt an der gemeldeten Stelle - Desktop: das Paket installiert einen Desktop-Eintrag und Icons, Fresh erscheint also im Anwendungsmenü
- SSH und tmux: der Sitzungs-Daemon hält deine Arbeit auf der entfernten Seite offen, und
fresh -animmt sie wieder auf
🚀 Warum deb.griffo.io?
- Offizielles Debian: nicht paketiert: Fresh ist in keiner Debian-Version enthalten, von Bookworm bis Sid
- Upstream-.deb: aktuell am Tag des Downloads, aber Upstream veröffentlicht einzelne .deb-Dateien in den GitHub-Releases ohne apt-Repository —
apt upgradesieht nie eine neue Version, und jedes Release ist ein weiterer Download von Hand - Mit cargo bauen: braucht eine Rust-Toolchain und bei jedem Upgrade einen kompletten Build, und Desktop-Eintrag, Icons und Manpage fehlen
- deb.griffo.io: neueste Version mit automatischen Updates
- ✅ Paket fresh-editor, Befehl fresh:
sudo apt install fresh-editor, dannfreshstarten; fresh-editor ist der Paketname von Upstream selbst, den auch das .deb, AUR, Homebrew und winget verwenden — ein Rechner mit dem .deb von Upstream wird also ab dem nächsten Release an Ort und Stelle aktualisiert - ✅ apt-Updates für die Upstream-Releases: Upstream liefert .deb-Dateien, aber kein Repository; hier landet jedes Release in einem GPG-signierten apt-Repository, mit einem Build für jede Debian- und Ubuntu-Suite
- ✅ Automatische Updates: Pakete werden innerhalb von Stunden nach Upstream-Releases aktualisiert
- ✅ Vollständiges Paket: das
fresh-Binary, ein Desktop-Eintrag und Icons für das Anwendungsmenü sowie die Manpagefresh(1) - ✅ Zwei Architekturen: amd64 und arm64 — Laptops, Server und 64-Bit-ARM-Boards bekommen dasselbe Fresh
- ✅ Multi-Distribution: läuft auf Bookworm, Trixie, Forky und Sid
- ✅ Einfache Wartung: Updates mit den üblichen apt-Befehlen
📦 Paket-Build-Repository
Die Debian-Pakete werden in diesem GitHub-Repository automatisch gebaut und gepflegt:
- 🍃 fresh-debian - Builds der neuesten Releases
🔗 Verwandte Pakete
Ebenfalls verfügbar über deb.griffo.io:
- Helix - Modaler Terminal-Editor mit eingebauter Language-Server-Unterstützung
- Neovim - Hochgradig erweiterbarer Editor auf Vim-Basis
- Zed - Grafischer Code-Editor, wenn du das Terminal verlässt
- lazygit - Terminal-UI für git, der natürliche Begleiter eines Terminal-Editors
apt upgrade aktuell halten wollen.