Vim: comportmento strano di "\" nella modalità di inserimento

Sto modificando un sacco di file tex usando vim, e quindi uso il \ character molto. Tuttavia, quando si inserisce un \ in modalità di inserimento, vim sospende il cursore sullo stesso punto per un secondo, a differenza di qualsiasi altro carattere.

Naturalmente non devo aspettare fisicamente un secondo secondo, posso continuare a digitare, ma il text viene inserito solo dopo questo secondo.

Ho scoperto che posso creare un comportmento simile mappando ad esempio:

 inoremap ;; <esc>: inoremap jj <esc> 

ecc. Sembra che vim si aspetta un altro personaggio da seguire, in modo da poter valutare la mappa.

Annullamento \ come il mapleader non allevia il problema però, che è quello che mi aspettavo.

Inoltre, non so se questo è relativo, ma usando <esc> nella modalità di inserimento non funziona istantaneamente (ancora perché vim prevede che qualcosa venga dopo).

C'è un'impostazione di vim che mi metti il ​​tempo della pasta a 0, tuttavia voglio ancora essere autorizzato a utilizzare i miei mappati ;; , jj e <esc> .

So che il timeout tuttavia questo non aiuta. Se faccio timeoutlen=0 nessuno dei mapping multi-key potrebbe essere utilizzabile.

Hai identificato il problema: \ viene utilizzato come primo carattere di un imap. Per scoprire where è impostato è ansible eseguire

 :verbose imap \ 

Non ho alcuna soluzione diversa da eliminare la mapping o distriggersrla quando si sta modificando i file TeX. Puoi farlo inserendo una row come questa in un file denominato ~ / .vim / after / ftplugin / tex.vim su Unix o ~ \ vimfiles \ after \ ftplugin \ tex.vim in Windows:

 silent! iunmap \x 

where sostituire x per la parte corrispondente della mapping offesa.

Io uso LaTeX un po ', ho installato la Vim-LaTeX-Suite e non vedo quel comportmento, quindi alless non è un problema con quella suite.

Sembra che tu abbia una mapping di modalità di inserimento che inizia con "\", eventualmente impostata da un plugin che hai recentemente installato. Per determinare se si esegue e quale file ha creato il mapping, eseguire questo command:

 :verbose imap \