是否可以在Vim中以插入模式粘贴?
当前回答
插入模式粘贴
在这种情况下,自定义映射似乎比较合适。这是我在插入模式中粘贴拉拽项的方法:
inoremap <Leader>p <ESC>pa
我的领袖键是\;这意味着在插入模式下点击\p将粘贴之前被拉出的项/行。
其他回答
你可以通过以下方式进入——INSERT (past)——模式:
键盘组合:yp
or
:设置粘贴并进入插入模式(:set nopaste为disable)
一旦进入——INSERT (past)——模式,只需使用您的系统粘贴功能(例如,Linux上的CtrlShiftv, Mac OS上的Cmdv)。
当通过ssh使用vim时,这个策略非常有用。
在插入模式下,你可以使用Ctrl-R {register},其中register可以是:
+对于剪贴板, *对于X剪贴板(X中最后选择的文本), 对于未命名的寄存器(Vim中的最后一次删除或yank), 或者其他一些寄存器(参见:h寄存器)。
Ctrl-R {register}插入文本,就像输入文本一样。
Ctrl-R Ctrl-O {register}用原始缩进插入文本。
Ctrl-R Ctrl-P {register}插入文本并自动缩进它。
在返回到插入模式之前,Ctrl-O可以用来运行任何正常模式命令,因此也可以使用Ctrl-O”+p。
有关更多信息,请使用:h i_ctrl-r查看文档
插入模式粘贴
在这种情况下,自定义映射似乎比较合适。这是我在插入模式中粘贴拉拽项的方法:
inoremap <Leader>p <ESC>pa
我的领袖键是\;这意味着在插入模式下点击\p将粘贴之前被拉出的项/行。
将此添加到vimrc或init文件中:
imap <silent> PP <ESC>pa . imap <silent> PP <ESC>pa . imap <silent> PP
..在插入模式下粘贴“PP”并保持插入模式。
如果你设置Vim使用系统剪贴板(:set clipboard= named),那么你在Vim中复制的任何文本都可以使用Shift + Insert进行粘贴。Shift + Insert只是一个操作系统范围内的粘贴键组合(Ctrl + Insert是对应的“复制”)。