¿Cómo puedo hacer que la ventana de selección del corrector ortográfico me permita escribir mi propia corrección?

14

Al realizar la corrección ortográfica, la incrustación z=muestra una lista de selección, como se muestra a continuación.

seleccione correcto

Como puede ver la ortografía correcta; "ie" no se muestra como ninguna de las opciones. Me gustaría mejorar este menú, para que pueda simplemente escribir "ie" y presionar enter y reemplazarlo.

También sería bueno si, como parte del mismo paso, pudiera comenzar a escribir el nombre de una de las opciones presentadas y la pestaña compitiera con eso: mi mente funciona mejor para reemplazar palabras ingresando palabras en lugar de ingresar números.

Sospecho que esto debe hacerse con un complemento, pero no estoy seguro de que no sea solo una opción de configuración.

Lyndon White
fuente

Respuestas:

5

Mirar la spell_suggest()función en spell.cesto no parece posible con z=. Después de obtener y mostrar todas las sugerencias posibles, lo hace:

/* Ask for choice. */
selected = prompt_for_number(&mouse_used);

prompt_for_number()vive misc1.cy hace exactamente lo que esperaría que hiciera: solicita un número (ver también get_number()en el mismo archivo). Las asignaciones u otras entradas no están permitidas.


Una segunda opción es usar la "finalización" del hechizo de Vim a través de Ctrl x+ so Ctrl x+ Ctrl s1 en modo de inserción. Esto hace aproximadamente lo que quieres. Puede elegir entre las terminaciones con Ctrl ny Ctrl po las teclas de flecha, o escribir su propia mejora.

Puede usar el complemento supertab para hacer esto con su Tabclave. :help ins-completionTambién tiene una CleverTab()función que puede adaptar para esto.

Para obtener más información, consulte: :help ins-completion, :help i_CTRL-X_s


Finalmente, Vim tiene la spellsuggest()función, que devuelve una lista de sugerencias ortográficas:

:echo spellsuggest('hellz')
['hells', 'hello', 'hell', 'help', 'halls', 'heals', 'heels', 'hills', 'hulls', 'hell''s',
 'hellos', 'hell’s', 'held', 'helm', 'tell', 'well', 'bells', 'cells', 'dells', 'fells',
 'helot', 'helve', 'hertz', 'hilly', 'holly']

Puedes usar esta función para construir tu propia pantalla de sugerencia de hechizo.


Nota

1 : Tenga en cuenta que el uso Ctrl spuede no funcionar, ya que los documentos mencionan:

NOTA: CTRL-S suspende la visualización en muchos terminales Unix. Use 's' en su lugar. Escriba CTRL-Q para reanudar la visualización.

Si está usando gVim, usar Ctrl sdebería funcionar. O podría deshabilitar esto en su terminal con stty -ixon.

Martin Tournoij
fuente
3

Voy a expandir / consolidar la respuesta de @ quincy-bowers:

  1. No puede ingresar sus propias sugerencias desde la pantalla de sugerencias de hechizos.
  2. No tiene mucho sentido (en VIM) ingresar sus propias sugerencias desde la pantalla de sugerencias de hechizos.

VIM es un editor de texto. Como eso es lo que mejor hace, deja la edición para sí mismo. En otras palabras, la respuesta para cambiar una palabra mal escrita a su propia sugerencia personalizada simplemente presione enterpara descartar la lista de sugerencias y luego cambie la palabra a su ortografía correcta manualmente. ( ciwfunciona perfecto para eso).

Luego (como sugirió @ quincy-bowers) si desea que la ortografía correcta personalizada se muestre en las listas de sugerencias posteriores, escriba zgcuando el cursor esté sobre la palabra y se agregará a su diccionario de ortografía (consulte :help zgpara más detalles).

Sin embargo, después de decir todo eso, no ha impedido que las personas inteligentes que usan VIM encuentren alternativas (formas ilimitadas para desollar a un gato, dicen) y, por lo tanto, podría probar un complemento alternativo, por ejemplo, unite-spell-sugiere .

Sukima
fuente
Describir el flujo de trabajo actual es más un comentario que una respuesta. Aunque lo explicas bien.
Lyndon White
1
@Oxinabox tal vez estás buscando algo más en las líneas de: vim.org/scripts/script.php?script_id=4929 ¿tal vez?
Sukima
Sí, eso se parece mucho más a lo que estoy buscando.
Lyndon White
2

Sin agregar complementos, puede agregar una buena palabra conocida a su archivo de ortografía. En lugar de z=mostrar las sugerencias de ortografía, seleccione visualmente el texto que desea agregar al archivo de ortografía y presione zg.

También debo tener en cuenta que desde la ventana de sugerencia de hechizo puede usar el mouse para seleccionar el que desee, siempre que haya habilitado el mouse para el modo NORMAL. He set mouse=aconfigurado mi .vimrc, por ejemplo, que habilita el mouse en todos los modos, ya sea que esté en Vim o gVim.

No creo que las otras cosas que quieres puedan lograrse sin un complemento o cambiando el propio Vim.

Quincy Bowers
fuente
1
Todos estos son consejos útiles, pero no veo cómo responden la pregunta.
Martin Tournoij
@Carpetsmoker Podría decir lo mismo sobre tu propia respuesta. Le dije que no era posible y le ofrecí un cambio de flujo de trabajo como posible solución. Justo como lo hiciste.
Quincy Bowers
1
@MartinTournoij Esta respuesta en realidad da una solución al problema: necesita incluir una nueva palabra > zg ejecuta dicha inclusión .
nilon