A lightweight terminal-based text editor for GNU/Linux with zero external dependencies. Written in pure C using only standard libraries.
Vibe coded with Claude 4.5 Opus (Thinking) via Google Antigravity.
- No external dependencies (only standard C library)
- Terminal-based interface
- Basic text editing capabilities
- File loading and saving
- Cursor navigation with arrow keys
- Status bar showing filename, line count, and modification status
- Syntax: works on any GNU/Linux system with a terminal
Simply compile with:
makeOr manually:
gcc -Wall -Wextra -std=c99 -pedantic -o editor editor.cTo open or create a file (filename is mandatory):
./editor filename.txt- Arrow Keys: Move cursor up/down/left/right
- Home: Move to beginning of line
- End: Move to end of line
- Page Up/Down: Scroll by screen height
- Enter: Insert new line
- Backspace: Delete character before cursor
- Delete: Delete character at cursor (Forward Delete)
- Any printable character: Insert at cursor
- Ctrl-S: Save file
- Ctrl-X: Save file and quit
- Ctrl-Q: Quit editor (without saving)
- Uses ANSI escape sequences for terminal control
- Implements raw mode terminal handling
- Dynamic memory allocation for lines
- No dependencies on ncurses, termbox, or any other library
- Pure POSIX C with standard library only
- GNU/Linux operating system
- GCC or compatible C compiler
- Terminal emulator with ANSI escape code support
To install system-wide (requires root):
sudo make installThis will copy the binary to /usr/local/bin/.
- The editor saves files exactly as you see them
- Modified files are marked with "(modified)" in the status bar
- Currently no confirmation on quit with unsaved changes (planned feature)
- Maximum line length is dynamically allocated