2010-10-09 3 views
13

J'ai récemment commencé à utiliser: imap jj et j'essaie de désapprendre Ctrl + [. Toutefois, l'imap ne fonctionne pas lorsque le mode Collage est activé. Comment puis-je le faire fonctionner en mode collage?Comment faire fonctionner imap en mode collage dans Vim?

+0

Qu'ont dit Heptite. Vous devrez vous contenter du vrai '' ou des touches basées sur Ctrl comme Ctrl- ['ou' Ctrl-C' en mode collage. – progo

Répondre

13

Vous ne pouvez simplement pas utiliser les mappages lorsque 'coller' est activé, puisque c'est le point entier du mode collage de Vim.

mode de pâte de Vim est destiné à vous permettre de coller des choses même dans une instance de Vim console dans un — terminal où VIM peuvent ne pas être au courant que vous utilisez la souris pour coller — et que vous souhaitez insérer former un texte littéral votre tampon de pâte sans déclencher mappings, ou auto/smart/expression indenter, etc.

Je vous suggère de jeter un oeil à:

: help 'coller'
: help 'pastetoggle'

5

Ajouter à votre extrait suivant Vimrc pour déclencher le mode coller automatiquement lors du collage via le terminal:

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 

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

+0

Que signifie «coller via un terminal»? –