使用终端粘贴命令粘贴文本
如果你使用终端仿真程序中的粘贴命令,Vim 将解释字符流,就像它们被键入一样。这将导致各种不良影响,特别是不良的压力。
要解决这个问题,请从命令模式:
:set paste
然后继续进行插入模式,i 例如。注意模式现在是 -- INSERT (paste) --
。现在使用终端仿真器命令或鼠标粘贴。完成后进入命令模式,使用 Esc 并运行:
:set nopaste
当一个人只想粘贴一次时,有一种更简单的方法。把它放在 .vimrc 中 (或使用插件 unimpaired.vim ):
function! s:setup_paste() abort
set paste
augroup unimpaired_paste
autocmd!
autocmd InsertLeave *
\ set nopaste |
\ autocmd! unimpaired_paste
augroup end
endfunction
nnoremap <silent> yo :call <SID>setup_paste()<CR>o
nnoremap <silent> yO :call <SID>setup_paste()<CR>O
现在可以简单地按 yo
粘贴光标下的代码,然后 <Esc>
返回正常/ nopaste 模式。