yy
Copies the current selection, or, if there is no selection, the current line
Nope, if you've already selected something that's going to leave you in the one-y-received-now-please-indicate-the-object-you-want-to-yank state. It's absolutely critical to understand the verb-object grammar of Vim, and understand how visual mode interacts with that. Don't memorize permutations of y, just memorize how to move, and the fact that y yanks. </rant>
This is a really good overview. I've only been using VIM full time (more or less) for about a year so I know there's still a lot to learn. Every article has a little hint in there somewhere. I didn't know about moving lines up / down like that.
Nice! I just recently switched from Sublime to Vim... this will come in handy!! I've been trying to figure out how to do "Move selected text up" in Vim... Thanks!
Aside from the sunken cost fallacy, all you've done is link how to get partial Vi (not Vim, nor even the Ex functionality you find in stock Vi.) functionality in sublime and tell him how to use documentation. I have a feeling that anyone that has decided to switch knows about those things.
As far as I can tell he wasn't even asking for help with sublime, nor did he lay out his reasons for wanting to switch away.
Unfortunately, Sublime's vintage-mode is very deficient in even the intermediate level Vim bindings. I'll fire it up every week or so, frown after a few minutes, and go back to MacVim.
Yea i'm even running into this and have only been using it for 2 weeks.... sometimes certain things just won't work the same. On the plus side... it's an easy way to dip your toes into the water and get used to normal/insert/visual, which is what I found to be the hardest part.
Very true, I am mostly experimenting to see what the hype with Vim is. I meant that I already knew the sb2 shortcut, just not the translation to Vim/MacVim... thanks anyway though!!
I haven't actually abandoned sublime text 2... for the time being i've been using vintage mode as you suggested. I've went cold turkey with MacVim for weekend projects but I still use sublime with vintage for work. If I do reach that tipping point where straight Vim is easier/faster/nicer then I would jump ship.
I think if you're happy with what you're using, stick with it.
I switched from pico/emacs/TextMate/Notepad++ to VIM about three years ago. I always hated vi. I love it now, and really wish I would have switched earlier. But the advantages don't become obvious until you make yourself to live with it for a while. The initial learning curve is pretty steep, but once you get over that hump it's pretty easy going.
This is very different from emacs, which was very easy for me to do simple tasks but very hard for me to do anything complicated. It's also different from pico, TextMate, and Notepad++, which are easy to pick up but plateau, sometimes leaving to write a script to do what you need.
Using a vi-like mode for another editor doesn't really cut it, not unlike an emacs-workalike that isn't built atop a powerful scripting language. For me, it's about the way commands stack and compose rather than using hjkl instead of arrow keys.
Thanks for the good luck! I've definitely been having fun fiddling with MacVim and it's array of plugins in my spare time. The vi-mode is definitely a limiting factor... I find it great for the getting into basics and getting comfortable, especially once you add a block cursor to help switching modes.
Why are people moving to vim? I've used it for a long time, but mainly because used vi back in the late 80s, and it was the most familiar cross-platform style of editor at the time. I don't think it's that much more (or less) powerful than the other really good editors (Emacs included).
TextMate seemed really awesome, as did BBEdit, so why not stick to what you know?
1) Ubiquity - it works on OS X, Linux, Windows, etc. No matter what platform I am working on, I can have a common editing platform. I own a BBEdit license, have used TextMate, Sublime, and Ultraedit in my Windows days, but for most tasks I now use Vim because it is the same everywhere.
2) Speed - Closing out 1 year of working in a terminal more than a UI (from a decade prior of working with Windows), I am finding Vim more "convenient" (edit: another comment uses the term "efficient"). I am by no means an expert, but moving text around in Vim feels faster. It takes time to master, but I am finding value in the effort.
I still prefer GUI based editors for certain tasks - visual diffs for example (BBEdit, Cornerstone), and use a GUI for database development (DbVisualizer for schema browsing and simple ERDs), but plain old Vim is becoming a habit.
>TextMate seemed really awesome, as did BBEdit, so why not stick to what you know?
I think the problem with Textmate is that it appears to effectively be abandon-ware. I and many others are skeptical that a final, complete version of 2.0 will ever be released, and the source-code dump makes it seem even less likely. Second-system syndrome is alive and well.
In general, it's not a good idea to continue investing time and effort in software that will eventually cease to be available or updated. Given the persistence of vim and emacs, it seems unlikely that either will be abandoned in any reasonable short- to medium-term timeframe.
Whenever there's a Vim article on HN, the same questions and comments appear. Is Vim really all that? Isn't it really old? I'm already using BBEdit/Textmate/Emacs/Notepad++/Sublime Text/the editor du jour - is it worth it to switch?
Even though I have several different editors on my Mac, including ones I've paid for like BBEdit, I've been pretty much using Vim exclusively for nearly 8-10 months and it's been great.
I started to get interested in Vim last year because of all of the blog posts from folks looking to switch from Textmate for a variety of reasons. And since Textmate was THE editor on the Mac for quite some time, I was curious why accomplished developers were moving away from it.
Of the many things I like about Vim, the one that sticks out for me: there's no ceiling on what it can do and what you can do with it compared to other editors. There's an internal consistency about it that I appreciate--the Vim "language".
I hated DW's bloat and I knew how to write HTML/CSS/JS by hand so I turned to what was considered the top text editor on Mac OS 9 at the time. I liked it and used it for a few years until I upgraded to Mac OS X. At that time, I simply fell in love with the command line and the beauty of TextMate's snippets and Cmd+T and many refinements. The love story quickly turned into boredom and TM soon took the road to nowhere. This happened at a time I wanted to switch to Linux full-time so I spent a year trying every cross-platform editor/IDE I could find. I finally chose Vim which blew my mind and still does at time.
I moved to Vim from TextMate during a period of my life wherein I was only developing on a 13" Macbook, and found that the amount of screen real estate required to run my terminal for testing, TextMate, and my browser to be unacceptable. With Vim I could simply run it in the terminal, split my screen with TMUX, and run my tests.
I've stayed with Vim because I find it has very efficient means of manipulating text, and tends to stay out of my way. I feel encumbered when using Sublime Text 2, or TextMate (though less so with the former).
This was my question as well. I have seen it a lot. I understand it for people that have vim ingrained in their fingers (muscle memory).
I do not understand the reason for this at all for people who don't know vim. There are plenty of other editors that are just as feature rich, if not more so (Sublime and PSPad come to mind). Also, if you need the GUI based macvim, you lose the most important feature of vim and the actual main reason for its popularity today: the ability to edit files locally or remotely inside a shell that supports only text.
Then again, choosing inferior technology is actually quite common these days, as the widespread use of Rails easily demonstrates.
MacVim can have all of it's toolbars removed (that's what I do). The only reason I use MacVim over vim in a terminal is because I hate hunting for my editor in all of the tabs I generally have open in my terminals...
I'm on Windows and Linux, but my reasoning is similar. I also occasionally use the mouse for text selection. On Windows I especially like using GVIM over VIM because of the extremely limited font selection for the Windows terminal.
Sadly, this article never tries to teach Vim from a language standpoint, in which you use verbs and objects to describe text manipulations. It just gives some god-given key sequences resulting in the same actions as in Textmate but without any explanation why things are happening.
For me, p is for pasting between open buffers, and <leader>p is for pasting between programs. This way you can paste from an open buffer, and paste from the system clipboard with no go-between.
vimrc:
" copy to clipboard
map <leader>y "+yy
" paste from clipboard
map <leader>p "+p
This is nice, except that every cut gets added to the clipboard. Including deleting an individual character. Deleting/cleaning up text ... it all goes into the clipboard. Soon my clipboard is full of junk.
I'd have liked only yanked stuff going onto the clipboard, not deleted stuff.