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.vim
y 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.vim
configuració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