A blazingly fast Rust TUI todo app with Vim keybindings for terminal purists. An experimental playground for Immediate Mode rendering—where every keystroke triggers a full UI rebuild, no state diffing required.
If you have Rust installed, you can install todo directly from crates.io:
$ cargo install cli-todo- Clone the repository.
- Run the installation script:
$ ./install.shOr manually with cargo:
$ cargo install --path .Once installed, you can run the application using the todo command:
$ todoTo see the list of controls, you can use the --help flag:
$ todo --help| Keys | Description |
|---|---|
| k, j | Move cursor up and down |
| h, l | Switch between TODO (left) and DONE (right) panels |
| g, G | Jump to the start/end of the current item list |
| TAB | Switch between the TODO and DONE panels |
| Keys | Description |
|---|---|
| K, J | Drag the current item up and down |
| i | Insert a new item at cursor position |
| o | Insert a new item below cursor (vim style) |
| O | Insert a new item above cursor (vim style) |
| r | Rename the current item |
| c | Change item (clear and enter insert mode) |
| C | Change entire line (clear and enter insert mode) |
| d, x | Delete the current list item |
| Enter | Move item between TODO and DONE |
| Keys | Description |
|---|---|
| ESC | Exit insert/rename mode (back to normal mode) |
| Enter | Confirm edit and exit insert mode |
| q | Quit the application |
Made with ❤️ and Rust