Editora
IDE power at text-editor speed
A keyboard-driven editor where every action is a command, a keystroke or a fuzzy M-x search away. Pick your keymap (Emacs, VS Code, Sublime, IntelliJ, CUA) or bind your own. Fast, cross-platform, and quiet: no accounts, no telemetry.
The command palette, live. Every action is searchable and rebindable.
See it in action
The actual editor: syntax highlighting, a live preview, git gutters, LSP completion, and a status bar that stays out of your way.
Why Editora
A keyboard-first editor for people who'd rather keep their hands on the keys. Free, open source, and the same on macOS, Windows, and Linux.
Keyboard-first
Every action is a command you can bind or fuzzy-search. Five keymaps — Emacs, VS Code, Sublime, IntelliJ, CUA — fully rebindable, with macros, multiple cursors, and a prefix argument.
A full IDE, no bloat
LSP for 21 languages, step debugging, git & GitHub, run & test — in one fast native app that stays responsive on huge files. No accounts, no telemetry, no subscriptions.
Previews everything
Markdown, Mermaid, CSV grids, diagrams, PDFs, and 20+ more file types render live, side by side with the source — no external browser.
One editor, four ways to run it
Editora scales with the task instead of asking you to pick a tool. The same app goes from a blank page for writing to a full IDE — and back — without reopening anything.
Zen
FocusJust the text. Every bar, the gutter, the minimap — gone. The language server is still running behind it.
- Nothing but your file
C-c z Expert
FocusWindow chrome disappears, the editor stays whole: line numbers, minimap, status bar, current-line highlight.
- Line numbers
- Minimap
- Status bar
C-c C-e Simple UI
PlainA plain text editor. Familiar toolbar and tabs, no gutter, and the heavy machinery switched off entirely.
- Toolbar + tabs
- No LSP, git, or debug
view.toggleSimpleMode Full IDE
EverythingThe lot: language servers for 21 languages, step debugging, git and GitHub, build tools, live previews.
- Tool windows
- Gutter + minimap
- All features
Default
Zen and Expert only hide the interface — everything keeps
running underneath. Simple UI is the one that actually switches the heavy
features off. All four are a keystroke or a palette command away, and Editora
can launch straight into any of them (--zen, --expert,
--simple).
Download Editora Free and open source, for macOS, Windows, and Linux. See how it compares.
Uses the tools you already have
Editora doesn't bundle its own copy of your toolchain. It shells out to the CLIs already on your machine, so you get your versions and your config — and a feature stays invisible until its tool is found.
-
gitVersion control, blame, diffs -
ghPull requests, issues, CI runs -
ripgrepFaster Find in Files -
21 language serversCompletion, diagnostics -
Debug adaptersJava, Python, JavaScript -
mmdcMermaid diagrams -
dot / plantumlGraphviz and PlantUML -
typstTypst documents -
mvn / gradle / npmBuilds, tests, tasks
Doctor
Because the tools live outside the app, Editora ships a health screen
that shows exactly what it found. Every integration is listed with its
version and resolved path, warnings for anything half-configured (a
gh that isn't signed in, a JDK too old to run a file), and
a red row for what's missing.
Missing tools that Editora knows how to fetch get an Install… button right there, and the whole screen re-checks live — no restart, no hunting through settings.
Run it from the palette: view.doctor ·
More about Doctor
What's new
A few of the most recent changes. See everything that's shipped.
- Three Java commands : (palette) — Organize Imports sorts and prunes a file's imports directly, without going through the code-action menu; Copy Fully Qualified Name puts…
- Project-wide problems : the Problems window gained an Open files / Whole project selector, and a new Build Project command (palette) recompiles the Java project and fills…
- Stack-trace frames into libraries : clicking a Java stack-trace line in the Run, Test or Build console now asks the language server to resolve it, so a frame inside a dependency or the…
- Fewer stray test gutters : the ▶ beside a JUnit class is now confirmed against the project's real test source folders, so a class in
src/main/javathat happens to… - Re-indent as you type : with a language server running, typing
;,}or Enter re-indents the current line to the server's own convention.… - Java code generation : with the Java language server running, the code-action menu (
Ctrl-., or the editor right-click menu) now offers Generate toString(),… - Go to Implementation, Type Definition and Declaration : three navigation commands beside Go to Definition. Go to Implementation jumps from an interface or abstract member to the concrete overrides (a lone…
- Language-server folding and selection : where a language server is running, code folding now comes from the server's own understanding of the file instead of brace/indent scanning: an…
Features
Keyboard & commands
Command-driven core
Hunting through menus? Every action is a registered Command, bound to a chord or one M-x search away. 200+ commands, nothing buried.
Keymaps your way
Pick Emacs, CUA, Sublime Text, VS Code, or IntelliJ IDEA. Switch live, no restart. Or rebind any command yourself in the built-in keybinding editor (multi-key chords like C-x C-s supported).
Jump-to popups
Lost in a big project? Fuzzy-jump to recent files, symbols, open tabs, and tool windows, plus an Emacs find-file-style path finder.
Multiple cursors
Add a caret at the next occurrence, above/below, or on every occurrence at once, or Alt-drag a column/box selection to edit many places at once, VS Code-style.
Keyboard macros
Record a sequence of edits and replay it: F3 to start, F4 to stop, C-x e to replay. Name and save macros, and bind them to keys.
Emacs heritage
The Emacs editing model, not just its keybindings: a kill ring and a mark ring, C-x r rectangles, narrowing, query-replace, C-u prefix arguments, and structural sexp motion. Emacs is the default keymap.
Editing
Snippets
Retyping the same boilerplate? Expand VS Code / TextMate templates with tab stops, mirrors, choices, and variables, all from a prefix + Tab. Ships for all 21 languages.
Smart indentation
Per-language auto-indent on Enter (block openers, matching-pair stanzas, closer re-alignment), plus smart backspace that clears a whole indent level in one press.
Auto-close & bracket matching
Typing ([{ or quotes inserts the closer, type-over to skip, wrap a selection, and Backspace clears an empty pair. The bracket beside the caret is highlighted with its match.
Comment toggling
M-; comments or uncomments the line or selection using the language's syntax (//, #, <!-- -->, /* */, --, …).
Spell checking
Red wavy underlines with right-click suggestions, Add-to-Dictionary, and Ignore: full text for prose, comments & strings for code. Pure-Java Hunspell; English, Spanish, French.
EditorConfig
Honors a project's .editorconfig: indent style/size, tab width, end-of-line, charset, max line length, and on-save trim / final-newline. On by default.
Undo History
An in-session timeline of document checkpoints (one per typing burst). Jump back to any recent state from a filterable popup (M-g v) or the tool window (M-g u).
Code intelligence
Syntax highlighting
TextMate grammars (via tm4e) for 21 languages: Java, Python, Rust, Go, Kotlin, C/C++, C#, Ruby, SQL, Markdown, and more.
Language servers (LSP) Beta
Go-to-definition, code actions, rename, signature help, inlay hints, hierarchy, diagnostics and completions via 22 language servers (Java, TypeScript, Python, Go, Rust, C/C++, and more), auto-detected, never bundled.
Autocomplete
As-you-type completion: a popup for code (LSP + snippets) and inline ghost text for prose. Trigger with C-M-i / M-/.
Run & debug
Run files & main classes
Run a script, or a Maven/Gradle project's main class, from a gutter ▶. Output and stdin go to the Run console, with clickable stack traces and saved run configurations.
Debugging (DAP) Beta
Full debugging for Java, Python, and JavaScript: breakpoints, step in/over/out, watches, set-value, run-to-cursor, inline values, and an interactive console.
HTTP client Beta
Run .http / .rest requests from a gutter ▶, with environments, variables, request chaining, and a formatted response view. Built on the JDK HTTP client.
Build tools
Maven, npm, Cargo, Go, and Gradle each get an IntelliJ-style tasks tool window and a streaming console.
Git & diff
Git integration Beta
Native Git: status-bar branch, gutter change bars vs HEAD, a Commit tool window, fetch / pull / push + branches, plus a history/log view, inline blame, and stash.
GitHub integration Beta
Review and check out pull requests, submit reviews, open a file on GitHub at the caret line, and jump from a failed CI log straight to the offending line. Uses your own gh CLI, so Editora never handles a token.
Diff & merge Beta
Side-by-side and unified diff (vs HEAD, a commit, or another file) with word-level highlights and apply-hunk arrows, plus a merge-conflict resolver.
Docs & diagrams
Markdown preview
IntelliJ-style 3-mode view rendered natively with CommonMark + GFM: task lists, code pills, images, LaTeX math, a heading outline, linting, and Export to HTML. Live and theme-matched.
Mermaid diagrams
Render Mermaid diagrams inline in Markdown and in standalone .mmd files, with live linting and export to SVG / PNG / PDF.
Export & print
Export code or the Markdown preview to a syntax-highlighted PDF, HTML, MS Word, or ODF, or print with a preview. Light-themed and generated off-thread.
HTML live preview Beta
Click the globe on any HTML file to open it in a detected browser (Safari, Chrome, Firefox, Edge…), served over a loopback web server with live-as-you-type reload. Sibling CSS, JS, and images included.
Typst
A 3-mode preview for .typ files rendered by the Typst CLI, a tinymist language server, Markdown-style editing, and export to PDF / PNG / SVG.
Diagrams as code
A 3-mode preview for Graphviz DOT (.dot/.gv) and PlantUML (.puml) files via the dot / plantuml CLIs, with export to SVG / PNG / PDF.
Smart file previews
Open a data or config file and get a rendered or plain-English preview: JSON/YAML/TOML/XML trees, OpenAPI docs, and decoded systemd, ssh, Dockerfile, fstab, crontab, and GitHub Actions files.
Workspace & files
Projects
VS Code single-folder workspaces: a root folder plus its own saved session (open files, layout, folds), shown as a filterable file tree.
Bookmarks & notes
Line bookmarks (gutter markers, cross-file jump, per-project), plus Personal Notes attached to a word/line/range, stored outside the file, surviving renames, with Markdown bodies.
Find in files
Project-wide search and replace with a results panel, plus AceJump to leap the caret to any visible spot by typing a label.
File templates Beta
New File From Template: single- or multi-file scaffolds with interactive placeholders (author, date, file name, …).
Read-only / View mode
Toggle a buffer read-only to browse without editing; pager-style Space/Backspace paging and a Word-style View Mode banner.
Remote files (SFTP) Beta
Browse, edit, search, and save files on a remote host over SSH/SFTP. The project tree, search, bookmarks, and notes all work over the wire.
Local file history
IntelliJ-style snapshots of your files over time, on save, auto-save, and before an external reload, so you can diff or restore an earlier version with no Git required.
TODO highlighting
Configurable regex patterns (TODO, FIXME, and your own) are highlighted in the editor and collected in a TODO tool window, with scrollbar and minimap stripes.
Server log viewer
Open a .log file for severity highlighting, a tail -f Follow toggle, open-at-the-tail for huge logs, and live level + regex filtering.
CSV & TSV support
Rainbow per-column coloring, a field readout, and an editable CSV Grid with sort/filter and export to Excel/ODF, plus align/shrink and Markdown-table interop.
Customization & extensibility
AI assistance Beta
One-shot AI actions (explain, rewrite, commit message, inline completion) and an embedded coding agent over ACP. Anthropic or a local model. Off by default.
Themes & fonts
Six editor themes (Primer, Nord, Cupertino, Dracula, Islands, each light & dark) that follow the app theme, plus five bundled monospace fonts, no install needed.
Plugins
Extend the editor with commands, tool windows, and integrations. Install from a built-in registry of 19 plugins, or write your own (Java or a simple manifest).
Simple UI mode
One toggle strips the editor to the essentials, hiding the extra toolbar groups, tool-window stripe, breadcrumb, gutter, and minimap for a calm, minimal surface.
Localized UI
The whole interface is translated into English, Italian, Spanish, French, Portuguese, and German, selectable in Settings.
MCP server Beta
Embed a Model Context Protocol server in the running editor so an LLM agent (Claude Code, …) can observe live state and drive the command registry. Loopback-only, token-authed, off by default.
External tools
Define your own CLI commands and run them on the current file or buffer, with $Name$ macros, stdin piping, and output to a console or back into the text. IntelliJ-style.
Doctor
A health screen for every external tool Editora can use: what was found, which version, where it lives, what's only half-configured, and what's missing, with an Install… button where Editora can fetch it for you.
Works with your stack
Syntax highlighting for dozens of languages, and full language-server intelligence — completion, go-to-definition, diagnostics — for 21 of them. Plus live previews for the formats you actually read.
Language servers 21
- Jv Java
- JS JavaScript
- TS TypeScript
- Py Python
- Go Go
- Rs Rust
- C C
- C+ C++
- C# C#
- Rb Ruby
- PHP PHP
- Kt Kotlin
- Lua Lua
- <> HTML
- CSS CSS
- {} JSON
- YML YAML
- XML XML
- TML TOML
- SQL SQL
- sh Shell
- Dk Dockerfile
- Tf Terraform
…plus TextMate syntax highlighting for many more.
Live previews 15+
- Markdown
- Mermaid
- CSV grid
- SVG
- Graphviz DOT
- PlantUML
- Typst
- JSON / YAML / TOML tree
- XML tree
- OpenAPI
- GitHub Actions
- Markwhen
- Images
- Hex
Your keymap, your keys
Bring the muscle memory you already have. Pick a keymap and every shortcut follows, or rebind any command to whatever you like.
| Action | Emacs | CUA | Sublime Text | VS Code | IntelliJ IDEA |
|---|---|---|---|---|---|
| Command palette | M-x | C-S-p | C-S-p | C-S-p | C-S-a |
| Save | C-xC-s | C-s | C-s | C-s | C-s |
| Go to file | C-xC-f | — | C-p | C-p | C-S-n |
| Find in file | C-s | C-f | C-f | C-f | C-f |
| Find in files | C-S-f | C-S-f | C-S-f | C-S-f | C-S-f |
| Replace | — | C-h | C-h | C-h | C-r |
| Toggle comment | M-; | C-/ | C-/ | C-/ | C-/ |
| Duplicate line | — | C-S-d | C-S-d | M-S-down | C-d |
| Move line up | — | M-up | M-up | M-up | M-S-up |
| Undo | C-/ | C-z | C-z | C-z | C-z |
| Go to definition | M-. | — | f12 | f12 | C-b |
| Go to line | M-gg | C-g | C-g | C-g | C-g |
Windows/Linux chords shown — macOS substitutes ⌘. Every binding is editable in Settings, and a blank cell just means that keymap leaves the action to the palette.
Make it yours
Ships with 25+ editor themes (and you can add your own). Try a few right here — the whole site recolors with the editor.
Built for speed
Performance is a first-class goal: the UI thread stays free and work happens incrementally, off-thread, and only on what's visible.
Download
Native installers and self-contained runnable jars for every platform are attached to each release.
Native installer (bundles a Java runtime, nothing else to install), or a
self-contained java -jar on JDK 25.
Installers are currently unsigned. On macOS, right-click the app and choose Open the first time.
Build & run from source
Requires JDK 25+. A Maven wrapper is bundled, so no local Maven install is needed.
# Clone
git clone https://github.com/adriandeleon/Editora.git
cd Editora
# Run the app
./mvnw javafx:run
# Build a native installer (DMG / MSI / DEB)
./mvnw -Pdist package
# Build a self-contained runnable jar
./mvnw -Pfatjar package
java -jar target/Editora-0.9.10.jar Built in the open with the help of AI coding tools — every change lands as a reviewed, tested commit on GitHub.