-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update tutor #3986
Update tutor #3986
Conversation
Updates the tutor introduction to make it more inclusive for people that don't use `hjkl` keys for navigation. The objective is to make it clear from the get-go that it doesn't really matter what keys you'll be using for navigation. This should make the modal experience more approachable for beginners and other folks coming to Helix that are not part of the Vim community. Even though this seems a small change, I think it has a positive intent in that it breaks some "tribalistic" barriers created by the Vim community that there's a always a *right* way instead of a *preferred* way to use the tool. As a new community, I think it's time to abandon some baggage, especially in some trivial matters like this. Cheers! 😊
Home-row navigation is the recommended way to use the editor and the tutor teaches the recommended way. Normal-mode arrow keys are bound and documented and I think that's sufficient. |
Hi @the-mikedavis! Is there an official guide other than the tutor that says that the home-row navigation is the recommended way? I don't think there's any reason why we can't present both options and leave it open for users to decide. Honestly, there's no loss in doing so other than making a beginner's first experience with modal editing less traumatic. IMHO, I don't think there are any advantages to strictly enforce this style of navigation besides being Vim compatible for people with years of muscle memory - it might not be a big deal for some folks, but it certainly is for newcomers. BTW, since most people using the tutor will be beginners, this update aims to make both options available, instead of strictly saying one is correct over the other. Opinions aside, there are some advantages for people outside of Vim to use arrow navigation since it's supported by normal and insert modes. |
My very cheap 2¢ here. When I was first learning vim I wanted the opinionated view. I wanted to know what all this fuss with vim and modal editing was about and had at least understood that I needed to think like vim to find vim useful. In that context this kind of feels like noise to me and I assume folks want to know how the helix folks use the editor. I guess that leads to the question of, do most people who find vim/kak/hx useful use arrows or the home row for navigation? Also I suspect many navigational shortcuts that work with the home row don't work with the arrow keys like |
Hi @greg-enbala, thanks for your 2 cents on the subject... Two things that caught my attention in your comment:
I also think this is a problem related to Helix position in the text editor scenario. For instance: Is Helix's usefulness scoped only to people that used Vim or Kakoune in the past? Is Helix just a different implementation of Vim and Kakoune with different keybindings? (ie.: If you just want Vim with different keybindings, why not create a plugin for it?) From the vision document
This seems to indicate that although Vim and Kakoune are a good idea, we have room to out grow their constraints, no!?
If that's the only argument against it, I'm in favor of supporting that, why not!? It won't make a difference if you already have the muscle memory and prefers using There's some discussion going on here about keybindings that touch on the subject if Helix is going to be its own thing or not. Unfortunately, most of it hasn't been officially addressed yet: #165. IMHO, in the end, it all boils down to an official position if Helix is going 100% the "Vim reskin" route, or if is it becoming a different modal experience altogether. |
Recommending home row navigation has nothing to do with in/exclusivity. Some folks use the arrow keys because they find it easier to move a few characters than to escape, move, and reenter insert mode, and this is totally fine. Some users have been trying to stay in insert mode and treat helix like a modeless editor, and this inevitably leads them to pain because helix was not designed as a modeless editor, and there are several technical reasons that making it function well as one is a challenge. At this moment in time, the arrow keys are not a recommended primary means of navigation, so we should not be introducing language that implies that both are equally good ways of navigating, as this will just encourage new users to treat helix like it's every other editor they've used. And the reason has nothing to do with sticking our noses up at noobs or any such nonsense. If you like arrow keys, all the more power to you. But at best, that will only get one so far in learning to become productive in helix, and at worst, one will just have a bad experience. If the docs suggest that this way of navigating is equally functional and valid, one might rightly blame the editor for this bad experience. The docs recommend home row navigation because this is what works best at a technical level, not at an individual level. |
Modal editing in Helix and Vim is all about It does matter A LOT what keys you use for navigation, you are interacting with a holistic system that is designed for touch typists from the start. New users should be aware of this and not led into bad habits that will hold them back from getting good, and ultimately getting much more enjoyment and productivity out of using Helix. |
One nitpick here, I don't think this issue is about the insert mode bindings, but the normal mode ones. However there is the interesting side effect that if arrow keys are given equal weight, there will be a nasty surprise when they find it missing in insert mode. On the other hand, hjkl is very qwerty centric and there are a good few of us, myself included that prefer alternative layouts. In these cases, it's common to use an alternate keyboard layer at the hardware or OS level to map arrows to the hjkl positions. Worth considering if we make clear that arrow keys are there to support these use cases but that home row navigation is still the recommended path. |
Yes, you are right; however, I think the two issues tend to become conflated often for new users coming from modeless editors, who are used to moving around with arrow keys as the primary means of navigation. If arrow keys are encouraged, then I think this naturally leads to sticking to a workflow they used in other editors, which means staying in insert mode. |
I understand from your previous comment that you have some history with this, but I think you are conflating two problems.
The vision document should probably be updated then because I had the impression that consistency and simplicity were more important than saving nanoseconds of hand movement from this sentence:
It's not the purpose of this PR to start a flamewar, but somehow this type of discussion always strikes a nerve for hardcore Vim users. I understand that this is a very passionate community and people are protective of their tools, but existing users are literally losing nothing. Perhaps I'm getting some missing signals from the vision document and Helix is actually only targeted at Vimers - which leaves me with the question of why people come to Helix, instead of using Neovim with different keybindings. 🤔 |
Well, both selection first approach and not having to configure lots of plugins appeals to some people. Helix was written out of frustration as my personal Vim replacement, and as such design decisions are about what my workflow was like. We want to document available options but I think it doesn't make sense to teach users about other approaches in the beginners tutorial. |
Updates the tutor introduction to make it more inclusive for people that don't use
hjkl
keys for navigation.The objective is to make it clear from the get-go that it doesn't really matter what keys you'll be using for navigation. This should make the modal experience more approachable for beginners and other folks coming to Helix that are not part of the Vim community.
Even though this seems a small change, I think it has a positive intent in that it breaks some "tribalistic" barriers created by the Vim community that there's a always a right way instead of a preferred way to use the tool.
As a new community, I think it's time to abandon some baggage, especially in some trivial matters like this. Cheers! 😊