Like many people, I prefer a triangular or inverse-T navigation key format like IJKL instead of HJKL for ergonomic reasons. There's a pretty simple way to set this up in vim that I've used for years:
map h <insert> map i <Up> map j <Left> map k <Down>
However, using text objects in visual mode conflicts with these keys — specifically inner objects, because they start with
i. Further, plugins that rely on these objects (such as vimtex and others) then also have conflicts with the remapped
Setting up IJKL with
noremap h i instead of
map h <insert> changes the inner object key from
h which helps to some degree, but if you have plugins that use the standard inner text objects then there's a delay in visual mode every time you press
i as vim waits to see if you're going to use the standard text objects as they're loaded from that plugin.
What is the best way to set up IJKL navigation without losing the functionality of inner text objects?