Coc.nvim: Problema al presionar el tabulador al final de una palabra

Creado en 16 mar. 2019  ·  5Comentarios  ·  Fuente: neoclide/coc.nvim

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!

question

Comentario más útil

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.

Todos 5 comentarios

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 !

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

lanox picture lanox  ·  3Comentarios

czepluch picture czepluch  ·  3Comentarios

MaskRay picture MaskRay  ·  3Comentarios

MacGuffinLife picture MacGuffinLife  ·  4Comentarios

rkulla picture rkulla  ·  3Comentarios