On Mon, Nov 30, 2009 at 9:09 PM, Nathan Neff <[email protected]> wrote:

>
>
> On Mon, Nov 30, 2009 at 3:36 AM, Andy Wokula <[email protected]> wrote:
>
>> Nathan Neff schrieb:
>> > I'm looking to create a custom command / mapping where I can use the
>> > contents of a register that is specified by the user.
>> >
>> > Similar to how ["x]p works.  The user can press "ap and the contents of
>> the
>> > "a" register will be pasted.  The user can just press p and the contents
>> of
>> > the unnamed register are pasted by default.
>> >
>> > I want to define a custom command where the user can put the optional
>> ["x]
>> > in front of the mapping, and my command will work with the register that
>> the
>> > user specified.
>> >
>> > If the user doesn't specify a register, then I'm going to use the
>> unnamed
>> > register by default.
>> >
>> > Is there a way to create a mapping that accepts the optional ["x] in
>> front
>> > of it?
>> >
>> > Thanks,
>> > --Nate
>>
>> :h v:register
>>
>>
>> nn <Leader>a :<C-U>call MyPaste()<CR>
>>
>> func! MyPaste()
>>    exec "normal!" v:count1. '"'.v:register. "p"
>> endfunc
>>
>>
>> And what is your command supposed to do?
>>
>>
> Good question.  The command will take the contents of the specified
> register and paste it in a new line below the cursor.  Similar to the :pu
> command.
>
> Thanks,
> --Nate
>
>

Andy, your solution worked.

I have a mapping that will paste a newline plus the contents of the
specified register (or the unnamed register by default)

func! MyPaste()
    exec "pu " . v:register
endfunc

nn <leader>p :<C-U>call MyPaste()

This seems petty - it's the difference between 5 keystrokes and 2, but I use
it
about 30 times a day.  Can I ask what the <C-U> does?  I tried the code w/o
the <C-U> and I can't see a difference in the functionality.

Thanks,

--Nate

--
>>
>> Andy
>>
>> --
>> You received this message from the "vim_use" maillist.
>> For more information, visit http://www.vim.org/maillist.php
>>
>
>

-- 
You received this message from the "vim_use" maillist.
For more information, visit http://www.vim.org/maillist.php

Reply via email to