{"id":32612813,"url":"https://github.com/sinelaw/fresh","last_synced_at":"2026-04-19T01:01:44.128Z","repository":{"id":324985542,"uuid":"907990001","full_name":"sinelaw/fresh","owner":"sinelaw","description":"Terminal based IDE \u0026 text editor: easy, powerful and fast","archived":false,"fork":false,"pushed_at":"2026-04-11T20:46:52.000Z","size":44044,"stargazers_count":6769,"open_issues_count":172,"forks_count":239,"subscribers_count":24,"default_branch":"master","last_synced_at":"2026-04-11T21:19:48.576Z","etag":null,"topics":["ide","terminal-based","text-editor"],"latest_commit_sha":null,"homepage":"https://getfresh.dev/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sinelaw.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"sinelaw"}},"created_at":"2024-12-24T19:50:15.000Z","updated_at":"2026-04-11T21:12:43.000Z","dependencies_parsed_at":"2025-12-13T20:04:16.284Z","dependency_job_id":null,"html_url":"https://github.com/sinelaw/fresh","commit_stats":null,"previous_names":["sinelaw/fresh"],"tags_count":121,"template":false,"template_full_name":null,"purl":"pkg:github/sinelaw/fresh","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinelaw%2Ffresh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinelaw%2Ffresh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinelaw%2Ffresh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinelaw%2Ffresh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinelaw","download_url":"https://codeload.github.com/sinelaw/fresh/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinelaw%2Ffresh/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31907720,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"ssl_error","status_checked_at":"2026-04-16T18:21:47.142Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ide","terminal-based","text-editor"],"created_at":"2025-10-30T14:57:00.342Z","updated_at":"2026-04-16T23:01:19.608Z","avatar_url":"https://github.com/sinelaw.png","language":"Rust","funding_links":["https://github.com/sponsors/sinelaw"],"categories":["Table of Contents","others","Rust","Tool","Applications","Text Editors","开源工具","Systems \u0026 Low-Level"],"sub_categories":["Text Editor","Terminal Editor","Text editors","命令行工具","Rust"],"readme":"# Fresh\n\nA modern, full-featured terminal text editor, **with zero configuration**. Familiar keybindings, mouse support, and IDE-level features — no learning curve required.\n\n[Official Website](https://sinelaw.github.io/fresh/) \u0026nbsp;·\u0026nbsp; [Documentation](https://getfresh.dev/docs) \u0026nbsp;·\u0026nbsp; [Discord](https://discord.gg/gqGh3K4uW3) \u0026nbsp;·\u0026nbsp; [Contributing](#contributing)\n\n**[Quick Install](#installation):** \u0026nbsp; `curl https://raw.githubusercontent.com/sinelaw/fresh/refs/heads/master/scripts/install.sh | sh`\n\n---\n\n![Fresh Demo](docs/fresh-demo2.gif)\n\nFresh brings the intuitive UX of VS Code and Sublime Text to the terminal. Standard keybindings, full mouse support, menus, and a command palette — everything works the way you'd expect, right out of the box. No modes, no memorizing shortcuts.\n\nBuilt for real-world performance: Fresh handles [multi-gigabyte files](https://noamlewis.com/blog/2025/12/09/how-fresh-loads-huge-files-fast) with negligible memory overhead and delivers consistently low-latency input, regardless of file size.\n\n### Command Palette \u0026 Fuzzy Finder\n\nOne shortcut to find files, run commands, switch buffers, and jump to any line.\n\n![Command Palette](docs/blog/productivity/command-palette/showcase.gif)\n\n### Multi-Cursor Editing\n\nSelect and edit multiple occurrences simultaneously — the same workflow you know from graphical editors.\n\n![Multi-Cursor](docs/blog/editing/multi-cursor/showcase.gif)\n\n### Themes \u0026 Customization\n\nBrowse and apply color themes instantly. Full settings UI and interactive keybinding editor included.\n\n![Select Theme](docs/blog/themes/select-theme/showcase.gif)\n\nSee more feature demos: [Editing](https://getfresh.dev/docs/blog/editing) (search \u0026 replace, block selection, sort lines, ...) · [Productivity](https://getfresh.dev/docs/blog/productivity) (file explorer, split view, integrated terminal, ...) · [Themes](https://getfresh.dev/docs/blog/themes)\n\n---\n\n## Feature Overview\n\n| Category | Features |\n|----------|----------|\n| **File Management** | open/save/new/close, file explorer, tabs, auto-revert, git file finder |\n| **Editing** | undo/redo, multi-cursor, block selection, smart indent, comments, clipboard |\n| **Search \u0026 Replace** | incremental search, find in selection, query replace, git grep |\n| **Navigation** | go to line/bracket, word movement, position history, bookmarks, error navigation |\n| **Views \u0026 Layout** | split panes, line numbers, line wrap, backgrounds, markdown preview |\n| **Language Server (LSP)** | go to definition, references, hover, code actions, rename, diagnostics, autocompletion |\n| **Productivity** | command palette, menu bar, keyboard macros, git log, diagnostics panel |\n| **Extensibility** | TypeScript plugins (sandboxed QuickJS), color highlighter, TODO highlighter, merge conflicts, path complete, keymaps |\n| **Internationalization** | Multiple language support (see [`locales/`](locales/)), plugin translation system |\n\n## Installation\n\nQuick install (autodetect best method):\n\n`curl https://raw.githubusercontent.com/sinelaw/fresh/refs/heads/master/scripts/install.sh | sh`\n\nOr, pick your preferred method:\n\n| Platform | Method |\n|----------|--------|\n| macOS | [brew](#brew) |\n| Bazzite/Bluefin/Aurora Linux | [brew](#brew) |\n| Windows | [winget](#windows-winget) |\n| Arch Linux | [AUR](#arch-linux-aur) |\n| Debian/Ubuntu | [.deb](#debianubuntu-deb) |\n| Fedora/RHEL | [.rpm](#fedorarhelopensuse-rpm), [Terra](https://terra.fyralabs.com/) |\n| FreeBSD | [ports / pkg](https://www.freshports.org/editors/fresh) |\n| Gentoo | [GURU](#gentoo-guru) |\n| Linux (any distro) | [AppImage](#appimage), [Flatpak](#flatpak) |\n| All platforms | [Pre-built binaries](#pre-built-binaries) |\n| npm | [npm / npx](#npm) |\n| Rust users (Fast) | [cargo-binstall](#using-cargo-binstall) |\n| Rust users | [crates.io](#from-cratesio) |\n| Nix | [Nix flakes](#nix-flakes) |\n| Developers | [From source](#from-source) |\n\n### Brew\n\nOn macOS and some linux distros (Bazzite/Bluefin/Aurora):\n\n\u003e **Note:** On macOS, see [macOS Terminal Tips](https://getfresh.dev/docs/configuration/keyboard#macos-terminal-tips) for recommended terminal configuration.\n\n```bash\nbrew tap sinelaw/fresh\nbrew install fresh-editor\n```\n\n### Windows (winget)\n\n```bash\nwinget install fresh-editor\n```\n\nAlternatively, Windows users can use [npm](#npm).\n\n### Arch Linux ([AUR](https://aur.archlinux.org/packages/fresh-editor-bin))\n\n**Binary package (recommended, faster install):**\n\n```bash\ngit clone https://aur.archlinux.org/fresh-editor-bin.git\ncd fresh-editor-bin\nmakepkg --syncdeps --install\n```\n\n**Build from source:**\n\n```bash\ngit clone https://aur.archlinux.org/fresh-editor.git\ncd fresh-editor\nmakepkg --syncdeps --install\n```\n\n**Using an AUR helper (such as `yay` or `paru`):**\n\n```bash\n# Binary package (recommended, faster install)\nyay -S fresh-editor-bin\n\n# Or build from source\nyay -S fresh-editor\n```\n\n### Debian/Ubuntu (.deb)\n\nDownload and install the latest release:\n\n```bash\ncurl -sL $(curl -s https://api.github.com/repos/sinelaw/fresh/releases/latest | grep \"browser_download_url.*_$(dpkg --print-architecture)\\.deb\" | cut -d '\"' -f 4) -o fresh-editor.deb \u0026\u0026 sudo dpkg -i fresh-editor.deb\n```\n\nOr download the `.deb` file manually from the [releases page](https://github.com/sinelaw/fresh/releases).\n\n### Fedora/RHEL/openSUSE (.rpm)\n\nDownload and install the latest release:\n\n```bash\ncurl -sL $(curl -s https://api.github.com/repos/sinelaw/fresh/releases/latest | grep \"browser_download_url.*\\.$(uname -m)\\.rpm\" | cut -d '\"' -f 4) -o fresh-editor.rpm \u0026\u0026 sudo rpm -U fresh-editor.rpm\n```\n\nOr download the `.rpm` file manually from the [releases page](https://github.com/sinelaw/fresh/releases).\n\n### Gentoo ([GURU](https://wiki.gentoo.org/wiki/Project:GURU))\n\nEnable the repository as read in [Project:GURU/Information for End Users](https://wiki.gentoo.org/wiki/Project:GURU/Information_for_End_Users) then emerge the package:\n\n\n```bash\nemerge --ask app-editors/fresh\n```\n\n### AppImage\n\nDownload the `.AppImage` file from the [releases page](https://github.com/sinelaw/fresh/releases) and run:\n\n```bash\nchmod +x fresh-editor-VERSION-x86_64.AppImage\n./fresh-editor-VERSION-x86_64.AppImage\n```\n\n**For faster startup** (recommended): Extract the AppImage instead of running it directly. This avoids the FUSE mount overhead on each launch (~10x faster):\n\n```bash\n./fresh-editor-VERSION-x86_64.AppImage --appimage-extract\nmkdir -p ~/.local/share/fresh-editor ~/.local/bin\nmv squashfs-root/* ~/.local/share/fresh-editor/\nln -sf ~/.local/share/fresh-editor/usr/bin/fresh ~/.local/bin/fresh\n```\n\nEnsure `~/.local/bin` is in your PATH. Available for x86_64 and aarch64 architectures.\n\n### Flatpak\n\nDownload the `.flatpak` bundle from the [releases page](https://github.com/sinelaw/fresh/releases) and install:\n\n```bash\nflatpak install --user fresh-editor-VERSION-x86_64.flatpak\nflatpak run io.github.sinelaw.fresh\n```\n\nSee [flatpak/README.md](flatpak/README.md) for building from source.\n\n### Pre-built binaries\n\nDownload the latest release for your platform from the [releases page](https://github.com/sinelaw/fresh/releases).\n\n### npm\n\n```bash\nnpm install -g @fresh-editor/fresh-editor\n```\n\nOr try it without installing:\n\n```bash\nnpx @fresh-editor/fresh-editor\n```\n\n### Using cargo-binstall\n\nTo install the binary directly without compiling (much faster than crates.io):\n\nFirst, install cargo-binstall if you haven't already\n\n```bash\ncargo install cargo-binstall\n```\n\nThen install fresh\n\n```bash\ncargo binstall fresh-editor\n```\n\n### Nix flakes\n\nRun without installing:\n```bash\nnix run github:sinelaw/fresh\n```\n\nOr install to your profile:\n```bash\nnix profile add github:sinelaw/fresh\n```\n\n### From crates.io\n\n```bash\ncargo install --locked fresh-editor\n```\n\n### From source\n\n```bash\ngit clone https://github.com/sinelaw/fresh.git\ncd fresh\ncargo build --release\n./target/release/fresh [file]\n```\n\n## Documentation\n\n- [User Guide](https://getfresh.dev/docs)\n- [macOS Tips](https://getfresh.dev/docs/configuration/keyboard#macos-terminal-tips) - Terminal configuration, keyboard shortcuts, and troubleshooting for Mac users\n- [Plugin Development](https://getfresh.dev/docs/plugins/development)\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## Privacy\n\nFresh checks for new versions daily to notify you of available upgrades. Alongside this, it sends basic anonymous telemetry (version, OS/architecture, terminal type) to help understand usage patterns. No personal data or file contents are collected.\n\nTo disable both upgrade checks and telemetry, use `--no-upgrade-check` or set `check_for_updates: false` in your config.\n\n## License\n\nCopyright (c) Noam Lewis\n\nThis project is licensed under the GNU General Public License v2.0 (GPL-2.0).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsinelaw%2Ffresh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsinelaw%2Ffresh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsinelaw%2Ffresh/lists"}