Vim is my primary editor but I think the only really good part of vim is the keyboard navigation. The rest could be much better.
For example, to this day I haven't figured out an easy, built-in way to copy from one vim window to another. I'd love to have some features of other editors have but the key bindings always hold me back.
You need to learn about registers. You can copy between windows and even use your OS's clipboard via Vim.
Normally y is used to yank. However, you can prefix it with "x to yank in to register x. Then you can "xp to paste from register x. You have registers 0-9 and a-z for regular use. They work within a single window.
If you use register *, the register corresponds to your OS clipboard.
you can copy and paste from the system clipboard as the + register - use "+y to yank to the system clipboard and "+p to paste from it (depending on OS, you may need to use * instead of +). This allows cutting and pasting between vim and other applications (including other instances of vim).
For editing multiple docs with vim, I find it's easier to use multiple buffers in the same window. Use :b <start of file name> to jump back and forth.
I never really liked using :b ... for quickly switching back and forth between files, so I bound ^hjkl to move among buffers. Perhaps the best part of my vim experience.
" Use ctrl + movement keys to move around windows
map <C-H> <C-W>h<C-W>_
map <C-J> <C-W>j<C-W>_
map <C-K> <C-W>k<C-W>_
map <C-L> <C-W>l<C-W>_
You're not really supposed to run vim in multiple windows. Use your system pasteboard if you need to copy between them. There's probably some plugin that would make it work with yank registers though.
> You're not really supposed to run vim in multiple windows
huh? I run in 3+ windows (terminal shells) all the time and have done so for 5+ years. To cut and paste between windows I use filesystems copy and paste (select and middle click in X)
Vim is flexible and you are suppose to run it however works for you.
Simply untrue, the number of upvotes to this saddens me. The * register exists explicitly in the default implementation for the purpose of yanking text into the system clipboard. Open your nearest vim and do :he gui-selection or :he quotestar
Oh, and this: http://vim.wikia.com/wiki/Copy_and_paste_between_Vim_instanc... has various other solutions. Including something I did not know about: You can save and load vim's state in .viminfo, so conceivably, you could yank what you want to yank, :wv in that vim, then :rv! in the other vim and paste from the exact same register or registers. Cute.. and useful for syncing up two vim windows in general.
There is a lot of dogma surrounding doing things the "easy way" is Vim. Cut through that and your life will be much easier. For example, I type on Dvorak and "<ESC>:w<ENTER>" is uncomfortable and arduous when all I wish to do is save a file, which I do often. Then one day I woke up and realized Apple-S works perfectly well MacVim and is many times more efficient.
Getting to the point, it is easy to copy and paste between windows using the system buffer. Just map copy and paste to something easy and familiar, say Ctrl-C/V/X, and go on with your life. I'm sure there is a "correct" way to accomplish what you are asking using registers, but quite frankly I don't know it and have never felt the need to learn.
(I know this assumes you are using a graphical Vim.)
With macvim I sometimes end up using cmd-c on a visually selected area, the cmd-v in the other window. It works, even if it isn't built-in. I also avoid having multiple windows open as much as possible (tabs and splits ftw) but when it does happen, I'm very grateful the standard copy/paste commands still work.
I agree with the general point. For your example: on windows I use "yy and "p. You can set "* as default in vimrc and just use yy and p though (don't remember it off the top of my head, I can check it if you want, I use windows though)
For example, to this day I haven't figured out an easy, built-in way to copy from one vim window to another. I'd love to have some features of other editors have but the key bindings always hold me back.