Regular colemak user here, I have found the simplest thing to do is use the langmap
option to rebind every function of hjkl
to neio
.
To try it out or add it to your init.vim
config, run set langmap=hjklHJKLneioNEIO;neioNEIOhjklHJKL
If you have an init.lua
config, add vim.opt.langmap = 'hjklHJKLneioNEIO;neioNEIOhjklHJKL'
It will rebind your motion in all modes and their shortcuts, so you don't have to spend any time mapping everything individually. However, it doesn't remap things in some extensions like which-key
which is a huge pain to the point that I have just stopped using the extension entirely instead of trying to figure out all the mappings for a seamless experience.