A modal, keyboard-first, high-performance terminal task manager written in Rust, inspired by Vim and Neovim.
- Modal editing (Normal, Insert, Visual, Command, and Stats modes)
- SQLite backend for reliable storage
- Scriptable configuration via Lua
- Filtering DSL for complex task queries
- High performance, designed to handle thousands of tasks
- Rust (stable)
- SQLite3
git clone https://github.com/maskedsyntax/taskvim
cd taskvim
cargo build --releaseThe binary will be available at target/release/taskvim.
Run the application:
taskvim- Normal Mode: Navigate and manage tasks.
- Insert Mode: Edit task titles or add new tasks.
- Visual Mode: Select multiple tasks for bulk operations.
- Command Mode: Execute commands using
:. - Stats Mode: View productivity statistics.
j/k: Move selection down/upgg: Move to topG: Move to bottomCtrl+d: Page downCtrl+u: Page up
i: Edit selected task titlea: Add new task at the endo: Add new task below selectionO: Add new task above selectiond: Delete selected task (or visual selection)Enter: Cycle task status (Todo -> Doing -> Done -> Archived)+/>: Increase priority-/<: Decrease priority
v: Toggle Visual Modej/k: Expand selectiond: Bulk delete selected tasks
:: Enter Command ModeEsc: Return to Normal Modeq: Quit
:w: Save changes:q: Quit:wq: Save and quit:stats: Open statistics view:sort [priority|created|position]: Sort tasks:filter [expression]: Filter tasks using DSL (e.g.,:filter status=todo priority>=3):filter: Clear current filter
Syntax: field[operator]value
Supported fields: status, priority, project, due, created
Supported operators: =, !=, >, <, >=, <=, contains
Example:
:filter project=work priority>=4
TaskVim can be configured using Lua. Create a configuration file at:
~/.config/taskvim/init.lua (Linux/macOS)
set.theme("theme_name"): Set the UI theme.set.default_priority(number): Set the default priority for new tasks (1-5).set.sidebar(boolean): Show or hide the sidebar.
set.theme("gruvbox")
set.default_priority(3)
set.sidebar(true)
-- Keymaps (WIP)
map("n", "dd", "delete_task")MIT
