(For a good example of how all of the below can be done without having to parse an arbitrary vimrc, see IdeaVim plugin for intellij platform)
1. Support remapping VIM Esc key
I believe that most of people heavily using VIM do not actually use Esc
as VIM Esc, but rather have it remapped to some key chord or combination so they don’t have to reach for Esc
. Some common examples are chords like fd
, jj
, jk
, etc.
2. Have an option to remap j=gj, k=gk, $=g$, ^=g^, 0=g^, etc
Because most of the lines in markdown paragraphs will span multiple screen lines, it is very hard to navigate text in VIM mode if there’s no support for g$
and g^
at all (start and end of screen line), and gj
and gk
, although being supported, are not remappable to j
and k
.
3. Minimal set of emulated extensions like vim-surround
Support a minimal number of quality-of-life extensions to vim that most of the users are using anyway (see ideavim for a sample list) - e.g., at the very least, just vim-surround
.
4. Allow using monospaced font in the editor pane
With non-monospaced font, up/down navigation is extremely weird in VIM mode.