我在gVIM中使用imap <c-v> <ESC>"+PA
进行粘贴,但是,每次我尝试粘贴时都会出现意外结果:
aa${CURSOR}aa
,现在按^ V,我得到a${PASTE_TXT}aaa
,但我想要aa${PASTE_TXT}aa
。
我该如何解决这个问题?
答案 0 :(得分:7)
我建议您不要重新映射CTRL-V,当您想插入原始字符时它非常有用。要在插入模式下粘贴,您无需切换到正常模式。使用 CTRL - R 然后 CTRL - O ,然后 + 。那不是很久。您可以重新映射F键来执行此操作:
:inoremap <F1> <C-r><C-o>+
或
:inoremap <C-v> <C-r><C-o>+
有关详情,请参阅:help i_CTRL-R
。您可能也想this answer我给出了关于寄存器的信息。
如果您仍想使用普通模式保留地图,请将P
替换为p
,将A
替换为a
。毕竟你要在离开插入模式后停止的最后一个字符后粘贴,并在粘贴文本后继续插入,而不是在行尾。
:inoremap <C-v> <Esc>"+pa
答案 1 :(得分:2)
将imap <c-v> <ESC>"+PA
更改为imap <c-v> <ESC>"+pA
大写P
在光标位置前粘贴,小写p
在光标位置之后。