> Exactly! Pity this basic contextual help isn't more widespread, every single app that uses a lot of keybind sequences could benefit from it, especially if it becomes a bit smarter and only shows a popup if you don't finish the sequence right away
I've been using Vim/Neovim for 20 years, but still can't get enough of which-key[1] which I only installed ~6 months ago.
Yeah, that's the mortal sin of vim - insisting on shitty unergonomic defaults, requiring every new user waste time recreating a better UI while suffering for years before even the appropriate knowledge is acquired
I personally like Neovim's defaults since it fixes a few rough spots in old school Vim defaults.
Bonus is once you get used to defaults, almost every server has a Vi installed whose basic features you can use.
I have not seen any unergonomic defaults in vim. Check your understanding of vim philosophy probably.
Check your understanding of ergonomics if you fail to see the obvious
vi (the name) is ergonomical because of shortness (just two letters).
vi (the editor) is ergonomical because I use to touchtype and vi lets me to never put the hands out of the keyboard (typically its 3 rows but vi made me to learn the 4th row with digits).
vi (the system of text moving commands) is ergonomical because it has all what might be needed right from default.
I recommend you to start exploring vi from the following 4 commands to understand at least what kind of operations can be possible - w, b, e, ge. I promise there are some ergonomics in having all the 4 ways of one word iterating problem. After understanding what did I mean you are free to see some logic in _any_ vim command. (hint - pairness, there are almost no command without at least one complement pair).
Also there is a thing called "UNIX way" (all sayings about how one thing has to do only one task) and damn, vi clones are one of the most ergonomic programs on my PC. After mastering touchtyping using keyboard gives me pleasure, after mastering vi motions doing text editing gives me pleasure as well. Achievability of this kind of pleasure is what I call ergonomics.
GUI editors with modal windows and stealing-focus popups have too much power to destroy my pleasure from the dialogue with the keyboard.
> w, b, e, ge. I promise there are some ergonomics in having all the 4 ways of one word iterating problem.
Again, how can you promise anything if you're ergonomically blind? Take you w/b pair - this is just a dumb binding, these are two of the most frequently used commands in vim, yet they are not positioned in the most convenient location (hint: home row). The Word/Backword menmonic isn't paired (that would be forward/backward), but more importantly, it makes as much sense as binding cursor keys to Left/Up/Down/Right So it fails your own "pairness" criterion in its most basic movement!
> Achievability of this kind of pleasure is what I call ergonomics.
Of course you have your own personalized definition! Why would you use that in a conversation with others, though, when they're more likely using a more common one?
> there is a thing called "UNIX way"
it doesn't do its one thing "well", so as expected, you can't paper unergonomics over with some "philosophy"!
Your complain about w/b not laying on home row is just wrong, for example I do not use QWERTY at all and for me even h/j/k/l are not on the howe row and I still consider these commands ergonomical. Why? Because I use to touchtype.
> The Word/Backword menmonic isn't paired (that would be forward/backward)
What is paired is not a mnemonic but an action. If you start to understand that any command has a complementary command it makes your expectation from vi predictable. It happens in the following way: you learn how to do some moving you are needed, then you check the complementary action (there are 3 layers of complementarity in the word iteration problem: forward/backward, cursor on start/end and word/WORD), then you just make your muscle memory to learn what you saw, that's all!
> but more importantly, it makes as much sense as binding cursor keys to Left/Up/Down/Right So it fails your own "pairness" criterion in its most basic movement!
My thesis is that if the editor can move the cursor left then it must have an ability to move it right (and vice versa), if the editor can move the cursor upwards, then it must have an ability to move it downwards (and vice versa), nothing more. You are talking about some very specific ways to move cursor (there are plenty of them in vim to be honest) and BTW if you are comfortable with cursor keys, so why have you complained about w/b which are not laying on the home row? The home row story is about your hands laying on the keys with letters and controlling all 4 rows, not about your right hand laying on 4 keys and your left hand can not control anything except esc/meta/alt/ctrl/shift.
> Of course you have your own personalized definition! Why would you use that in a conversation with others, though, when they're more likely using a more common one?
Ergonomy is the Psychiatry domain, BTW we are not discussing ergonomic per se. We are discussion about achieving erconomic with only having some well-known instruments: keyboard, console software, display. Of course your definition of ergonomic (which you did not worked to write down here) is about wearing a hat which just reads your thoughts and outputs the correct result, but I tell you about some ways of achieving ergonomics on the hardware you obviously have, I don't tell about dreams of perfect world.
> it doesn't do its one thing "well", so as expected, you can't paper unergonomics over with some "philosophy"!
I promise I do not lie, I am teaching some people offline to touchtype and to use vi(m), but I can not teach you if you don't even ask questions. I write this comment because I work on a book about vi for noobs and I will never get tired to introduce people to see some ergonomics in the things I love which seems obscure to them. For example, if you didn't fire a single bullet you will never see what firearm products are ergonomic and what are not. If you didn't fire a single bullet towards the real enemy you can consider AR (full of bells and whistles) as ergonomical, while in reality what is ergonomical is AK (doesn't jam under the rain, doesn't afraid of the mud, allows to fire knippels against the drones instead of regular bullets). If you have never danced Salsa, you will never understand how the lead is leading and why the follower follows.
PS. Sorry for my bad English, this is not my native language and I am too lazy to polish my grammar with some modern tools. Sometimes I might misunderstand you or write down not what I really think.
Can you give at least a few examples? I have no understanding of ergonomics it seems
There literally is a plugin [1] containing sensible defaults that everyone in the community agrees would be good as default but “backspace” and “incsearch” are the most obvious. “Backspace” allows you to delete with the backspace key beyond the point where you pressed “insert”. I don’t think I’ve ever met someone who thinks the vim default (not allowing this) is ergonomic.
[1] https://github.com/tpope/vim-sensible
Have these already been adopted in neovim by default? It seems like I already have this behavior without needing any plugins.
I wouldn't argue that the vim default (of not allowing backspace beyond where you entered insert mode) is ergonomic, but I do prefer and exclusively use the default vim behavior. It's just what I'm used to at this point (24 years using vim/nvim) and if I set it the "ergonomic" way, it's disorienting.
So, ergonomic or not, some people do prefer the default -- at least one person :).
You can start with the original example 4 comments above and try to understand how unergonomic the default way of learning/remembering hundreds of key combinations in vim is.
Then think about the basics: why some of the most frequently used commands w/b are located so inconveniently and far away from each other (and if you reconfigure them, how unergonomic the config language is where instead of reading a sensible name like 'move_prev_word_start' you can only reference 'b' that you'd never use since, well, you've changed it to something else!)
You don't need hundred of commands to use vim, have you at least finished vimtutor? Finish it in the way it proposes, then start it again and think on your own, what commands for more effective passing the problems from vimtutor might have been there as well.
Letters w and b may be located wherever they are located, if you can not touchtype vim is not for you for the same reason we do not learn how to run before we master how to walk.
mini.clue is another good option for this feature in neovim.
https://github.com/nvim-mini/mini.clue
The mini set of modules are such a treasure, Evgeni is amazing.