cancelar completa

11

Por lo general, insertar modo de finalización ( <C-n>) inserta la palabra correcta la primera vez que presiono <C-n>, pero no siempre. Por lo tanto, me gustaría que Vim inserte la coincidencia que considere mejor cuando presiono <C-n>, pero aún así me permite cancelar esta inserción si la coincidencia correcta no aparece o queda muy lejos en la lista.

Por supuesto, podría codificar este comportamiento, pero tengo la sensación de que debería haber una clave estándar (combinación) para hacer esto. ¿Podría alguien señalarme en la dirección correcta?

Pregunta adicional: ¿hay otra tecla que pueda usar para obtener la coincidencia más larga (como era antes de golpear <C-n>)?

Por lo que vale, estoy usando completeopt=menu

Octavour
fuente
1
¿Es ctrl-ulo que estás buscando?
statox
No, ctrl-u parece eliminar toda la línea. Estoy buscando una combinación que solo elimine el texto que se insertó presionando ctrl-n.
Octaviour
Mi primer pensamiento fue "¿no funciona la tecla de cancelación habitual aquí?", Luego me di cuenta de que era emacs. ¡Hace solo unos días de aprendizaje hace años que me corrompió, me bañaré en un río sagrado y me purificaré!
sundar - Restablecer Monica

Respuestas:

13

De :h complete_CTRL-E:

                                                        * complete_CTRL-E *
Cuando la finalización está activa, puede usar CTRL-E para detenerla y volver a
Texto escrito originalmente. El CTRL-E no se insertará.

Además, si, por ejemplo, escribe aentonces ^Py obtiene una lista muy larga, puede presionar ^N para volver a su texto original con la ventana emergente de finalización aún activa. Luego puede escribir caracteres adicionales para reducir la lista de finalización.

Antonio
fuente
Eso era precisamente lo que estaba buscando. No me había dado cuenta de que ctrl-p también me llevaría de vuelta a la entrada original. Gracias.
Octavio el
2
@Octaviour, creo que ctrl-p generalmente es más útil que ctrl-n, porque busca la coincidencia más cercana antes (en lugar de después) donde se encuentra. Entonces, si acaba de escribir una palabra, ctrl-p le mostrará rápidamente la misma palabra si necesita repetirla (por ejemplo, usando la misma variable nuevamente en el código)
Shahbaz
Sí, escribí ^Ppor costumbre exactamente por esa razón.
Antony