¿Cómo resuelvo un conflicto de combinación de teclas con coc para vim?

¿Cómo resuelvo un conflicto de combinación de teclas con coc para vim?

Solo como prefacio, no soy programador, pero he escrito un poco de shell para automatizar cosas.

Esto es en MacOS Mojave, pero no debería hacer una gran diferencia ya que las configuraciones de neovim deberían transferirse.

Me di cuenta de que cuando intento usar la función de autocompletar de coc, al presionar Enter simplemente regresa a la siguiente línea en lugar de seleccionar un autocompletado. Sospeché que estaba relacionado con vimwiki o Markdown. Miréeste hilopara intentar encontrar la combinación de teclas en conflicto y obtuve esto en el resultado de :verbose imap <cr>después de intentar completar automáticamente:

i  <CR>        &@<C-]><Esc>:VimwikiReturn 1 5<CR><SNR>38_AutoPairsReturn
        Last set from ~/.config/nvim/plugged/auto-pairs/plugin/auto-pairs.vim line 662
i  <CR>        * pumvisible() ? "\<C-Y>" : "\<CR>"
        Last set from ~/.config/nvim/init.vim line 225
Press ENTER or type command to continue

Así que miré auto-pairs.vimy encontré esto:

execute 'inoremap <script> <buffer> <silent> <CR> .old_cr.'<SID>AutoPairsReturn'

Me parece que tiene preferencia sobre la reasignación en init.vim:

inoremap <expr><cr> pumvisible() ? "\<C-y>" : "\<CR>"

Intenté averiguar dónde pumvisible()se encontraba esta función, pero no pude encontrar su definición. Pensé que podría detener el enlace dentro de los pares automáticos haciendo algo con eso. Luego intenté cambiar la reasignación en init.vim. Realmente no hizo nada, cambié <cr>a <Space>y <Right>pero eso tuvo un efecto dominó al hacer que mis teclas de flecha actuaran como ingresar en todas las circunstancias.

¿Cómo puedo corregir este conflicto? Si tengo que editar los archivos del complemento (estoy usando vim-plug), ¿cómo puedo hacerlo limpiamente (para que no se rompa con una actualización)?

Gracias. Si es necesario, puedo proporcionar la init.vimconfiguración completa o completa de neovim en github.

Respuesta1

La asignación de teclas de tabulación en vimwiki también estaba en conflicto con mi autocompletado de coc.nvim, agregue esto en su init.vim

au filetype vimwiki silent! iunmap <buffer> <Tab>

Respuesta2

Cambié el mapeo para la configuración de COC

inoremap <silent> <expr> <C-End> pumvisible() ? coc#_select_confirm() : "<Cg>u<CR><cr>=coc#on_enter()<CR>"

ahora selecciono presionando ctrl + fin

información relacionada