Vitor's Editor (VED) is a MicroEmacs-inspired terminal editor for POSIX systems. It is written in C23, runs in raw terminal mode, requires no external dependencies and uses an event-driven, non-blocking input loop.
- Emacs-style navigation and editing
- UTF-8 aware cursor movement and word operations
- Kill ring (
C-k,C-w,M-d,M-Backspace) + yank (C-y,M-y) - Region selection with mark (
C-Space/C-@) and mouse drag - File finder (
M-p) with.gitignore-aware fuzzy matching - Tree-sitter highlighting for C (
.c,.h) - OSC 52 clipboard copy on region copy/kill
- Mouse scrolling and selections
- POSIX system
make- C compiler with C23 support
Install to /usr/local/bin by default:
make
sudo make installUse a custom prefix:
make PREFIX="$HOME/.local/bin" installUninstall:
sudo make uninstallOpen an existing file:
./ved path/to/file.cStart with an empty buffer:
./vedSave the current buffer:
C-x C-s- If no file is associated yet, VED opens a
Save as:prompt
Exit VED with C-x C-c.
C-p/C-n: previous / next lineC-b/C-f: previous / next characterC-a/C-e: beginning / end of lineM-b/M-f: previous / next word- Arrow keys: move cursor (or navigate finder list)
Enter: insert newlineC-o: insert an empty line above the current lineTab: insert tab in Makefile mode, otherwise 2 spacesBackspace: delete backwardC-d: delete forward
C-Space(C-@): set/clear markC-w: kill regionM-w: copy regionC-k: kill to end of line (or join with next line)M-d: kill next wordM-Backspace: kill previous wordC-y: yank (paste last kill)M-y: rotate kill ring afterC-y
M-p: open file finder (from project root containing.git/)C-s: incremental search forwardC-r: incremental search backwardC-x C-s: save fileC-g: cancel pendingC-x, close prompt, clear mark, clear stateC-x C-c: exit editor
- Left click: move cursor and set mark anchor
- Drag: update region selection
- Scroll wheel: scroll buffer
When using VED from inside tmux, you'll want to enable terminal passthrough and clipboard integration:
set -g allow-passthrough on
set -g set-clipboard onCopyright (c) 2026 Vitor Manuel de Sousa Pereira. All rights reserved.
Distributed under the MIT license. See LICENSE.
