I've been reading through the brand new Practical Vim by Pragmatic Bookshelf, it goes pretty in depth in this and much much more: <a href="http://pragprog.com/book/dnvim/practical-vim" rel="nofollow">http://pragprog.com/book/dnvim/practical-vim</a>
I suspect there's an opportunity/lesson lurking here somewhere.<p>One of the biggest complaints devs have about tools is responsiveness. The more responsive a tool is, the higher time-density of information available to a developer.<p>IDEs tend to suck in this regard, but Vim positively shines. Many people advocate Vim because it tends to shine in this department, even though they may not consciously realize it. Responsiveness seems to be the one vital attribute for developer tools in general. (Mosh is another example of a dev tool that capitalizes on responsiveness.)<p>So at first glance, it's quite odd that many IDEs suck re: responsiveness. After all, this is measurable. However, the tools to measure this on desktop apps tend to be proprietary and quite involved to use. As a result, FOSS developer tools don't do this kind of measurement, and the Tragedy of the Commons results in bloated IDEs. So the environments that avoid poor responsiveness tend to be ones that matured in a world with far fewer resources.<p>The takeaway: if your plans for world domination also involve a dev environment to rule them all, you'd best be measuring UI responsiveness as a part of your continuous integration/testing -- and set standards and make the devs stick by them.
A link, or links much like this describing the "grammar" of Vim, gets reposted every few months, which is probably fine because it's a good thing to learn and share, but it would be nice if there were a HN "Hall of Fame" which would prevent reposting things like this over and over and over again. It could have either posts, or "concepts" with some of the more popular posts about Vi/Vim/etc, Emacs, C++, etc.<p>(What reposts, you say? I was thinking of <a href="http://news.ycombinator.com/item?id=2911930" rel="nofollow">http://news.ycombinator.com/item?id=2911930</a> or <a href="http://news.ycombinator.com/item?id=3361993" rel="nofollow">http://news.ycombinator.com/item?id=3361993</a> linking to Yan Pritzkers original post, referenced in parent link. But to be fair, they are different posts, not truly reposts.)<p>(However, there's also value in serendipity of new users "discovering" great links, so perhaps we can just leave well enough alone. Yeah, I know, useless comment when it takes both sides of a point).
I have been using Vim for a few years. I recently installed a trial version of ViEmu plugin for Visual Studio. With Vim inside my main IDE at work, I have the chance to really master it. But I ran into an unexpected hiccup - nobody else can use it when we're collaborating on code! Sadly, I think this might be a big enough reason to remove it.
Does emacs have a consistent grammar like this?<p>I use vim, but have been interested in learning emacs too. However, every time I startup the emacs tutorial, I immediately start missing the vim's semantic grammar.<p>Have I just not gotten far enough into emacs to discover that yet?
True but I'd say this verb-noun idiom only accounts to 15% of the user manual. For instance learning fold commands za will tell you nothing about other commands using 'a'.