Static copy
Copied from docs/guides/en/user-guide.md in https://github.com/poppy-team/oride (MIT). Pinned to revision 1cd515630b8ceb57777d466bee4970fe7c2e30e0, blob 16d1b9ce1f74dc22e8b8d7f01f18297368199892. The source repository remains canonical; this copy is refreshed through a sync pull request, not live.
Welcome to Oride (Ori + IDE), a lightweight, modular, and extensible terminal code editor and mini-IDE built in Rust. This practical guide covers everything from basic navigation and editing to advanced Vim-style modal editing, the declarative task runner, dynamic splits, and environment health diagnostics.
Oride is built with the standard Rust toolchain (Cargo):
# Build an optimized release binary
cargo build --release
# Install locally to ~/.local/bin/oride
./scripts/install.shYou can launch Oride from your terminal in several ways:
# Open the current working directory as a workspace
oride .
# Open a specific file
oride src/main.rs
# Open a project folder directly
oride /path/to/project
# Check the installed version
oride --version
Oride's user interface is crafted for optimal terminal ergonomics using the Ratatui library:
Alt+F (File), Alt+E (Edit), Alt+V (View), Alt+G (Go), Alt+I (Git), and Alt+H (Help).*).M, A, ?).Alt+Z), and Tree-Sitter syntax highlighting.Ctrl+Shift+G, showing modified files across your working tree.Ctrl+\`` or Ctrl+"`).Oride seamlessly integrates two editing paradigms:
By default, Oride operates as an intuitive modern text editor:
Home/End, PageUp/PageDown.Shift + Arrow keys or mouse drag (when mouse = true in config).Ctrl+S (save), Ctrl+C (copy), Ctrl+V (paste), Ctrl+Z (undo), and Ctrl+Y (redo).For developers who prefer home-row navigation without leaving the keyboard:
Activation: Set modal_mode = true in your config.toml, or open the Command Palette (Ctrl+Shift+P) and choose Toggle modal mode (Vim / CUA) to switch without leaving the editor.
Available Modes:
i, a, o, I, A, O): Direct text insertion. Press Esc to return to NORMAL mode.v): Character-wise visual text selection.V): Line-wise visual text selection.:): Command-line prompt in the status bar for editor actions.Essential Normal Mode Motions:
h, j, k, l: Left, down, up, right.w, b: Next word beginning, previous word beginning.0, $: Line start, line end.gg, G: First line of buffer, last line of buffer.x: Delete character under cursor.u: Undo change.Command-Line Commands (:):
:w — Save current buffer.:q — Close active buffer or quit if last buffer.:q! — Force quit without saving unwritten changes.:wq — Save and quit.:e <path> — Open a file into a buffer.:tasks — Open the integrated Task Runner picker.:health — Open the system and LSP health diagnostics modal.:theme <name> — Switch color theme (e.g., :theme tokyo-night).:lang <code> — Switch the interface language (e.g., :lang en-US).:noh — Clear the current search selection.:run <task> — Run a task runner entry by name.To see every binding, use F1, Ctrl+G or Ctrl+Shift+/ — there is no :help.
Oride supports dynamic split panes for viewing and editing multiple files side-by-side:
Ctrl+Alt+V (splits pane vertically).Ctrl+Alt+H (splits pane horizontally).F6 (moves focus to next pane).Ctrl+Alt+W.Ctrl+F: Opens the search mini-modal at the bottom.F3: Jumps to the next match.Ctrl+H: Opens the Find and Replace dialog (press Tab to switch between Find and Replace fields).Alt+C: Toggle Case Sensitivity.Alt+A: Toggle Accent Insensitivity (e.g., funcao matches função).Alt+W: Toggle Whole Word matching.Alt+R: Toggle Regular Expression (Regex) search.Alt+Enter: Replace current match.Ctrl+Alt+Enter: Replace all occurrences.Ctrl+Shift+F: Opens project-wide search. Leverages system ripgrep (rg) when available or falls back to an internal Rust engine. Supports glob pattern filtering (e.g. *.rs, !target/*).Automate builds, tests, and formatting tasks directly within the editor via declarative tasks.
Create a tasks.toml file in your project root or in .oride/tasks.toml:
[tasks.build]
label = "Cargo: Build"
command = "cargo build"
description = "Compile the workspace in debug mode"
[tasks.test]
label = "Cargo: Test Active Module"
command = "cargo test $FILE_NAME"
description = "Run tests for currently open module"
[tasks.run]
label = "Run Binary"
command = "cargo run"
[tasks.format]
label = "Format Code"
command = "cargo fmt --all"$FILE: Full absolute path of active file.$FILE_NAME: File name with extension (e.g., main.rs).$FILE_STEM: File name without extension (e.g., main).$FILE_DIR: Parent directory of active file.$WORKSPACE: Root folder of open workspace.$LINE: Current cursor line (1-based).$COL: Current cursor column (1-based).Type :tasks in the command prompt or open the Command Palette (Ctrl+Shift+P) and choose Run Task.
:health) To ensure your environment has all necessary CLI tools and language servers configured:
:health in the command prompt or select Help → Health Check.$PATH (git, rg, cargo, compilers).rust-analyzer, clangd, ori-lsp, etc.).Oride provides a rich Markdown preview rendered right inside your terminal:
Ctrl+Shift+V or Alt+P on any .md file.[ ] and [x]).terminal_images = true in config.Oride includes over 10 built-in themes (tokyo-night, dracula, nord, one-dark, catppuccin-mocha, monokai, github-dark, solarized-dark, solarized-light, etc.) and supports external themes without recompilation.
Ctrl+Shift+P), type Theme, and scroll to see Live Preview in real time.~/.config/oride/themes/my-theme.toml. Oride discovers it automatically. See the Theme Development Guide for theme structure details.Configuration merges cleanly across three layers:
~/.config/oride/config.toml..oride/config.toml.Oride supports dynamic UI localization. In your config.toml:
locale = "en-US" # or "pt-BR"Custom translations can be added to ~/.config/oride/locales/<locale>.toml without recompilation.