Vim Tips Wiki
Register
No edit summary
No edit summary
Line 2: Line 2:
   
 
To easily swap between different registers in Vim it is convenient to map a sequence to move all in a "circled list". See the following mapping to understand it:
 
To easily swap between different registers in Vim it is convenient to map a sequence to move all in a "circled list". See the following mapping to understand it:
  +
<pre>map s :let @x=@" <Return>
 
  +
:let @"=@a <Return>
 
''map s :let @x=@" <Return> :let @"=@a <Return> :let @a=@b <Return> :let @b=@x <Return>''
+
:let @a=@b <Return>
  +
:let @b=@x <Return></pre>
 
   
 
Now you can circle between the registers "", "a, "b with s.
 
Now you can circle between the registers "", "a, "b with s.
Line 13: Line 13:
   
 
This is also usefull if you want to copy between xclipboard and the unnamed standard register of Vim:
 
This is also usefull if you want to copy between xclipboard and the unnamed standard register of Vim:
  +
<pre>
 
  +
map s :let @a=@" <Return>
 
''map s :let @a=@" <Return> :let @"=@+ <Return> :let @+=@a <Return>''
+
:let @"=@+ <Return>
  +
:let @+=@a <Return></pre>
 
   
 
To see, what ist changing, you could modify the command above like this:
 
To see, what ist changing, you could modify the command above like this:
  +
<pre>map s :let @x=@" <Return>
 
  +
:let @"=@a <Return>
 
''map s :let @x=@" <Return> :let @"=@a <Return> :let @a=@b <Return> :let @b=@x <Return> :reg "ab <Return>''
+
:let @a=@b <Return>
  +
:let @b=@x <Return>
 
  +
:reg "ab <Return></pre>
   
 
For further Information see:
 
For further Information see:
  +
<pre>:help let
 
'':help let''
+
:help reg
 
:help registers</pre>
 
'':help reg''
 
 
'':help registers''
 
   
   

Revision as of 12:19, 29 April 2008

This tip was tested under Debian testing with Vim 7.1 (console version)

To easily swap between different registers in Vim it is convenient to map a sequence to move all in a "circled list". See the following mapping to understand it:

map s :let @x=@" <Return> 
      :let @"=@a <Return> 
      :let @a=@b <Return> 
      :let @b=@x <Return>

Now you can circle between the registers "", "a, "b with s.

(:let @a=@b copies register "b to register "a)


This is also usefull if you want to copy between xclipboard and the unnamed standard register of Vim:

map s :let @a=@" <Return> 
      :let @"=@+ <Return> 
      :let @+=@a <Return>

To see, what ist changing, you could modify the command above like this:

map s :let @x=@" <Return> 
      :let @"=@a <Return> 
      :let @a=@b <Return>
      :let @b=@x <Return> 
      :reg "ab <Return>

For further Information see:

:help let
:help reg
:help registers


--Benshi 11:18, 29 April 2008 (UTC)