我最近开始使用 :imap jj 并试图放弃 Ctrl+[。
然而,当粘贴模式开启时,imap无法工作。如何使它在粘贴模式下也能工作呢?
我最近开始使用 :imap jj 并试图放弃 Ctrl+[。
然而,当粘贴模式开启时,imap无法工作。如何使它在粘贴模式下也能工作呢?
如果启用'paste'模式,则映射将无法工作,因为这正是Vim的'paste'模式的全部意义。
Vim的'paste'模式旨在允许您在终端中使用控制台Vim的情况下粘贴内容,而Vim可能不知道您正在使用鼠标粘贴,因此您希望插入来自粘贴缓冲区的文字而不触发映射或自动/智能/表达式缩进等。
我建议您查看:
:help 'paste'
:help 'pastetoggle'
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
<ESC>
或基于Ctrl的键,如Ctrl-[
或Ctrl-C
。 - mike3996