Skip to content

Keybindings

Wylie Standage-Beier edited this page Dec 12, 2025 · 2 revisions

Keybindings

Complete keybinding reference and customization.


Opening Keybindings Editor

Press ? to open the keybindings reference and editor.


Navigation

Key Action
j / Move down
k / Move up
g Go to first item
G Go to last item
Ctrl+d Page down
Ctrl+u Page up
Tab Next panel/section
Shift+Tab Previous panel/section

Task Actions

Key Action
n New task
e Edit task title
i View task details
Enter View task details (task list) / Select (sidebar)
x Toggle complete
d Delete task
y Duplicate task

Task Properties

Key Action
p Cycle priority
s Cycle status
D Set due date
S Set scheduled date
T Edit tags
m Move to project
N Edit description

Subtasks & Dependencies

Key Action
a Add subtask
b Set blocked by
c Chain tasks
r Set recurrence

Multi-Select

Key Action
Space Toggle selection
* Select all
Ctrl+a Select all visible
Esc Clear selection

Views

Key Action
1 Today view
2 Upcoming view
3 All tasks view
4 Overdue view
5 Calendar view

Sidebar

Key Action
h / Focus sidebar
l / Focus task list
P New project
E Edit project
X Delete project

Search & Filter

Key Action
/ Search tasks
# Filter by tag
Esc Clear search/filter

Time Management

Key Action
t Toggle time tracking
L Open time log
F5 Start Pomodoro
F6 Pause/Resume Pomodoro
F7 Skip Pomodoro phase
F8 Stop Pomodoro
+ Increase Pomodoro goal
- Decrease Pomodoro goal

Focus & Display

Key Action
f Toggle focus mode
F Toggle full-screen focus mode
Q Add task to focus queue
Alt+Q Clear focus queue
Alt+J Advance focus queue
v Toggle completed visibility
[ Toggle sidebar

Task Detail Modal

When viewing task details (i or Enter):

Key Action
j / Scroll down
k / Scroll up
g Jump to top
G Jump to bottom
PgUp Page up
PgDn Page down
Esc / q Close modal

Review Modes

Key Action
Alt+d Start Daily Review
Alt+w Start Weekly Review
Alt+e Start Evening Review

In review mode:

Key Action
j / Move down
k / Move up
Enter / l Next phase
h Previous phase
x / Space Complete task
Esc / q Exit review

Git Integration

Key Action
Alt+g View Git TODOs
O Open file in editor

Data Operations

Key Action
Ctrl+e Export data
Ctrl+i Import data
Ctrl+p Export Markdown report
Ctrl+h Export HTML report

Macros

Key Action
Ctrl+r Start/stop recording
Ctrl+m Play macro

Undo & System

Key Action
u Undo
Ctrl+r Redo
? Help / Keybindings
q Quit
Ctrl+c Force quit

Keybindings Editor

Opening the Editor

Press ? to open keybindings view.

Editor Display

┌─────────────────────────────────────────┐
│ Keybindings                             │
├─────────────────────────────────────────┤
│ Navigation                              │
│   j         Move down                   │
│   k         Move up                     │
│   g         Go to first               │
│ ...                                     │
│                                         │
│ [e] Edit  [r] Reset  [s] Save          │
└─────────────────────────────────────────┘

Editing a Keybinding

  1. Navigate to the binding
  2. Press e to edit
  3. Press the new key combination
  4. Confirm or cancel

Resetting to Default

  1. Navigate to the binding
  2. Press r to reset to default

Custom Keybindings in Config

Add to ~/.config/taskflow/config.toml:

[keybindings]
# Override default bindings
quit = "ctrl+q"
new_task = "ctrl+n"
toggle_complete = "space"
delete_task = "ctrl+d"

# Vim-style
move_down = "j"
move_up = "k"

Key Notation

Notation Meaning
ctrl+x Control + X
alt+x Alt + X
shift+x Shift + X (or capital X)
f1-f12 Function keys
space Spacebar
enter Enter/Return
esc Escape
tab Tab
backspace Backspace

Modifier Combinations

[keybindings]
# Control combinations
save = "ctrl+s"

# Alt combinations
alternate_action = "alt+a"

# Multiple modifiers
special = "ctrl+shift+s"

Conflict Detection

TaskFlow warns about conflicting keybindings:

Warning: Key 'n' is bound to multiple actions:
  - new_task
  - next_item

Modal Contexts

Some keys have different meanings in different contexts:

Key Normal Mode Search Mode Edit Mode
Esc Quit dialog Clear search Cancel edit
Enter Edit task Execute search Confirm
j Move down Type 'j' Type 'j'

Tips

  1. Learn core keys first - j/k, n, x, q
  2. Use vim-style - Navigation is vim-like by default
  3. Customize sparingly - Default bindings are well-tested
  4. Check conflicts - After customizing

Common Customizations

Emacs-Style Navigation

[keybindings]
move_down = "ctrl+n"
move_up = "ctrl+p"
page_down = "ctrl+v"
page_up = "alt+v"

Arrow Keys Only

[keybindings]
move_down = "down"
move_up = "up"
focus_sidebar = "left"
focus_tasks = "right"

See Also

Clone this wiki locally