2023-10-09 09:00:01

在插入模式下粘贴?

是否可以在Vim中以插入模式粘贴?


当前回答

在插入模式下按CTRL-R {register}

例子:

CTRL-R *将插入剪贴板的内容 CTRL-R”(未命名寄存器)插入最后的删除或拉取。

要在vim的帮助中找到它,键入:h i_ctrl-r

其他回答

将此添加到vimrc或init文件中:

imap <silent> PP <ESC>pa . imap <silent> PP <ESC>pa . imap <silent> PP

..在插入模式下粘贴“PP”并保持插入模式。

插入模式粘贴

在这种情况下,自定义映射似乎比较合适。这是我在插入模式中粘贴拉拽项的方法:

inoremap <Leader>p <ESC>pa

我的领袖键是\;这意味着在插入模式下点击\p将粘贴之前被拉出的项/行。

只需添加地图:

" ~/.vimrc
inoremap <c-p> <c-r>*

重启vim,在插入模式下按下Crtl+p, 复制的文本将被粘贴

不,不直接。你能做的是快速退出插入模式,使用Ctrl-O进行一个普通模式的操作,然后从那里粘贴,这将使你回到插入模式。

组合键:Ctrl-O p

编辑:有趣。正如其他几个人所列出的那样,似乎是有办法的。

如果不希望Vim破坏传入粘贴文本的格式,可能还需要考虑使用::set paste。这将防止Vim重新标记您的代码。当粘贴完成时,:set nopaste将恢复正常行为。

你也可以用一个键来切换模式,比如在你的.vimrc中添加set pastetoggle=<F2>。关于切换自动缩进的更多细节在这里。