howard Schwartz <[email protected]> a écrit:
> 
> Hi,
> 
> I want to set the contents of the numbered registers ( 1-9) to nothing, each 
> time I enter a buffer. Thus only yanks and deletes done in the current buffer 
> will make their way into numbered registers. To this end, I put the following 
> autocommand in my .vimrc file:
> 
> au BufRead * for i in range(1,9) | let @i = "" | endfor
> 
> Tha shoud let @1 = "" and @2 = "" and so on. But the i variable never 
> iterates 
> to numbers. Instead this line just sets the register named, i, to nothing.
> I've tried quoting i, using eval etc. Always, the i is not evaluated as a 
> number in the let statements. I must be doing something simple wrong?

You should use ":exe[cute]":

  au BufRead * for i in range(1,9) | exe "let @" . i . " = ''" | endfor

That (extremely useful) command executes a string as if it was fed to Vim.

Best,
Paul

-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Reply via email to