Live data from Hacker News

VIM Modes Transition Diagram

stevelosh.com

21–30 of 37 posts

Re: VIM Modes Transition Diagram

#21
post #10
post #4

Earlier quoted context omitted.

I was just watching Bret Victor's Inventing on Principle talk and thus learned about Larry Tesler. He says Larry Tesler dedicated his life to removing modes from software back where was no such thing as modeless editing. Perhaps this is why.

I watched the talk and was caught off guard by his mention of Larry Tesler. I can understand why because that did usher an era of easier to use text editors. However, I'd like to emphasize that there is always a place for tools that are sufficiently complex such that it allows the craftsman wield it proficiently. Past a certain point of simplification, a tool would lack the necessary vocabulary to express things succ…

you don't need modes for richness of expression and complexity- Modal errors can mystify even the most experienced of users- and waste vast amounts of time while you're learning to use VIM. Emacs is really no better. Sublime Text 2 is as close to modeless as I've seen, but there's still a long way to go.

Re: VIM Modes Transition Diagram

#24

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…

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.

Re: VIM Modes Transition Diagram

#25
I think this diagram is useful not as a user reference manual, but as a discovery tool. I look at it and say "I know that, I know that, I know that- oh! I didn't know that one." I think it should say "Prerequisite: complete vimtutor" at the top, or have something else so people unfamiliar with vim don't just have their eyes glaze over when they see it. Perhaps a note explaining that very few people actually know all of these commands, and you only need to know about 5 of them to use vim. Basically, the graphic would be much more useful with some context to explain how it should be used or not used, by whom, and what it contains and doesn't contain.

Re: VIM Modes Transition Diagram

#26
post #15

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…

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!

Re: VIM Modes Transition Diagram

#28

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…

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.

Re: VIM Modes Transition Diagram

#29
post #25

I think this diagram is useful not as a user reference manual, but as a discovery tool. I look at it and say "I know that, I know that, I know that- oh! I didn't know that one." I think it should say "Prerequisite: complete vimtutor" at the top, or have something else so people unfamiliar with vim don't just have their eyes glaze over when they see it. Perhaps a note explaining that very few people actually know all…

Agreed. I wouldn't ever use this to learn Vim, but after using Vim as main editor for a few months it took very little time for me to find something new and useful, namely using s/cc/S/C to insert.

Re: VIM Modes Transition Diagram

#30
post #2

As someone who is thinking about learning Vim, this diagram is severely daunting.

Do you play videogames? If you have played any RPGs, strategy games, or even modern shooters, you can handle vim. That is, when you're playing a game like Starcraft/Warcraft/Final Fantasy Tactics, you have to build a similar state machine in your head, you reference it and manipulate it all the time, and you do it because it's fun.

Modern shooters have become just as complex, with the various options available to you. If you can do those, you can use vim.

Post reply on HN