Expand description
§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.
§Features
- Vim-like keybindings and editing modes for efficient text manipulation.
- Normal, Insert and Visual mode.
- Clipboard: Uses the
arboard
clibpboard 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 , 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
§Roadmap
-
Clipboard
-
Search
-
Vims
f
/t
go to first -
Support termwiz and termion
-
Display line numbers
-
Remap keybindings
-
Soft-wrap lines
Re-exports§
pub use input::Input;
pub use state::mode::EditorMode;
pub use state::EditorState;
pub use view::theme::EditorTheme;
pub use view::EditorView;
pub use view::StatusLine;
Modules§
- actions
- Editor actions such as move, insert, delete
- clipboard
- The editors clipboard
- input
- Handles key input events
- state
- The editors state
- view
- The editors state
Structs§
- Index2
- An index representing a specific position in a 2d jagged array.
Type Aliases§
- Lines
- A data structure that contains chars organized in rows and columns