pimutils / todoman

✅ A simple, standards-based, cli todo (aka: task) manager.

Home Page:https://todoman.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Navigating tasks with vim keys

IgnacioJPickering opened this issue · comments

I would like to navigate the TUI using vim-style keybindings (hjkl, triggered by the "escape" key). Is this a possibility?

commented

It might be simpler to configure ctrl+j, ctrl-k, etc (kinda like what fzf does). Modal editing might require more complicated changes (but should still be doable).

I have not spent any time trying to find out who is "guilty" for this (my terminal emulator/todoman/framework that todoman uses for interactive mode if any), but I accidentally discovered that Ctrl+o opens the currently focused field in external editor (vim in my case). I'm pretty sure that it is not a feature of my terminal emulator, which means it could work for you too. It will not help you with switching fields but it should if you are looking for a way to edit the individual fields in vim-like way.

Regarding switching fields: Ctrl+j/k would indeed be one natural possibility, another one would be (Shift+)Tab since Tab does not seem to currently insert an actual tab or do anything else. khal implements the latter.

Edit: it seems that the field jumping using tab is already being discussed in #204. Also my guess is that urwid is the one responsible for the open-in-editor feature.

commented

The Ctrl+o thing is a todoman feature:

elif key == "ctrl o":
# Allow editing in $EDITOR
self._editor()

commented

ctrl+k is mapped to "delete till end of line". I'm not sure why this is. Maybe readline compat?

commented

The function that I linked above delegates any "unknown" key mappings to urwid. Arrow keys must be implemented by them.