A lightweight, vim-like modal terminal text editor written in Rust using Ratatui.
- Modal Editing: Vi-inspired dual-mode editing system
- File Operations: Create, open, and save files
- Smart Cursor Movement: Navigate efficiently through text
- Command Line Integration: Open files directly from terminal
- Auto-scrolling: Smooth horizontal and vertical scrolling when cursor moves beyond visible area
- Line Management: Automatic line creation, deletion, and merging
- Backspace Handling: Intelligent line merging and deletion
- Visual Feedback: Clear indication of current mode and file status
- Line Deletion: Delete entire lines in normal mode
- Find Mode: Search in the file.
- Undo/Redo: History management for editing operations.
i
- Enter editing modes
- Save current fileo
- Open/reload file (reloads content from the originally opened file)d
- Delete current lineq
- Quit editor- Arrow keys - Move cursor
Home
- Move to beginning of lineEnd
- Move to end of line
ESC
- Return to normal modeEnter
- Create new lineBackspace
- Delete character or merge lines intelligently- Arrow keys - Move cursor
Home
- Move to beginning of lineEnd
- Move to end of line- Any printable character - Insert at cursor position
ESC
- Return to normal mode- Arrow keys - Move cursor
- Any printable character - Search in the file
Make sure you have Rust installed, then:
git clone https://github.com/0l3d/edfi.git
cd edfi
cargo build --release
./target/release/edfi
This creates a file called "new_file" by default.
./target/release/edfi filename.txt
./target/release/edfi newfile.txt
ffetch configuration with EDFI
- Rhai Script Support: Extend editor functionality with Rhai scripting
- Enhanced Syntax Highlighting: Support for more programming languages
- Multiple File Support: Work with multiple files simultaneously
- Configuration System: Customizable key bindings and settings
This project is licensed under the GPL-3.0 License - see the LICENSE file for details.
Created by 0l3d