实现CTRL + V粘贴到VIM中,粘贴后总是偏移一个字符

dai*_*isy 1 vim paste

我正在使用imap <c-v> <ESC>"+PAgVIM进行粘贴,但是,每次我尝试粘贴时都会得到意想不到的结果:

aa${CURSOR}aa,现在按^ V,我得到了a${PASTE_TXT}aaa,但我想要aa${PASTE_TXT}aa.

我怎样才能解决这个问题 ?

Ben*_*oit 7

我建议您不要重新映射CTRL-V,当您想插入原始字符时它非常有用.要在插入模式下粘贴,您无需切换到正常模式.使用CTRL- R然后CTRL- O,然后+.那不是很久.您可以重新映射F键来执行此操作:

:inoremap <F1> <C-r><C-o>+
Run Code Online (Sandbox Code Playgroud)

要么

:inoremap <C-v> <C-r><C-o>+
Run Code Online (Sandbox Code Playgroud)

有关:help i_CTRL-R更多参考,请参阅 您可能也喜欢我给出的关于寄存器的答案.

如果你仍然想使用普通模式,让您的映射,更换PpAa.毕竟你要在离开插入模式后停止的最后一个字符后粘贴,并在粘贴文本后继续插入,而不是在行尾.

:inoremap <C-v> <Esc>"+pa
Run Code Online (Sandbox Code Playgroud)