Depends on how you approach it, but, if you are particular, it can take weeks to get everything setup.
First you have to learn a lot about vim and what it does.
Then you have to memorize the all the shortcuts for all the stuff, there are quite a few.
Then muscle memory those.
For me personally, there are about 10 plugins I use regularly that don't ship with vim, that I had to discover and learn how to use. So you have to run into an issue, discover its not in vim core, see if there is a plugin, pick a plugin, install it, learn how to use it, etc.
Then there is configuring vim to do all the stuff you want.
MacVim + Janus.vim helps a ton, but even so, there is tons more stuff to learn about vim to do your daily tasks than there is probably anything else in programming
Two days just to get used to it. On and off experimentation for the right set of plugins, eventually getting a good vimrc. A very long time before you get proficient.
A hyperbole, no doubt, but vim is way harder to use than TM.
Nope! Harder to use. It's basically impossible to discover new functionality in vim without reading technical documentation for it, whereas in Textmate I assume (having never used it) that feature is accessible using a mouse.
>1) "discover new functionality" is a "learn", not a "use".
I'm talking about application usability. When I say something is hard to "use" I roughly mean "how easy it is to pick up" and "how easy it is to use everyday".
It's a sign of poor application design when you have to learn it instead of merely using it.
After six years of regular vim use I still find myself constantly forgetting key shortcuts and which feature accomplishes what.
A text editor is not conceptually difficult application. It's unlike a cockpit. Case in point, Textmate.
Whatever, it's not worth splitting hairs. I think that not being able to use an app until you thoroughly look at its documentation is a fairly clear cute example of an unusable app.
>2) Vim can have menus too if you want them, and a mouse to go with them...
I know. I use MacVim almost every day of my life. The menus don't even cover everything you can do with a buffer or a split.
>3) I learn new things about vim all the time without reading the documentation. A massive community makes that quite easy.
Reading blogs I think falls under 'documentation'. I don't want to Read Things just to use 10% of a text editor's features.
1) "It's a sign of poor application design when you have to learn it instead of merely using it."
No, what this actually is a sign of is disingenuous arguing. I have conceded that vim is harder to learn. What I do not concede is that it is otherwise hard to use. You understand what I am saying, but being purposely difficult.
2) If vim's menus were to cover everything vim can do, then we would have ourselves a usability issue. That menu system would be absurdly deep (which is really just an argument in favor of vim if you think about it critically).
3) Blogs are not "technical documentation", which is what you said. Not to mention that any developer in the world should be able to use compat mode without reading anything. The rest of vim's feature set is large enough that it will require some type of research to uncover, no matter the presentation. Textmate can avoid this by having a dramatically smaller feature set.
1) It's just been my experience, when designing and discussing user interfaces, to include "how discoverable" an application is as a factor to how "usable" they are.
A LOT OF FEATURES that experts can use does not necessarily make something usable.
If this falls outside of the purview of what you consider to be satisfactory, that's fine by me.
2) Not really. You'd have a few context menus, and maybe an inspector window might be necessary. Obviously you're not going to represent all of the keyshortcuts but there is no good reason why I can't right click on a split and reorganize it relative to my other buffers. Or select text and hide it using whatever feature "zf" is called. Etc, etc.
Maybe I have an extremely dim of the full, non plugin augmented, vim featureset but… I think it would be possible.
3) Now you're the one splitting hairs. A blog post covering a specific vim key combo… is documentation of a technical sort. C'mon now. Few people are reading that to relax after work.
>The rest of vim's feature set is large enough that it will require some type of research to uncover
I disagree with this. I mean, if you want to compete at vimgolf, of course you need to know the internals inside and out. But there ought to be no reason why I need to memorize five commands off the bat just to split a window. Or set a macro. Or blah blah blah blah.
How in the world would that even be possible? Give it a weekend at most.