是否可以在Vim中以插入模式粘贴?
当前回答
还可以使用鼠标中间按钮在插入模式下粘贴(仅适用于Linux)。
其他回答
将此添加到vimrc或init文件中:
imap <silent> PP <ESC>pa . imap <silent> PP <ESC>pa . imap <silent> PP
..在插入模式下粘贴“PP”并保持插入模式。
你可以通过以下方式进入——INSERT (past)——模式:
键盘组合:yp
or
:设置粘贴并进入插入模式(:set nopaste为disable)
一旦进入——INSERT (past)——模式,只需使用您的系统粘贴功能(例如,Linux上的CtrlShiftv, Mac OS上的Cmdv)。
当通过ssh使用vim时,这个策略非常有用。
还可以使用鼠标中间按钮在插入模式下粘贴(仅适用于Linux)。
如果不希望Vim破坏传入粘贴文本的格式,可能还需要考虑使用::set paste。这将防止Vim重新标记您的代码。当粘贴完成时,:set nopaste将恢复正常行为。
你也可以用一个键来切换模式,比如在你的.vimrc中添加set pastetoggle=<F2>。关于切换自动缩进的更多细节在这里。
只需添加地图:
" ~/.vimrc
inoremap <c-p> <c-r>*
重启vim,在插入模式下按下Crtl+p, 复制的文本将被粘贴