Estoy usando el ejemplo vimrc dado en README.md.
La pregunta es, cuando no hay ningún candidato para completar y el cursor está al final de una palabra, al tocar la pestaña no se obtiene ningún resultado.
En mi opinión, el comportamiento ideal para este caso debería ser mover el cursor a la siguiente posición de pestaña, además de buscar candidatos de finalización en una lista vacía.
Creo que esto es causado por
inoremap <silent><expr> <TAB>
\ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<TAB>" :
\ coc#refresh()
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
en una configuración de vimrc dada
¿Cómo puedo solucionarlo sin cambiar el comportamiento normal cuando la lista de candidatos para completar no está vacía? ¡Gracias!
debe mover el cursor a la siguiente posición de pestaña.
¿Qué significa la siguiente posición de pestaña?
El cursor al final de una palabra no significa que la solicitud de finalización devolvería resultados vacíos, a veces lo es.
debe mover el cursor a la siguiente posición de pestaña.
¿Qué significa la siguiente posición de pestaña?
Significa insertar un carácter de tabulación.
Estoy usando el ejemplo vimrc dado en README.md.
Creo que esto es causado por
...
En efecto. Consulte esta página wiki: https://github.com/neoclide/coc.nvim/wiki/Completion-with-sources#improve -completion-experience
inoremap <silent><expr> <TAB>
\ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<TAB>" :
\ coc#refresh()
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
El código anterior debería hacer que funcione de la manera deseada.
Cuando comento esa línea de vimrc, obtengo el comportamiento que describiste. Reasigna la pestaña a la pestaña cuando no hay ninguna ventana de finalización abierta.
El ejemplo en Léame es para la finalización del desencadenante cuando hay un carácter de palabra antes, pero lo que necesita no es desencadenar la finalización, por lo que debe crear su propio mapa de teclas para <Tab>
.
inoremap <silent><expr> <TAB> \ pumvisible() ? "\<C-n>" : \ <SID>check_back_space() ? "\<TAB>" : \ coc#refresh() inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>" inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
El código anterior debería hacer que funcione de la manera deseada.
Cuando comento esa línea de vimrc, obtengo el comportamiento que describiste. Reasigna la pestaña a la pestaña cuando no hay ninguna ventana de finalización abierta.
Esto funciona. ¡Gracias @DzKaki !
Comentario más útil
Significa insertar un carácter de tabulación.
En efecto. Consulte esta página wiki: https://github.com/neoclide/coc.nvim/wiki/Completion-with-sources#improve -completion-experience
El código anterior debería hacer que funcione de la manera deseada.
Cuando comento esa línea de vimrc, obtengo el comportamiento que describiste. Reasigna la pestaña a la pestaña cuando no hay ninguna ventana de finalización abierta.