veditor is a keyboard-first terminal code editor built in Rust with a ratatui dashboard, an embedded nvim pane, an integrated shell, a project tree, and a Codex workflow panel.
- Uses real embedded
nvimfor editing instead of reimplementing a text buffer. - Keeps an integrated shell in the same UI so you can run commands without leaving the editor.
- Shows a project tree with keyboard navigation, search, file creation, directory creation, and project switching.
- Restores the last workspace, open files, active file, accent, and mood between launches.
- Renders image previews, notebook previews, PDF previews, and README markdown previews directly in the editor pane.
- Includes a Codex chat area with markdown-aware rendering and change tracking.
- Supports accent theming and neon synthwave mood across the TUI and embedded editor styling.
- Embedded editor:
- Real modal editing through
nvim - External file refresh through
:checktime - Theme sync between the dashboard and editor
- Real modal editing through
- Project workflow:
- Searchable project tree
- File and directory creation from the tree
- Project switching without leaving the app
- Session restore for the last project
- Previews:
- Images:
png,jpg,jpeg,gif,webp,bmp,tiff,ico,pbm - Documents:
pdf,ipynb - Markdown README preview in the editor pane
- Images:
- Codex pane:
- Inline prompt area
- Markdown-aware output rendering
- Change list and undo flow for Codex-applied edits
- Theming:
:set accentand:get accent:set mood neon/:set mood default- Persistent accent and mood state
- Global:
Ctrl-W: cycle focus between editor, terminal, project tree, and Codex
- Project tree:
Up/Down: move selectionEnter: open file or expand/collapse directory- Start typing: incremental search
Backspace: delete one search characterEsc: clear search or quit%: create file in project rootCtrl-D: create directory in project rootCtrl-N: create file in selected directoryCtrl-Shift-N: create directory in selected directoryCmd-Oon macOS /Ctrl-Oelsewhere: open another project
- Codex:
Enter: send promptCtrl-Z: undo the last Codex-generated change when availableUp/Down/PageUp/PageDown: scroll chat historyShiftorCtrlwith arrows/pages: scroll the change list
- Editor:
- Text files open in embedded
nvim - Previewable files open in a read-only preview pane
- Text files open in embedded
:set accent #RRGGBB:set accent <alias>:set accent #RRGGBB register <alias>:get accent:set mood neon:set mood synthwave84:set mood default:get mood:set sound on:set sound off:get sound
- Rust toolchain with
cargo nvimavailable inPATH- A Unix-like terminal environment
cargo runOpen a specific project or file:
cargo run -- /path/to/projectInstall from the local checkout:
cargo install --path . --forceInstall directly from GitHub:
cargo install --git https://github.com/VedPanse/veditor --forceThen run:
veditorOr open a project immediately:
veditor /path/to/project- Session state is stored in
~/.veditor/session.json. - Global settings are stored in
~/.veditor/settings.json. - Hidden directories that start with
.are omitted from the project tree and project picker. - The editor is intentionally terminal-native: the goal is fast editing, navigation, previewing, and command execution in one process.