Hacker News new | past | comments | ask | show | jobs | submit login
Advanced Vim Registers (sanctum.geek.nz)
142 points by airnomad on Jan 9, 2013 | hide | past | favorite | 21 comments



A less powerful but much simpler alternative to using the registers is the Yankring plugin (https://github.com/vim-scripts/YankRing.vim)

With that anything you have ever yanked or deleted is in the ring and when you paste something you can easily rotate through the items in the ring. Basically you type 'p' to paste and if that's not what you wanted you keep pressing ctrl-p until you get what you want.


I've just been through the YankRing tutorial and it's fantastic; I don't know how I haven't come across this before. Thanks!


I used it (YankRing) for some time, but it was never consistent. The plus point is that it works across terminal, otoh often "p" did not work, so i would have to do "YRShow" and select.

Often this is used, but everything you delete gets copied to your clipboard.

       set clipboard=unnamed
So i prefer to map C-c and C-x (or whatever) to copy/cut to clipboard.

    " regardless of clipboard option, c-c copies selection to clip
    vmap <C-c> "+y
    " cut into clipboard
    vmap <C-x> "+d
    " copy to clipboard, http://news.ycombinator.com/item?id=4767227 , use 3 \y to copy 3 lines
    map <leader>y "+yy
    " paste from clipboard
    map <leader>p "+p
    " delete to black hole register, not going to clipboard etc
    nnoremap <leader>d "_d
    vnoremap <leader>d "_d
I've also mapped a key to write selected lines to a file, and another to read from it.

    map <silent> <leader>ww  :w! ~/tmp/vimxfer<CR>
    map <silent> <leader>wa  :w!>> ~/tmp/vimxfer<CR>
    nmap <silent> <leader>rr  :r ~/tmp/vimxfer<CR>
Pls refer to post below on "reattach to user namespace" for OSX ML users.


This was an incredibly helpful article. Tom Ryder's written a lot of other blog posts that were really insightful and enlightening as well. I even learned how to use ed from him.


His blog has taught me more about using vim than any other single resource, and I recommend it unreservedly to anyone thinking of starting out with vim.


Does anyone know of a service where I could point to "timeless" blog content like this and it would give me a feed that it picks old content on a random, perhaps weekly basis? Then I can integrate it with more timely sources.

I feel like this must exist but I've no idea what to Google for.


Try http://www.vimtips-blog.com/

Also vimcasts.org, and check the zzapper page linked in the tips blog.


Always glad to see vim usage articles pop up now and then. Here's a similar HN thread from a while ago - http://news.ycombinator.com/item?id=2870024


A useful article for at least intermediate VIM users.

Regarding the system clipboard register: in OS X 10.8 the `"+` register no longer works. Has anyone found a way to get it working again?


It works fine for me. Seems like whatever install of Vim you have doesn't support the clipboard. Run "vim --version | grep clipboard" and see if you get a + or - for the clipboard.

If you want a quick fix for getting it working again, make sure /usr/local/bin is early on in your PATH and run "brew install macvim --override-system-vim"


I visually highlight and call pbcopy on OS X and xclip on ubuntu. It has the annoying side effect of deleting the text, but a simple u fixes that.

So, highlight in visual mode, go into command mode, and !pbcopy


If you use Vim within tmux (on Mac OSX) the clipboard can become 'detached'. To get it working again I use Chris Johnsen's excellent little command.

https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard

You can install using 'brew install reattach-to-user-namespace'

You need to config tmux:- set-option -g default-command "reattach-to-user-namespace -l zsh"

then set vim to use to use the unnamed clipboard by default.


My version didn't have it builtin so I use fake clip https://github.com/kana/vim-fakeclip


If you want to edit your macros, (e.g., the default register q) do "qp, edit, visual select and do "qy.


wow, capital register appending is super useful. lots of good tips in this one.

thanks for posting this!


I find the difficulty is remembering this when I need it. I've read about capital registers several times, but when I am editing, and I need to copy several distinct lines, I do a "ayy "byy "cyy and then "ap "bp "cp instead of a "ayy "Ayy "Ayy -> "ap because I never remember to use capital registers. I'd love a VIM plugin that tells me that there is an easier way to what I just did by pattern matching my input.


I wonder what the complexity of a plugin would be that watches you use vim and tells if you're doing an anti-pattern?

My only gripe with vim is that the discoverability of features is god awful because :help is so overwhelming.


Yeah me too. I guess it would need to match all the wrong ways against a right way. It is probably easy for something like "jjjjj", but already someone doing BBBBi instead of I would be difficult to match: because one would also need to see where he ended up with BBBB: beginning of line or somewhere in the middle


I found the numbered registers even better, since "overwrite text with pasted content, multiple times" is a relatively common operation.


I am going to buy a t-shirt which says "I use Vim"


why




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: