如何在Vim中以粘贴模式使imap工作?

时间:2010-10-09 21:46:26

标签: vim

我最近开始使用:imap jj,我试图忘掉Ctrl + [。

但是,粘贴模式打开时,imap不起作用。如何使其在粘贴模式下工作?

2 个答案:

答案 0 :(得分:13)

启用“粘贴”时,您根本无法使用映射,因为这是Vim粘贴模式的重点。

Vim的粘贴模式是为了让你甚至在终端中的控制台Vim的实例中粘贴东西 - 其中Vim可能不知道你正在使用鼠标粘贴 - 并且你想要从你的粘贴中插入文字文本缓冲区,不触发映射,或自动/智能/表达式缩进等。

我建议你看看:

  

:帮助'粘贴'
  :help'pastetoggle'

答案 1 :(得分:5)

将以下代码段添加到.vimrc,以便在通过终端粘贴时自动触发粘贴模式:

let &t_SI .= "\<Esc>[?2004h"
let &t_EI .= "\<Esc>[?2004l"

inoremap <special> <expr> <Esc>[200~ XTermPasteBegin()

function! XTermPasteBegin()
   set pastetoggle=<Esc>[201~
   set paste
return ""
endfunction

自: https://coderwall.com/p/if9mda