Comments (7)
Your points make sense. Try #56 and let me if you run into some error.
from vim-which-key.
I noticed it started to behave strangely after I typed an invalid key.
<backspace>
works well only when the keys I typed so far are correct.- The invalid keys are really simply ignored right now. Even
<backspace>
does not delete them. Typing other invalid keys between a valid key mapping still works.
I am using the latest 'allow-backspace-to-upper-level' branch.
from vim-which-key.
There is no delete
action essentially. Every single invalid key is ignored since vim-which-key responses to your each input char and doesn't remember your previous input.
Typing other invalid keys between a valid key mapping still works.
Can you elaborate?
from vim-which-key.
There is no
delete
action essentially. Every single invalid key is ignored since vim-which-key responses to your each input char and doesn't remember your previous input.
But the keys typed are shown down in the command window, sometimes the behavior will be inconsistent.
Suppose I have <leader>g
sub-dict but don't have <leader>ga
key mapping. And now do the following steps:
- Type
<leader>
, a window pops up. - Type
g
will go to the sub-dict as expected. - Then type
a
, nothing happens also as expected. - Then
<backspace>
, nowa
will be 'deleted' in the prompt (leaves<leader>g
) and it goes to the upper level dict (as in step 1). In other words, now I am in<leader>
level, but it shows<leader>g
.
I think g
should've been deleted but it was a
because it was the last letter typed.
Typing other invalid keys between a valid key mapping still works.
Can you elaborate?
Suppose I have <leader>cc
as a key mapping but no <leader>z*
. Then if I type <leader>zcc
, the key mapping of <leader>cc
will work.
from vim-which-key.
But the keys typed are shown down in the command window, sometimes the behavior will be inconsistent.
Pull the latest commit of #56, should be fixed.
Suppose I have cc as a key mapping but no z*. Then if I type zcc, the key mapping of cc will work.
As a matter of fact, if you type zcc
in one shot, it will be considered as invalid keys. If you type z
and then cc
, z
will be ignored silently and cc
will work as expected. So your point doesn't hold.
from vim-which-key.
Yes, blocking the invalid keys has solved all the issues! I think it works perfectly regarding the feature request.
BTW, maybe a irrelevant issue, if I hold on a invalid key for some time, there will be a pile of error messages popping up. The last one is "E132: Function call depth is higher than 'maxfuncdepth'".
Update: the errors also appears when I do something like <leader>g<BS>g<BS>(for just a dozen times)
.
from vim-which-key.
The E132
issue you point out is not the normal case and may won't be fixed.
from vim-which-key.
Related Issues (20)
- How `which_key_use_floating_win' works? HOT 1
- Sort which-key entries by description instead of actual keys HOT 2
- Allow calling lua functions directly? HOT 1
- 突然无法使用 HOT 3
- Using map <nowait>
- How to make the background transparent? HOT 1
- Using lua doesn't seem to work HOT 3
- Name <Tab> prefix HOT 2
- Show only the mappings provided by dictionary HOT 7
- Hide all mappings that do not have a description. HOT 1
- Add documentation on how to map lua functions
- Recent commit to improve keycode merging broke which-key for me HOT 9
- Domain name has been sold? HOT 3
- Mason Registry Error HOT 2
- In visual mode, which key seems to make cursor jump before command actually executed HOT 4
- Buffer local mappings are cached even with g:which_key_run_map_on_popup set to 1 HOT 1
- Exit key setting to a list of keys doesn't work HOT 2
- Is there a way to set a padding for the floating popup window ?
- vim7.4 error
- Getting weird error when launching Fern HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vim-which-key.