I appreciate the effort that went into this, but I think it actually makes learning vim appear more complicated than it is.<p>The approach to vi(m) that really worked for me is to regard the different modes (especially insert mode) as commands rather than "modes". Entering text is a single command, usually starting with 'i' or 'a', terminated with <esc>. For each command you learn, get in the habbit to initiate <i>and</i> to terminate it, just like in primary school you learned the habbit of finishing your sentences with a punctuation mark. Then you don't "get stuck" in different modes anymore.
If you've not realised this yet, the diagram is clickable, and links through to the Vim manual section corresponding to the feature in question.<p>This is quite excelently done, thank you darcyparker!<p>Note that this doesn't include all features. Digraphs (Ctrl-K from Insert mode) are missing, e.g.
rawgit.com is sunsetted[1], so this URL may die any day now. It's simply a proxy server for content hosted on GitHub. In this case, the real source is <a href="https://gist.github.com/darcyparker/1886716" rel="nofollow">https://gist.github.com/darcyparker/1886716</a>, and it's displayable (officially) at [2].<p>[1]: <a href="https://rawgit.com/" rel="nofollow">https://rawgit.com/</a>
[2]: <a href="https://gist.githubusercontent.com/darcyparker/1886716/raw/c1ee7657010278a787c6502b796a6766a40d56aa/vimModeStateDiagram.svg" rel="nofollow">https://gist.githubusercontent.com/darcyparker/1886716/raw/c...</a>
This looks super handy as a reference. I love a nice organized diagram when I'm sort of ok enough at something already.<p>I just wish I had a big enough screen to read this all without zooming out
I never learned Vim commands (*) because I couldn't get past how different it is to use compared to everything else. I found the selection of editor modes confusing because I'm used to just typing where the cursor is. This is the first diagram/cheat sheet which has made some sense of what's going on.<p>Thanks for posting this; bookmarked.<p>(*) apart from :q!
It omits shift-cursor inputs, however it seems to finally answer for me the mystery of what those weird modes are that are entered by shift-selection: ‘select visual’ and ‘insert select’, if I'm not mistaken. Also apparently I forgot about ctrl-g, though it likely has a different meaning in Emacs' Evil.
So uneasy to look at this on my vertical monitor 1080x2560, all I see is a giant Insert rectangle and a horizontal scroll. But I appreciate that work anyway because all that areas are clickable and it will not be easy to rearrange that diagram for 1% users with strange looking monitor.