Como un usuario experimentado Vi que sabrá que no son principalmente dos aspectos clave que lo hacen diferente a los demás (vis UAL) editores: - modos de entrada Esc y : las formas más comunes de cambiar entre ellos - mapa de teclado contextual, donde múltiples pulsaciones de teclas acumulan un comando
que han visto un número de personas que añadir un subconjunto de las asignaciones de teclado de Vi a un editor existente, y si bien es posible hacer un mapa de forma sensata, obtener una emulación probablemente requerirá un reemplazo bastante extenso del manejo del teclado de un editor existente.
Por supuesto, las asignaciones de teclado están bastante bien documentadas, por lo que no debería ser demasiado difícil de implementar.
Lo siguiente sería implementar el modo de comando. Depende de qué editor está modificando para implementar esto, pero me imagino cambiando el foco a un widget/control permanente en la parte inferior. Una vez que el foco está en ese control, puede manejar fácilmente la entrada y luego analizar y procesar el comando cuando se presiona return.
La sintaxis básica del modo comando se hereda de los editores ed/sed para que pueda buscar implementaciones (o documentos) sobre eso.
En general, no es un trabajo masivo para obtener una implementación superficial que se parece mucho a vi. Pero hacerlo bien es otro asunto. Sugeriría que consideres seriamente usar el excelente Vim (http://www.vim.org/).
Suena como su respuesta a su propia pregunta en su pregunta a mí. ;) – Almo
@ Almo, =). Sí, pasé mucho tiempo tratando de encontrar implementaciones simples existentes. Con suerte, otras personas podrían llegar a mejores tutoriales que los míos. ;-) – sivabudh