The thing about Vim is that I cannot imagine creating it and thinking, "This will be much faster and easier than a mouse eventually". But, I also wouldn't think that I could learn how to type fast without looking at the keys if I just stumbled across a keyboard, but both are undoubtedly true. Like anything physical, it requires practice and muscle memory. Would you rather go back to looking at every single key to type? That's how vim users feel about regular text editors. Try it out.
vim overhyped as an editor? It might be overhyped as a programming tool (you won't write 2x the same amount of lines in a day; you will not be 5x more productive), but as an editor, it deserves every single bit of hype that it has.<p>No other editor stands next to vim. A lot of people dislike editors. It's fine. There are a million tools out there that help people become more productive programmers. You might enjoy IntelliJ or you might not. You might like cscope or hate it. Tt doesn't matter. One needs to find the tools that helps him in their day to day job. But if you need an editor, vim is no doubt the single best out there.
Here's the thing: when you're coding, how much time is spent on reading vs writing? For me it's probably 90/10. Since most my time is spent concentrating on understanding code, the last thing I want is an editor that forces me to consciously think about text operations. "d[downkey]4" might be theoretically more efficient, but I spend way less cognitive energy holding down the shift key and pressing the down arrow 4 times.<p>The other thing is efficient navigation within one file isn't super useful to me. I spend most my time doing find-in-files or jump-to-definition or rename-across-this-project. Vim kind of sucks for all those use cases. There are plugins of course, but that just brings it up to par with popular IDE's, except with a clunkier interface.<p>I say this as a person that knows vim well. If I'm SSH'd into a server and I need to edit a config file, vim is the first thing I'll reach for, but for coding, I'm pretty much only using it if I'm using a language that doesn't have a nice IDE already.
For what it's worth, the author (sankho) mentions that he uses other editors for project-wide find and replace. This <i>can</i> be done in vim too (although I do not --- I'll return to this). You can check out the typically great vimcasts post on this: <a href="http://vimcasts.org/episodes/project-wide-find-and-replace/" rel="nofollow">http://vimcasts.org/episodes/project-wide-find-and-replace/</a><p>For whatever reason, I find it easier to use commandline tools to do large search and replaces. I do embrace the vim-as-text-editor within the larger Linux-program-composability philosophy, but I understand that not everyone else does. So I use ack and perl, as mentioned in this StackOverflow post:
<a href="http://stackoverflow.com/a/8744108/1141805" rel="nofollow">http://stackoverflow.com/a/8744108/1141805</a><p>(Actually, sometimes I distinctly do things the <i>wrong</i> way. I open a scratch buffer, `:r! ls` to get my file names, restrict to those that I want, create a macro that does what I want on the file under the cursor, and then repeat the macro. I am not proud.)
The key to learning vim for me was to create my own vimrc from the ground up. I decided to not add anything to that file that I didn't understand what it was for. That and time. As long as you can open a file in vim, add a couple of lines of code and save it, you're good to go. Just keep using it and that vim magic will come to you ;)
I've tried switching to VIM (from few years of using Sublime) few times already, but failed every single time: bare VIM is too dysfunctional to my taste and ways of working with text editor (missing tabs, file/folder treee view, easy switching documents, easy visual copy/paste and so on, missing code expanding/completion...).<p>Last time I tried spf-vim[0] but while it looked 'cool' (it has colors, it does code completion, it somwhere have the folder/file tree view and maybe eve tabs/panels...) yet it is overly complicated, quite badly documented (there is no intro like tutorial on getting you up to speed with what you may want from a text editor, just some strange sounding plugin list with few shortcuts here and there) and overloaded with plugins I am not interested in (PHP related ones) not to mention having few strange issues requiring googling and writing additional configuration just to make VIM behave...<p>So, while I'd love to use VIM for its speed, the fact its easily portable with the configuration and is available on almost every OS (BSD, Mac, Windows, Linux, you name it) I still write 99% of my code in Sublime, and only use VIM on servers to change this and that. Perhaps another time ;)<p>[0] <a href="http://vim.spf13.com/" rel="nofollow">http://vim.spf13.com/</a>
I use vim on a daily basis and think it's a great editor, but it's definitely overhyped. Plugins in particularly are pretty disappointing if you're coming from an editor like sublime. Off the top of my head, syntax checking, fuzzy searching and multicursor options are all perfectly usable but very limited compared to sublime's offerings.
There is another element in using Vim that's not mentioned -- it's a super fun journey, full of surprising discoveries, handsome rewards for a little effort, and generally the happy experience in continuous getting nice things from a seemingly inexhaustible source.<p>As an example, having used Vim for ten years, just within the last few weeks I started to seriously learn and use Ultisnips, SkyBison, Vim-swoop, etc. It has been pure fun and rewarding.<p>To be clear, I don't use that many plugins. Often time I discover something already built into Vim proper which can replace a plugin (after some light scripting/configurations), then I usually uninstall that plugin. This has happened more frequently in recent years, possibly because of my improved Vim-fu (still a mediocre user I am sure). So both productivity and portability get improved while I am having fun learning new things.
Does anyone know if Vim has the power of multi line editing / multiple cursors like w/ Sublime Text? The large majority of my productivity involved copying and pasting with multi line select, and jumping words and different boundaries on multiple lines at once. Anything that matches ST for Vim?
I don't actually program all that much, but I find that for text editing, vim (or even vi) is hard to beat.<p>As a sysadmin, I appreciate the fact that some form of vi exists on <i>any</i> vaguely unix-like machine I log into. Even without a .vimrc, the basic commands for line editing and searching work and they match with tools like less (or does less match vi?) and using vi has become second nature over time because it's everywhere and it tends to be the default (I hate it when someone makes nano the default $EDITOR so that eg. sudoedit doesn't do the right thing)<p>I wish Windows servers shipped with vi, too. A decent text editor is the one thing I consistently find myself missing. Notepad most definitely does not count.
Eventually, I'm hoping for some keyboard/mouse hybrid like this to catch on:<p><a href="https://www.kickstarter.com/projects/1666150716/keymousetm-the-keyboard-and-mouse-re-invented/description" rel="nofollow">https://www.kickstarter.com/projects/1666150716/keymousetm-t...</a><p>I didn't end up backing it though because I didn't want to dump $250 on a v1 product would likely have many issues to sort out. That and the ergonomics of the typing didn't look that great.
I agree with everything here except the idea that you shouldn't start with MacVIM. The main issue with new users getting into modal editors is the learning curve. If you can reduce the upfront difficulty by accepting OS-specific hotkeys and mouse events, why not?<p>Using VIM saves you time and a smart user will search out the ways the editor can help her, but there's no value in making the user go cold turkey.
If anyone is looking for a good book on using vim effectively, this one is great:<p><a href="https://pragprog.com/book/dnvim/practical-vim" rel="nofollow">https://pragprog.com/book/dnvim/practical-vim</a>
Any tips on learning the internal configuration/control language? I've been using vim for quit some time now (I like it a lot), but never have been able to grok anything about it besides entering code :)
<p><pre><code> No other text editor has as many developers working on
plugins than VIM. Virtually anything that exists in
another text editor which isn’t mouse driven has some
very popular, very supported, very documented plugin
you can use.
</code></pre>
And the Vim equivalent of org mode is what again? I'm a Steve Litt fan, but Vim Outliner isn't even in the same league as org mode.<p>As a Vim user of many years I still believe it to be superior to emacs when it comes to editing text. That said, emacs is a vastly superior programming environment. And like many people I find org mode to be indispensible.<p>Happily, these things aren't either/or situations. I still use Vim for quick text editing tasks, but for other matters evil+org mode lets me have the best of both worlds.<p>Edit: typos