Pregunta Vim pumvisible () llamada en texto aleatorio


Estoy usando el paquete spf13 para Vim. Sin embargo, cada vez que ingreso un texto y presiono escape, algunos caracteres extraños se le agregan.

Por ejemplo, si escribo esto y presiono escape,

hello

Entiendo esto:

hellopumvisible() ? "\" : "\

Hay un mapeo en mi archivo .vimrc que dice así, que creo que podría ser responsable:

" some convenient mappings
inoremap <expr> <Esc>      pumvisible() ? "\<C-e>" : "\<Esc>"
inoremap <expr> <CR>       pumvisible() ? "\<C-y>" : "\<CR>"
inoremap <expr> <Down>     pumvisible() ? "\<C-n>" : "\<Down>"
inoremap <expr> <Up>       pumvisible() ? "\<C-p>" : "\<Up>"
inoremap <expr> <C-d>      pumvisible() ? "\<PageDown>\<C-p>\<C-n>" : "\<C-d>"
inoremap <expr> <C-u>      pumvisible() ? "\<PageUp>\<C-p>\<C-n>" : "\<C-u>"

Supongo que es tomado de http://vim.wikia.com/wiki/Improve_completion_popup_menu. Pero por alguna razón, esto me está dando un comportamiento extraño. ¿Algún consejo?

EDITAR: Aquí está la salida de :inoremap <esc>

i <Esc> *@pumvisible() ? '<C-E>' : '<C-R>=<SNR>32_FlushBuffer()<CR>pumvisible() ? "\<C-E>" : "\<Esc>"'

i <Esc> * pumvisible() ? "\<C-E>" : "\<Esc>"

Y estoy usando Vim 7.3 en Windows 8.

Solución

El complemento de autoclose está interfiriendo con el mapeo. He escrito los pasos para eliminarlo aquí: http://crossplatform.net/dev/vim-spf13-writes-random-characters-when-pressing-escape.html. Funciona bien ahora.


6
2017-11-29 08:45


origen


Respuestas:


Probablemente, esta tal vez preguntas frecuentes. Y esto será útil para los demás. Así que copié la respuesta de la línea de comentarios de arriba.

Cuando tienes un problema sobre las asignaciones de vim.

Comprobar :verbose inoremap en la primera.

Si conoce las claves que tienen problemas, hágalo con la clave especificada, por ejemplo :verbose inoremap <esc>.


8
2017-11-30 00:09



Esto lo arregla para mí, en su archivo ~ / .vimrc o ~ / .config / nvim / init.vim, agregue:

let g:AutoClosePreserveDotReg = 0

2
2018-02-12 22:13