I'm in the curiously rare position of being a long time Neo/vim user who doesn't use its modal features. Namely I have all my keybindings setup like a "normal" editor, CTRL+S to save etc.
I say it's curious because I've always been surprised that Neo/vim is mainly celebrated as "that modal editor". Whereas for me I celebrate it as the most feature-packed and lightweight terminal editor. Neo/vim is sooo much more than merely its modal editing.
With this new release of Neovim maybe there's renewed interest in what Vim is beyond the stereotypes. I wrote a plugin a few years ago that intelligently disables Neo/vim's NORMAL mode [1]. It always seemed such an obvious idea when the majority of editors have their own plugins to intelligently enable Vim-style modality.
I didn't go that far, but for small movements I use arrow keys. hjkl don't make any sense to me and I'm not keen on using them just because someone had that keyboard layout in 1978.
They make sense because they are directly under your fingers, so you don't have to move them all the way over to the arrow keys and back just to move around.
jkl; would make more sense, that's the only oddity.
They should be respecting their directions, like the arrow keys do. Think UHJK or IJKL. Plus they would need nubs or similar to make them stand out a bit.
If you search for "oldest computer keyboards" in your favorite image search utility, you'll notice that many keyboards there don't have arrows at all. I did not find any keyboards with the arrows on the left side, although it wouldn't surprise me.
WASD is fine. Because WASD is organized like the arrow cluster and up is up, down is down (sort of, but the placement makes sense), left is left, right is right.
Is this any different from vim's easy mode? I remember that being available as an extra shortcut by default when I tried gvim on windows (> 15 years ago).
It's in the same spirit certainly, but it's just not complete. For example its interaction with other plugins means you get thrown back into normal mode a lot. Also I just think the name "easy" betrays its real intention as some sort of training wheels for newbies. I'm more interested in making non-modal editing a first class citizen.
For example, name me another editor where you can jump in less then a second to any letter of the text ? You always have to click. Contrary to that, editing in vim is like programming since you have editing DSL. All editors provide shortcuts to just some of the editing capabilities (duplicate/delete line, next word, prev word etc.) but not ALL of the imaginable and unimaginable scenarios like vim does, in a way that is instantly programmable to your liking without messing with configuration.
Insert mode is a great text writing app on its own, but normal mode is the best text editor I have encountered.
Being able to move to a specific part of a file quickly, edit a specific part of a file quickly, repeat that edit on a different part of the file (with .), write out an editing action as pain text and save that as a macro... The list goes on.
The only thing I don't like about vim (normal mode) is that the keybinds and context are hardcoded. Sure, you can remap them, but that only gets you so far.
I always thought it was obvious that Vim has one of the best, if not the best ecosystem, plugins, documentation, community. And its portable. I absolutely love Vim for so many reasons, normal mode is just not one of those reasons.
I say it's curious because I've always been surprised that Neo/vim is mainly celebrated as "that modal editor". Whereas for me I celebrate it as the most feature-packed and lightweight terminal editor. Neo/vim is sooo much more than merely its modal editing.
With this new release of Neovim maybe there's renewed interest in what Vim is beyond the stereotypes. I wrote a plugin a few years ago that intelligently disables Neo/vim's NORMAL mode [1]. It always seemed such an obvious idea when the majority of editors have their own plugins to intelligently enable Vim-style modality.
1. https://github.com/tombh/novim-mode