edtui
EdTUI
Overview
EdTUI is a text editor widget for the Ratatui ecosystem.
It is designed to provide a light-weight user experience inspired by Vim.
use ;
use Widget;
let mut state = default;
new
.theme
.render
Features
- Vim-like keybindings and editing modes for efficient text manipulation.
- Normal, Insert and Visual mode.
- Clipboard: Uses the
arboardclibpboard by default which allows copy pasting between the system clipboard and the editor.
Keybindings
EdTUI offers a set of keybindings similar to Vim. Here are some of the most common keybindings:
Normal/Visual Mode:
| Keybinding | Description |
|---|---|
i |
Enter Insert mode |
v |
Enter Visual mode |
h, j, k, l |
Navigate left, down, up, and right |
w, b |
Move forward or backward by word |
x |
Delete the character under the cursor |
Del |
Delete the character left of the cursor |
u, <ctrl>+r |
Undo/Redo last action |
Esc |
Escape Insert mode or Visual mode |
0 |
Move cursor to start of line |
^ |
Move cursor to first non-blank character |
$ |
Move cursor to end of line |
a |
Append after the cursor |
A |
Append at the end of the line |
o |
Add a new line below and enter Insert mode |
O |
Add a new line above and enter Insert mode |
Backspace |
Delete the previous character |
d |
Delete the selection |
dd |
Delete the current line |
ciw |
Select between delimiters. Supported: ["] |
u |
Undo the last change |
r |
Redo the last undone action |
y |
Copy the selected text |
p |
Paste the copied text |
Insert Mode:
| Keybinding | Description |
|---|---|
Esc |
Return to Normal mode |
For more keybindings and customization options, refer to the code.
Demo

Experimental Mouse Support
Edtui now includes experimental mouse support. To enable it activate the feature
[]
= "0.7"
= ["mouse-support"]
and use the mouse event handler
let event_handler = default;
event_handler.on_mouse_event;
Note: This feature is experimental, so expect potential bugs and breaking changes.
Roadmap
-
Clipboard
-
Search
-
Vims
f/tgo to first -
Support termwiz and termion
-
Display line numbers
-
Remap keybindings
-
Soft-wrap lines
License: MIT