粘贴之前::set paste 粘贴完了::set nopaste
:set paste
:set nopaste
另一个很棒的方法::r! cat 然后用shift+insert 或其他方式粘贴代码,然后ctrl+d 完成输入。
:r! cat
Source
我一直用另外一种更好的方式:
augroup PASTETOGGLE autocmd! InsertEnter * setlocal paste autocmd! InsertLeave * setlocal nopaste augroup END
这样的话在插入模式中粘贴的时候根本不需要设置任何东西,并且也不需要替代的按键组合。
补充:我忘了说这个方法的副作用,它会导致在插入模式下的 'autoindent' 和 'smartindent' 等选项复位,所以等于取消了自动缩进,因此请有选择的使用。
使用vi粘贴代码就OK了
还可以这样操作 “+p 来粘贴; 为了方便我做了个映射 nnoremap <leader>p "+p; 输入 :reg 查看寄存器中保留的东西; 先选中部分字符, 还后 ”+y 可以把选中的部分复制到 系统剪贴板; 参考 Accessing the system clipboard How to use vim registers?
“+p
nnoremap <leader>p "+p
:reg
”+y
粘贴之前:
:set paste
粘贴完了:
:set nopaste
另一个很棒的方法:
:r! cat
然后用
shift+insert
或其他方式粘贴代码,然后
ctrl+d
完成输入。
Source
我一直用另外一种更好的方式:
这样的话在插入模式中粘贴的时候根本不需要设置任何东西,并且也不需要替代的按键组合。
补充:我忘了说这个方法的副作用,它会导致在插入模式下的 'autoindent' 和 'smartindent' 等选项复位,所以等于取消了自动缩进,因此请有选择的使用。
使用vi粘贴代码就OK了
还可以这样操作
“+p
来粘贴;为了方便我做了个映射
nnoremap <leader>p "+p
;输入
:reg
查看寄存器中保留的东西;先选中部分字符, 还后
”+y
可以把选中的部分复制到 系统剪贴板;参考 Accessing the system clipboard How to use vim registers?