Elvis es un clon mejorado del editor de texto vi , lanzado por primera vez en enero de 1990. Introdujo varias características nuevas, incluido el resaltado de sintaxis y soporte integrado para ver documentos nroff y HTML . Elvis está escrito por Steve Kirkendall y se distribuye bajo la Licencia Artística Clarificada (ClArtistic) que utiliza Perl y es una licencia de software libre compatible con GPL .
Elvis es la versión de vi que viene con Slackware , Frugalware y KateOS .
Elvis fue el clon vi pionero, ampliamente admirado en la década de 1990 por su concisión y sus muchas características. [2] [3] Influyó en el desarrollo de Vim hasta aproximadamente 1997. [4] [5]
Fue el primero en proporcionar resaltado de sintaxis en color (y en generalizar el resaltado de sintaxis a múltiples tipos de archivos), el primero en proporcionar selecciones resaltadas mediante el teclado.
Las pantallas HTML nroff (tempranas) y (posteriores) integradas de Elvis le dieron características WYSIWYG inusuales.
Elvis también reconoce archivos binarios y proporciona una pantalla dividida para editarlos.
Está disponible jelvis , una variante japonesa, basada en el trabajo de Jun-ichiro itojun Hagino hasta 1998. [6] Su trabajo más reciente en esta área se ha distribuido como parches contra nvi . También está disponible una variante coreana de Helvis, originalmente de Park Chong-Dae. [7] [8] Estas variantes fueron modificaciones de elvis 1.8 (10 de julio de 1994). [9] El editor nvi está basado en una versión anterior de elvis 1.5 (2 de abril de 1992). [10]
Elvis es un clon mejorado de vi. Para comprender el contexto completo en el que se creó Elvis, los lectores deben considerar la historia de vi . En esta sección examinamos casi exclusivamente el historial de versiones de Elvis.
Steve Kirkendall publicó la primera versión de Elvis en el grupo de noticias de Usenet comp.os.minix a principios de enero de 1990, con la intención de que fuera un clon más completo y fiel de Vi que el Stevie de Tim Thompson (editor ST para entusiastas de VI), lanzado hace tres años. previamente. [11] [12] Kirkendall describió varias formas en las que Elvis era diferente de Stevie, a saber:
- El texto se almacena en un archivo temporal, como el vi real y a diferencia de stevie. Debido a esto, puede editar archivos que sean más grandes que el espacio de datos de un solo proceso. Además, puede recuperar su archivo después de un fallo o corte de energía.
- Las teclas de flecha funcionan en modo de entrada. De hecho, si invoca el editor mediante el nombre "entrada", comenzará a editar en modo de entrada. Puedes hacer tus cambios y luego salir presionando Control-Z dos veces y NUNCA entrar en el modo de comando visual. En otras palabras, elvis puede actuar de forma muy parecida a un editor normal , algo que el verdadero vi ciertamente no puede hacer.
- Las líneas largas se muestran de manera diferente. Donde vi y stevie envuelven la línea en varias filas de la pantalla, elvis la muestra en una fila y le permite desplazarse hacia los lados.
Además, en Elvis casi todos los comandos ex/vi funcionaron (excepto :@, :abbr y :preserve en modo ex y @ en modo visual y agregando a buffers con nombre). [13]
Rápidamente atrajo un interés considerable en varias comunidades de entusiastas. [14] Andrew Tanenbaum rápidamente pidió a la comunidad que decidiera que uno de estos dos editores sería el clon de vi en Minix ; [15] Elvis fue elegido y sigue siendo el clon vi de Minix en la actualidad.
En 1989, Lynne Jolitz y William Jolitz comenzaron a portar BSD Unix para ejecutarlo en procesadores de clase 386, pero para crear una distribución gratuita necesitaban evitar cualquier código contaminado por AT&T, incluido el vi de Bill Joy . Para llenar el vacío dejado al eliminar vi, su distribución 386BSD de 1992 adoptó a Elvis como su reemplazo. Pero en UC Berkeley, Keith Bostic quería un reemplazo “compatible con errores” para el vi de Joy para BSD 4.4 Lite. Utilizando Elvis de Kirkendall (versión 1.8) como punto de partida, Bostic creó nvi y lo lanzó en la primavera de 1994. [16]
En agosto de 1994, Kirkendall anunció que estaba trabajando en una reescritura importante de Elvis, [17] y en octubre de 1996 estaba lista para su lanzamiento. [18] La nueva versión tenía una serie de características nuevas, incluyendo
En diciembre de 1998, Kirkendall lanzó Elvis 2.1, [19] con funciones adicionales, incluida la finalización de nombres mediante la tecla <Tab>, protocolos de red (que permiten leer/escribir a través de URL web) y un modo de visualización "tex". Kirkendall mantuvo la versión 2.1 con correcciones de errores y mejoras menores como 2.1_1, 2.1_2, 2.1_3 y que culminó en 2.1_4, lanzada en octubre de 1999. [20]
En octubre de 2003, cuatro años después del lanzamiento anterior, Kirkendall lanzó Elvis 2.2, [21] que agregó una serie de características nuevas, incluido un corrector ortográfico integrado sensible al contexto, plegado de texto , resaltado de regiones y protocolos de URL definibles por el usuario. . Además, adoptó una serie de ideas de Vim .