5 ms·
Advanced Vim Registers
- srik 14y agoAlways 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 http://news.ycombinator.com/item?id=2870024
- LauriL 14y agoA 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?
- bilalq 14y agoIt 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"
- RegEx 14y agoI 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
- Lio 14y agoIf 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 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.
- tyler-dodge 14y agoMy version didn't have it builtin so I use fake clip https://github.com/kana/vim-fakeclip https://github.com/kana/vim-fakeclip
- dschobel 14y agowow, capital register appending is super useful. lots of good tips in this one. thanks for posting this!
- mercurial 14y agoI found the numbered registers even better, since "overwrite text with pasted content, multiple times" is a relatively common operation.
- terhechte 14y agoI 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.
- dschobel 14y agoI 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.
- terhechte 14y agoYeah 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
- bilalq 14y agoThis 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.
- koralatov 14y agoHis 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.
- ZeroGravitas 14y agoDoes 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.
- crazydiamond 14y agoTry http://www.vimtips-blog.com/ http://www.vimtips-blog.com/ Also vimcasts.org, and check the zzapper page linked in the tips blog.
- gws 14y agoA less powerful but much simpler alternative to using the registers is the Yankring plugin (https://github.com/vim-scripts/YankRing.vim 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.
- petepete 14y agoI've just been through the YankRing tutorial and it's fantastic; I don't know how I haven't come across this before. Thanks!
- crazydiamond 14y agoI 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.
- reyan 14y agoIf you want to edit your macros, (e.g., the default register q) do "qp, edit, visual select and do "qy.
- lavkesh 14y agoI am going to buy a t-shirt which says "I use Vim"
- gaving 14y agowhy