Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This diagram doesn't include any of the q-macro system, hardly any of the :commands, and only a very vague box saying "operator" for a large class of actions and motions Vim users are constantly engaging in.

In short, this is a woefully incomplete diagram of a summary of a subset of the VIM Mode Transitions. Maybe it could be a start for a serious effort down the line.

I've been using Vim as my main editor for over a dozen years. Nevertheless I'm sure there's mountains of stuff I've never learned or understood that is also left out here, but I'm such a rank beginner that I just don't know to mention it.



In short, this is a woefully incomplete diagram of a summary of a subset of the VIM Mode Transitions.

Alternative take: "This is an incomplete diagram, but still useful because it covers the common subset of transitions that many people go through." You're almost hostile, and I find that strange since I think this is useful even in an incomplete state.


Take a look at the current comment #3 on this page "As someone who is thinking about learning Vim, this diagram is severely daunting." Can you better understand the challenge now to making such a diagram & choosing what to include or leave out? To a beginner it looks impossibly complicated, to a power user it looks anemic.

>hardly any of the :commands, and only a very vague box saying "operator" for a large class of actions and motions Vim users are constantly engaging in.

So what, include every single :command? What would even be the point of such a graphical; it would be impractically cluttered. Bear in mind a new user already considers the graphic too complicated: by adding in all the :commands and operators, you just drove away the next tier of beginners. :p

My points are a) it's difficult to make such a graphic representation of vim modes and transitions b) it is (imo) impossible to make such a graphic that is both easy enough for beginners and robust enough for crotchety power users. I think an all-things-to-all-people diagram would be useless to everyone.


Perhaps this is the starting point then? https://gist.github.com/1886716


Yes - just a starting point. My focus was just on mode transitions. I am considering creating other diagrams that focus on other aspects of vim such as operators/motions. I may also create some simplified versions too. (But I am not sure I will try to combine everything into a single diagram...)

I admit this one is daunting at first. Keep in mind that it's just an early draft. As I was making notes for myself, it was fun to see it take shape... and it was kind of like solving a sudoku puzzle to get it laid out without overlapping edges. (The fact that it is planar is just a fun coincidence). I have other interesting diagrams that I have scratched out too...

Most of the modes and transitions won't be of interest to everyone. Think of it a roadmap/atlas of places you could go. (Some people may like reading tables... I like to see things laid out visually. Although I am thinking of creating an adjacency matrix that is partitioned/clustered so it can be collapsed into simpler views.) Just like people make simpler maps to tell friends how to get places, I fully expect it will be useful to make simplified illustrate that only shows a subset of this more detailed transition map.

Thanks again for the feedback!


One commenter mentioned that my gp sounded hostile. I didn't intend to (it was late at night). I found this interesting enough to comment on. I hope you have more ideas about how to illustrate a great tool.


Technically, "recording" isn't a mode.


exactly. This is a "Modes" transition diagram. For example, :commands aren't modes as well.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: