Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Keeping your fingers on the home row is great design for keyboard-first navigation.

Except you've just made that reason up since vim's defaults don't follow this logic. For example, the most frequent commands of going back/forward by word are not on the home row, they follow a different principle of name-based mnemonics.

Strictly speaking, this isn't even true for hjkl, that was due to the fact that arrows were drawn there, not because the designer followed some good design principles (granted, at least the physical arrows were likely driven by that principle, though there is still a mistery of moving off resting/home keys, which might be related to the fact that cutoff ASCII H code is backspace https://news.ycombinator.com/item?id=3684763).

> Some things haven't changed.

Indeed, and that universal fundamental thing that hasn't changed is that a few random people doing design blindly can't universally create a world of good design!



Yes, they are not in the resting position on the home row, but they are close enough for a command you will be executing often. Crating a key-map is an optimization problem between memorability and ergonomics.

Vim command layout is not perfect, the worst offender in my opinion is $ (move cursor to the end of the line), which is commonly needed, but somewhat hard to reach.

HOWEVER - when you start to use an surviving piece of still used old software, a bit of humility goes a long way. Not because software or designers were necessarily better in the past, but the reason that the software is still in use is probably because there are some benefits to it. So learn the defaults first, modify later when you understand them.


> they are close enough for a command you will be executing often

Right, just like w/b are "close enough" outside the home row completely

> but the reason that the software is still in use is probably because there are some benefits to it.

You forgot to connect this principle to this discussion. How does it make the defaults good to support your faulty conclusion that you need to learn them first?


> Right, just like w/b are "close enough" outside the home row completely

Yes, they are close enough, and w/b are executed often.

> How does it make the defaults good to support your faulty conclusion that you need to learn them first?

You need to at least study them because assuming a priori that they are either good or "universally bad" is a faulty conclusion - and some stuff doesn't become obvious until you use them for some time.

When you start learning VIM, you will be faster with arrow keys, because you are used to them from other programs. When you get enough muscle memory, you may discover that there is some value in having somewhere near where your fingers rest on the keyboard - or maybe you will still find that you are faster with arrow keys - whatever the conclusion, it can not be made objectively before you have enough proficiency with both.


That is absolutely not a faulty conclusion in any objective sense!

Now, you get to say it is faulty, and when one thinks about it for a minute, that idea packs a whole lot less punch.

Just want to dilute some unnecessary implied authority out of this otherwise interesting discussion.

Frankly, I always learn the defaults for the high value idea of reducing my overall configuration and maintenance workload!

Secondly, when I communicate workload to others, I don't have to do as much because the defaults are in place and useful.

These days, I tend to run defaults everywhere I can. Doing this means I do not have to a ton of configuration when setting up new environments.

I have also found those defaults do make a lot of sense. Maybe not the absolute peak sense, but more than enough.

I end up able to move and do a lot very reasonably quickly.

I also find my skills do not need to refresh as often too.

In any case there is plenty of room to disagree here, sans the idea of someone's conclusion being " faulty.


> and when one thinks about it for a minute

... one still can't correct the fault. You haven't answered the question of the original disconnect in arguments.

Your new arguments aren't relevant either since they're also NOT connected to the original re. bad defaults. You can have bad defaults that aren't there for any good reason and still think that reducing maintenance is more valuable! Fine, but that's a different argument!


I am not sure we are always talking about bad defaults.

That needs evaluation, and that need to be done in context.

In many cases, the defaults are not bad. One finds that out by working with them.

Really, I just don't feel "faulty" makes any sense.

If anything, it is more establishing a baseline.

Whether someone bothers with defeats first is debatable. I am on the work with them first side for what should be obvious reasons.

Passersby can arrive at their own conclusions and life carries on.

Re: still think reducing config and maintenance...

Yup. I have shown it many times. This also depends on context. For most of my career, no brainer.


Lets go one level deeper: What's the reason that the vim disgners keyboards had hjkl as arrow keys? Because it made sense for it to be the home row. I still use arrow keys though




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: