When I'm 'cutting' in vim, I believe there are registers that keep a history of all the recent things I've cut. How do I access those registers?

For example, let's say I cut each one of these words consecutively

  • 'Hello'
  • 'World'
  • 'And'
  • 'Vim'

Note that I'm not actually saving these edits into particular registers, I'm just using 'd' four times consecutively.

2 Answers 2



:help registers

command reveals that there are 10 numbered registers ("0 to "9).

Register "0 is the most recent thing yanked; register "1 has the most recent deleted text, register "2 the previous deletion, "3 has the deletion before that, and so on.

If you delete each line in turn, registers "1, "2, "3 and "4 will contain "Vim", "And", "World" & "Hello", respectively.

You can verify this by using the :reg (or :registers) command:

""   Vim^J
"1   Vim^J
"2   And^J
"3   World^J
"4   Hello^J

So after deleting the four lines one at a time, you could recover the 2nd line ("World") with


because it's the third most recent deletion.

  • 2
    This is perfect; however, what I want the most recent 'yanked' text?
    – Alexey
    Oct 26, 2010 at 17:01
  • 1
    So you would use: p (which means the same as "0p)
    – njd
    Oct 27, 2010 at 18:30
  • 2
    Also pay attention to the special registers, especially "*" and "+", when you read :help registers. Very useful. Feb 15, 2012 at 9:09
  • 3
    Gods, you learn something new every day as a vimmer. It's great. Thanks, @njd. Nov 22, 2012 at 16:42
  • 5
    This answer leaves out an important detail: Only deletions of one line or more are stored in the history this way. If you delete the words in the way that OP described in the question (using d four times, instead of dd) then all but the last deleted one are lost. Jul 13, 2016 at 16:23

In addition to njd's answer, this can be simplified with the YankRing plugin. As well as making it easier to browse the previous yanks, you can configure some keys to allow you to pop previous yanks off the 'stack'. This allows you to do:

yy    " Copy first line
yy    " Copy second line
yy    " Copy third line
yy    " Copy fourth line
" Assumes you've mapped ,p to be the pop command: choose your preferred key or key-combination
,p    " Paste fourth line and pop it off the Yank Ring
,p    " Paste third line and pop it off the Yank Ring
,p    " Paste second line and pop it off the Yank Ring
,p    " Paste first line and pop it off the Yank Ring
  • 4
    Could you add how to map ,p to pop the previous yank? May 2, 2013 at 19:47
  • 2
    To pop the last fews deletions in order: "1p....
    – rodvlopes
    Apr 7, 2020 at 16:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .