Welcome to Vifm Q&A, where you can ask questions about Vifm usage. Registration is optional, anonymous posts are moderated. GitHub or Google logins are enabled.
0 votes
in vifm by

For some keys, the list of available keybindings stay until you press the second key. In some cases it disappears after like 2-3 seconds. What is the reason?

Thank you

1 Answer

+1 vote
selected by
Best answer

It disappears when input is processed. It lingers if there is an ambiguity (two or more mappings with common prefix).


Let me explain more: I have couple of two-key binds that start with n. When I press n, the list of binding shows up for like 2-3 seconds and then disappears by itself (without me pressing anything). This is not the case for two-key binds starting with let's say y. Is there a reason for the difference in behavior?


t is another example. The list of keybindings disappears after 2-3 seconds.
d on the other hands will keep the list until you press the second key


There are builtin mappings for t and n, but only d_something. There is no ambiguity for d between user and builtin mappings, so there is no timeout for waiting for the next key before executing a builtin one.


before executing a builtin one

When I press d, no matter how long I wait, it still does not execute anything. It just keep showing the binding list. Could you elaborate on what you mean by executing a builtin one?


There is not builtin mapping for d alone, it has to be followed by something to be processed. This is why wait time for it is infinite.

There are two layers of mappings for every mode: builtin and user, with user mappings shadowing builtin ones. For every input one of this is the case (if <wait> wasn't specified):

  1. Exact user match. No timeout. User sequence is dispatched.
  2. Partial user match and exact builtin match (t, n). Timeout waiting for a next key. If nothing was entered, builtin key is dispatched.
  3. Partial user and builtin match (d). Infinite timeout.

got it, thank you.

If you would like to make a bug report or feature request consider using GitHub, SourceForge or e-mail. Posting such things here is acceptable, but this is not a perfect place for them.

Support Ukraine