I'm personally a fan of remapping jk or jj to esc, there barely any instances in the english language where you would use those two letters together, and it means you can leave insert mode whilst barely moving your hands :D
My issue with this is that it causes a delay with every single j
that is entered. Only a visual delay that freezes the cursor and
then lets it jump by two characters, but irritating for me
regardless.
Changing the delay will not completely get rid of this
phenomenon but will definitely make a ton of my other
shortcuts harder to use. That visual delay makes a lot of sense,
it's just not a feature that was intended with this specific use
in mind and so it seems to behave strange for jj/jk/etc
shortcuts.
I tried mapping both jk and kj to Esc for a while (so I could just mash them in any order), but the slight delay it added to the letters always threw me off my loop.
You can reduce the delay by setting ttimeoutlen, the time in milliseconds between an escape key being pressed (or jk etc. that are mapped to Esc) and exiting Insert mode. I have it set to 100.
I learned it through Spacemacs and it's one of the things that really made modal editing work for me, so I was thrilled to discover that Vim itself also supports it. (I'd tried to learn Vim before, but always having to jump over to the Escape key was a huge downer for me, and coming from Emacs I'd already mapped my CapsLock to Ctrl--though the idea of having it be Esc if pressed by itself is intriguing and I need to look into it more!)