https://github.com/rahuldangeofficial/edit
"edit" is a minimal terminal-based text editor built for speed, simplicity, and reliability. No modes. No commands. Just open a file, start typing, and it autosaves. Designed for developers, sysadmins, and anyone tired of getting stuck in Vim or Nano during quick edits.
https://github.com/rahuldangeofficial/edit
cli-tool cpp linux macos minimal ncurses open-source text-editor unix utf-8
Last synced: about 2 months ago
JSON representation
"edit" is a minimal terminal-based text editor built for speed, simplicity, and reliability. No modes. No commands. Just open a file, start typing, and it autosaves. Designed for developers, sysadmins, and anyone tired of getting stuck in Vim or Nano during quick edits.
- Host: GitHub
- URL: https://github.com/rahuldangeofficial/edit
- Owner: rahuldangeofficial
- License: mit
- Created: 2025-05-09T11:39:27.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2026-01-17T03:24:22.000Z (3 months ago)
- Last Synced: 2026-01-24T12:15:07.379Z (2 months ago)
- Topics: cli-tool, cpp, linux, macos, minimal, ncurses, open-source, text-editor, unix, utf-8
- Language: C++
- Homepage:
- Size: 1.84 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# edit v2.0.2 by @rahuldangeofficial
A minimalist terminal text editor. Zero-config, UTF-8 native, atomically safe.
---
## Performance Comparison
| Metric | edit | nano | vim | micro |
|--------|------|------|-----|-------|
| Binary Size | 64 KB | ~200 KB | 5.4 MB | 11 MB |
| RAM Usage | ~1-2 MB | ~3 MB | ~10 MB | ~30 MB |
| Startup Time | Instant | Fast | Slow | Moderate |
| Full UTF-8/Emoji | Yes | Partial | Yes | Yes |
| Atomic Save | Yes | No | No | No |
| Crash Recovery | Yes | No | Swap file | No |
---
## Features
- **64 KB binary** — 84x smaller than vim
- **Atomic saves** — write, fsync, rename (no data corruption)
- **Crash-safe** — Ctrl+C triggers save before exit
- **True UTF-8** — Emojis render and save correctly
- **Line numbers** — Always visible, dynamic width
- **Mouse support** — Click to position cursor
- **Large file warning** — Prompts before loading files >100 MB
- **Safety Hardened** — Zero warnings with strict compiler flags (`-Weverything`)
- **Adaptive UI** — Status bar scales for narrow terminals
---
## Installation
**One-liner install (auto-installs dependencies):**
```bash
rm -rf edit && git clone https://github.com/rahuldangeofficial/edit.git && cd edit && bash install.sh
```
**Manual install (if you have dependencies):**
```bash
rm -rf edit && git clone https://github.com/rahuldangeofficial/edit.git && cd edit && make && sudo make install
```
**Uninstall:**
```bash
cd edit && sudo make uninstall && cd .. && rm -rf edit
```
### Supported Platforms
- Debian / Ubuntu
- Fedora / RHEL / CentOS
- Arch Linux
- Alpine Linux
- macOS
---
## Usage
```bash
edit filename.txt
```
### Controls
| Key | Action |
|-----|--------|
| Arrow keys | Navigate |
| Home / End | Jump to line start/end |
| PageUp / PageDown | Scroll |
| Backspace | Delete character |
| Delete | Delete forward |
| Enter | New line |
| Esc | Save and exit |
| Mouse click | Position cursor |
---
## Design Philosophy
edit is intentionally minimal. It does not include:
- Syntax highlighting
- Undo/redo
- Search
- Plugins
- Config files
This is by design. edit is for quick edits, not IDE workflows.
---
## Use Cases
- Config file edits (~/.bashrc, ~/.gitconfig)
- Git commit messages
- Small scripts and notes
- Embedded systems / Docker containers
- Low-RAM environments (Raspberry Pi, VPS)
---
## Requirements
- C++17 compiler (g++, clang++)
- ncurses library
- POSIX system (Linux, macOS)
---
## License
MIT