On 31/07/09 20:07, Charles Campbell wrote:
>
> J.A.J. Pater wrote:
>> One way or another a mapping I'm trying to implement doesn't work.
>> I'm trying to paste with CTRL-V only in insert mode and keep using
>> CTRL-V for visual in other modes.
>>
>> In my .vimrc I've got:
>>
>> imap<C-V>  "+gP
>>
>> The only thing I get when pushing CTRL-V in insert mode is the literal
>> text "+gP
>> But not the desired effect: pasting.
>>
>> I tried with inoremap also, but to no avail.
>>
>> What could be wrong?
>>
> The imap takes effect during insert mode; it does not, by itself, change
> modes.  In other
> words, the "+gP is acting like keys that you type.  Obviously, what you
> want is what
> "+gP does in normal mode; hence, your imap needs to leave insert mode
> and enter
> normal mode.  Turns out there's a convenient one-shot insert-mode
> command for that
> (ctrl-o):
>
> imap<c-v>   <c-o>"+gP
>
> Regards,
> Chip Campbell

Indeed. Alternately, to insert the clipboard (register +) at the cursor 
in Insert mode, you could also use Ctrl-R + (see ":help i_CTRL-R"), so 
the following would also work:

        imap    <C-V>   <C-R>+

However, if you use <C-V> as the {lhs} of _any_ Insert-mode mapping, be 
aware that whenever you're told to use Ctrl-V in Insert or Command-line 
modes to enter a character code either literally or by its decimal, 
octal or hex value (see ":help i_CTRL-V" and ":help i_CTRL-V_digit), 
you'll have to use Ctrl-Q instead, which might not work if you're in 
Console mode in a terminal which uses Xon/Xoff pause & restart.


Best regards,
Tony.
-- 
Brain fried -- Core dumped

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

Reply via email to