Rivet is a Windows-native text editor focused on fast startup, clean behavior, and reliable recovery. It is intentionally compact: the core workflows are implemented deeply instead of spreading effort across a large plugin surface.
- Native Win32 UI with a Scintilla editing engine
- Strong session recovery model with periodic snapshots and crash-safe writes
- Fast, predictable keyboard-driven editing flow
- Minimal visual noise with a practical status bar and focused menus
- Multi-document tabs with three placements:
Top(classic horizontal tabs)Left(vertical list)Right(vertical list)
- Resizable vertical tab panel with persisted width
- Dirty document indicators in both top and vertical tab views
- Word wrap toggle and
Always On Toptoggle in theViewmenu - Zoom (menu, shortcuts, or Ctrl+mousewheel) shared across all tabs and persisted between sessions
- Live word count in the status bar
Reload from Diskin theFilemenu (with unsaved-changes confirmation)
- Find/Replace workflow:
Ctrl+F,Ctrl+HF3,Shift+F3- Match case, whole word, regex, wrap
Replace Allgrouped into a single undo step
Go To Line(Ctrl+G)- Find in Files with cancel support
- Session restore with open tabs and active tab tracking
- Recent Files (MRU) menu, persisted across sessions
- Encoding detection: UTF-8, UTF-8 BOM, UTF-16 LE/BE, with Windows-1252 (ANSI) fallback for legacy files
- Periodic backup snapshots for unsaved changes
- Crash-safe atomic writes for session and backup data
- Stale temp cleanup at startup
- Syntax highlighting for common formats (JSON, XML, Python, PowerShell, YAML, HTML, CSS, C/C++, and Markdown)
- Markdown heading folding (code-fence aware)
- Text transforms:
UppercaseLowercaseTrim Leading + Trailing Whitespace
- Clipboard path helpers:
Copy Full PathCopy FilenameCopy Directory Path
| Action | Shortcut |
|---|---|
| New file | Ctrl+N |
| Open | Ctrl+O |
| Save | Ctrl+S |
| Save all | Ctrl+Shift+S |
| Close tab | Ctrl+W |
| Cycle tab placement | Ctrl+Alt+T |
| Find | Ctrl+F |
| Replace | Ctrl+H |
| Find next / previous | F3 / Shift+F3 |
| Go to line | Ctrl+G |
| Uppercase / Lowercase | Ctrl+Shift+U / Ctrl+U |
| Zoom in / out / reset | Ctrl+= / Ctrl+- / Ctrl+0 |
- Installer: download
rivet-<version>-setup.exefrom GitHub Releases - Portable: download
rivet-<version>-win64-portable.zipfrom GitHub Releases - If SmartScreen warns, use
More infothenRun anyway
- Open files from the command line:
rivet.exe <file> [more files] - Single instance: files launched while Rivet is running open as tabs in the existing window
- The installer adds an
Open with RivetExplorer context menu entry and registers Rivet in theOpen withdialog andSettings > Default appsso it can be set as the default editor for text-like file types; uninstalling removes the registration - The portable build supports the command line and single-instance behavior but does not register context menu or default-app entries
- Windows 11 x64
- Rust stable toolchain
cargo fmt
cargo clippy -- -D warnings
cargo test
cargo runRivet stores state under %LOCALAPPDATA%\Rivet (fallback %APPDATA%\Rivet):
settings.jsonfor UI settings such as tab placement and vertical tab widthsessions\session.jsonfor remembered documents/session statebackup\*.bakfor snapshot files
- CI enforces formatting, linting, and tests
- Unit tests cover core session, settings, text transform, and command behavior
- Build metadata is embedded into
Help -> About Rivet
See CONTRIBUTING.md for contribution rules and workflow.
MIT. See LICENSE.
Third-party notices: NOTICE.txt plus THIRD_PARTY_NOTICES/NOTICE.txt,
THIRD_PARTY_NOTICES/Scintilla.txt, and THIRD_PARTY_NOTICES/Lexilla.txt.