Articulo de referencia

vi (editor de texto)

vi (pronunciado como dos letras, / ˌ v iː ˈ aɪ / ⓘ ) [ 1 ] es un editor de texto orientado a la pantallacreado originalmente para el Unix . El subconjunto portable del comportam...

vi (pronunciado como dos letras, / ˌ v ˈ / ) [ 1 ] es un editor de textoorientado a la pantallacreado originalmente para elUnix. El subconjunto portable del comportamiento de vi y los programas basados ​​en él, y elexcompatible dentro de estos programas, está estandarizado por laEspecificación Única de UnixyPOSIX. [ 2 ]

vi es en realidad un modo del editor ex anterior . Originalmente, ex carecía de capacidad de edición a pantalla completa, pero en 1976, Bill Joy lo mejoró para admitir un modo visual. El programa se actualizó para iniciarse en modo visual cuando se ejecutaba con el comando vien lugar del modo heredado cuando se ejecutaba mediante el excomando. De esta manera, ex y vi son el mismo programa, no dos programas distintos. [ 3 ] El ex 1.1 de Joy se lanzó como parte de la primera versión de Berkeley Software Distribution (BSD) Unix en marzo de 1978. No fue hasta la versión 2.0 de ex, lanzada como parte de Second BSD en mayo de 1979, que el editor se instaló con el nombre "vi", que llevaba al usuario directamente al modo visual de ex. [ 4 ]

Algunas implementaciones de vi remontan su código fuente al trabajo de Bill Joy. Otras son clones completamente nuevos y en gran medida compatibles.

El nombre "vi" proviene de la abreviatura más corta e inequívoca del comando ex visual, que cambia el editor de líneas ex al modo de pantalla completa.

Además de varias variantes de software no libre de vi distribuidas con implementaciones propietarias de Unix, vi se liberó como código abierto con OpenSolaris , y existen varios clones de vi de software libre y de código abierto . Una encuesta realizada en 2009 a los lectores de Linux Journal reveló que vi era el editor de texto más utilizado entre los encuestados, superando a gedit , el segundo editor más utilizado, por casi el doble (36% frente a 19%). [ 5 ]

Historia

Creación

Bill Joy , el creador original del editor vi, en 2003

vi se derivó de una secuencia de editores de línea de comandos de UNIX, comenzando con ed , que era un editor de línea diseñado para funcionar bien en teletipos , en lugar de terminales de visualización . Dentro de Bell Labs , donde se originó ed, la gente parecía estar contenta con un editor tan básico y poco amigable como ed, recuerda George Coulouris : [ 6 ]

Durante muchos años, no contaron con terminales adecuados. Siguieron utilizando terminales de texto (TTY) y otros terminales de impresión durante mucho tiempo, y cuando finalmente compraron pantallas para todos, adquirieron pantallas Tektronix 4014. Estas eran pantallas de gran capacidad con tubos de almacenamiento . No se puede ejecutar un editor de pantalla en una pantalla de este tipo, ya que la imagen no se puede actualizar. Por lo tanto, fue necesario que otros fueran los pioneros en la edición de pantallas para Unix, y fuimos nosotros inicialmente, y continuamos haciéndolo durante muchos años.

Coulouris consideraba que los crípticos comandos de ed solo eran adecuados para "inmortales", por lo que en febrero de 1976 mejoró ed (usando el código fuente de ed de Ken Thompson como punto de partida) para crear em (el "editor para mortales" [ 7 ] ) mientras ejercía como profesor en el Queen Mary College . [ 6 ] El editor em fue diseñado para terminales de visualización y era un editor visual de una línea a la vez. Fue uno de los primeros programas en Unix en hacer un uso intensivo del "modo de entrada de terminal sin procesar", en el que el programa en ejecución, en lugar del controlador del dispositivo de terminal, manejaba todas las pulsaciones de teclas. Cuando Coulouris visitó la UC Berkeley en el verano de 1976, llevó una cinta DECtape que contenía em y mostró el editor a varias personas. Algunos consideraron que este nuevo tipo de editor podría consumir muchos recursos, pero otros, incluido Bill Joy , quedaron impresionados. [ 6 ]

Inspirados por em y por sus propios ajustes a ed, [ 3 ] Bill Joy y Chuck Haley, ambos estudiantes de posgrado en UC Berkeley , tomaron código de em para crear en, [ 3 ] [ 8 ] y luego "extendieron" en para crear ex versión 0.1. [ 3 ] Después de la partida de Haley, Bruce Englar animó a Joy a rediseñar el editor, [ 9 ] lo cual hizo de junio a octubre de 1977 agregando un modo visual de pantalla completa a ex [ 10 ] que llegó a ser vi. [ 11 ]

vi y ex comparten su código; vi es el binario de ex que se ejecuta con la capacidad de mostrar el texto que se está editando en una terminal de computadora ; es el modo visual de ex. [ 11 ] El nombre vi proviene del comando abreviado de ex ( vi) para entrar en el modo visual desde dentro del mismo. El comando completo para hacer lo mismo era visual, [ 11 ] [ 12 ] y el nombre vi se explica como una contracción de visual en literatura posterior. vies también el comando de shell para ejecutar ex/vi en el modo visual directamente, desde dentro de un shell . [ 11 ]

Según Joy, muchas de las ideas de este modo visual se tomaron de Bravo , el editor de texto bimodal desarrollado en Xerox PARC para el Alto . En una entrevista sobre los orígenes de vi, Joy dijo: [ 3 ]

Muchas de las ideas para el modo de edición de pantalla las robé de un manual de Bravo que consulté a escondidas y copié. El punto es en realidad el doble escape de Bravo, el comando de rehacer. Casi todo fue robado. También tomamos algunas cosas de ed ; conseguimos una página del manual de la versión de Toronto de ed, en la que creo que Rob Pike tuvo algo que ver. Sacamos algunas de las extensiones de expresiones regulares de ahí.

Diseño del teclado del terminal ADM-3A

Joy utilizó un terminal Lear Siegler ADM-3A . En este terminal, la tecla Escape se encontraba en la ubicación que ahora ocupa la tecla Tab en el teclado del popular IBM PC (en el lado izquierdo de la parte alfabética del teclado, una fila por encima de la fila central). Esto lo convertía en una opción conveniente para cambiar de modo vi. Además, las teclas h , j , k y l cumplían una doble función como teclas de movimiento del cursor y estaban marcadas con flechas, razón por la cual vi las utiliza de esa manera. El ADM-3A no tenía otras teclas de cursor. Joy explicó que los comandos concisos de un solo carácter y la capacidad de escribir antes de que apareciera en pantalla eran consecuencia del lento módem de 300 baudios que utilizó durante el desarrollo del software, y que quería ser productivo cuando la pantalla se actualizaba más lentamente de lo que podía pensar. [ 8 ]

Distribución

Joy fue responsable de crear la primera versión de BSD Unix en marzo de 1978 e incluyó ex 1.1 (con fecha del 1 de febrero de 1978) [ 13 ] en la distribución, exponiendo así su editor a un público más allá de la UC Berkeley . [ 14 ] A partir de esa versión de BSD Unix , los únicos editores que venían con el sistema Unix eran ed y ex. En una entrevista de 1984, Joy atribuyó gran parte del éxito de vi al hecho de que se distribuía gratuitamente, mientras que otros editores, como Emacs , podían costar cientos de dólares. [ 3 ]

Finalmente se observó que la mayoría de los usuarios de ex pasaban todo el tiempo en modo visual, por lo que en ex 2.0 (lanzado como parte de la Segunda Distribución de Software de Berkeley en mayo de 1979), Joy creó vi como un enlace directo a ex, [ 15 ] de modo que al invocarlo como vi, ex se iniciara automáticamente en su modo visual. Por lo tanto, vi no es la evolución de ex, vi es ex.

Joy describió ex 2.0 (vi) como un programa muy grande, apenas capaz de caber en la memoria de un PDP-11/70 , [ 16 ] por lo que, aunque vi pueda considerarse un programa pequeño y ligero hoy en día, no se veía así al principio de su historia. Para la versión 3.1, distribuida con 3BSD en diciembre de 1979, la versión completa de vi ya no cabía en la memoria de un PDP-11; [ 17 ] el editor también sería demasiado grande para ejecutarse en PC/IX para el IBM PC en 1984. [ 18 ]

Joy continuó siendo el desarrollador principal de vi hasta la versión 2.7 en junio de 1979, [ 9 ] [ 19 ] e hizo contribuciones ocasionales al desarrollo de vi hasta al menos la versión 3.5 en agosto de 1980. [ 19 ] Al hablar sobre los orígenes de vi y por qué interrumpió el desarrollo, Joy dijo: [ 3 ]

Ojalá no hubiéramos usado todas las teclas del teclado. Creo que una de las cosas interesantes es que vi es realmente un editor basado en modos . Creo que, como editor basado en modos, es bastante bueno. Sin embargo, una de las ventajas de EMACS es su programabilidad y la ausencia de modos. Son dos ideas que nunca se me ocurrieron. Tampoco era muy bueno optimizando código cuando escribí vi. Creo que el módulo de redisplay del editor es casi inmanejable. Hace un trabajo realmente bueno para lo que hace, pero cuando estás escribiendo programas mientras aprendes... Por eso dejé de trabajar en él.

Lo que realmente sucedió fue que estaba en el proceso de agregar ventanas múltiples a vi cuando instalamos nuestro VAX , lo cual habría sido en diciembre del 78. No teníamos copias de seguridad y la unidad de cinta se averió. Continué trabajando incluso sin poder hacer copias de seguridad. Luego, el código fuente se comprimió y no tenía una lista completa. Casi había reescrito todo el código de visualización de las ventanas, y fue entonces cuando me di por vencido. Después de eso, volví a la versión anterior, simplemente documenté el código, terminé el manual y lo cerré. Si no se hubiera producido esa compresión, vi tendría ventanas múltiples, y tal vez habría incluido alguna función de programación, pero no lo sé.

El problema fundamental de vi es que no tiene ratón y, por lo tanto, tiene todos estos comandos. En cierto modo, es lo contrario de lo que se esperaría de un programa orientado al ratón. Creo que tener varios niveles de deshacer también sería estupendo. Pero, en esencia, vi sigue siendo ed por dentro. No se le puede engañar.

Es como una de esas piñatas: tienen caramelos dentro, pero encima están cubiertas con capas y capas de papel maché. No tiene un concepto unificado. Creo que si pudiera volver atrás, no volvería, sino que empezaría de nuevo.

En 1979, [ 3 ] Mary Ann Horton asumió la responsabilidad de vi. Horton agregó soporte para teclas de flecha y de función, macros y mejoró el rendimiento reemplazando termcap con terminfo . [ 9 ] [ 20 ]

Puertos y clones

El editor vi en OpenBSD ( nvi ) al iniciar, edita un archivo vacío temporal.
El editor vi en OpenBSD , editando un pequeño programa Ruby del tipo "¡Hola, mundo!"

Hasta la versión 3.7 de vi, creada en octubre de 1981, [ 19 ] UC Berkeley fue el hogar de desarrollo de vi, pero con la partida de Bill Joy a principios de 1982 para unirse a Sun Microsystems , y el UNIX System V de AT&T (enero de 1983) adoptando vi, [ 21 ] los cambios en la base de código de vi ocurrieron más lentamente y de una manera más dispersa y mutuamente incompatible. En UC Berkeley, se hicieron cambios pero el número de versión nunca se actualizó más allá de 3.7. Los proveedores comerciales de Unix, como Sun, HP , DEC e IBM, recibieron copias del código fuente de vi, y sus sistemas operativos, Solaris , HP-UX , Tru64 UNIX y AIX , continuaron manteniendo versiones de vi directamente descendientes de la versión 3.7, pero con características añadidas como asignaciones de teclas ajustables, cifrado y soporte para caracteres anchos.

En 1983, vi era una de las varias herramientas UNIX disponibles para el sistema operativo UNOS de Charles River Data Systems bajo licencia de Bell Laboratories . [ 22 ]

Aunque los vendedores comerciales podían trabajar con el código fuente de Bill Joy, muchas personas no podían. Debido a que Joy había comenzado con el editor ed de Ken Thompson , ex y vi eran obras derivadas y no podían distribuirse excepto a personas que tuvieran una licencia de código fuente de AT&T. Quienes deseaban un editor gratuito de estilo Unix tendrían que buscar en otro lugar. Para 1985, una versión de Emacs ( MicroEMACS ) estaba disponible para una variedad de plataformas, pero no fue hasta junio de 1987 que STEVIE (ST Editor for VI Enthusiasts), un clon limitado de vi, apareció para el Atari ST . [ 23 ] [ 24 ] A principios de enero de 1990, Steve Kirkendall publicó un nuevo clon de vi, Elvis , en el grupo de noticias de Usenet comp.os.minix, con el objetivo de crear un clon de vi más completo y más fiel que STEVIE. [ 25 ] Rápidamente atrajo un considerable interés en varias comunidades de entusiastas. [ 26 ] Andrew Tanenbaum pidió rápidamente a la comunidad que decidiera sobre uno de estos dos editores para que fuera el clon de vi en Minix ; [ 27 ] Elvis fue elegido y sigue siendo el clon de vi para Minix en la actualidad.

En 1989, Lynne Jolitz y William Jolitz comenzaron a portar BSD Unix para que funcionara en procesadores de la clase 386 , pero para crear una distribución libre necesitaban evitar cualquier código contaminado por AT&T, incluido el vi de Joy. Para llenar el vacío dejado por la eliminación de vi, su distribución 386BSD de 1992 adoptó Elvis. Los descendientes de 386BSD, FreeBSD y NetBSD , hicieron lo mismo. Pero en UC Berkeley, Keith Bostic quería un reemplazo "compatible error por error" para el vi de Joy para 4.4BSD-Lite. Usando el Elvis de Kirkendall (versión 1.8) como punto de partida, Bostic creó nvi , lanzándolo en la primavera boreal de 1994. [ 28 ] Cuando FreeBSD y NetBSD resincronizaron la base de código 4.4-Lite2, también cambiaron al nvi de Bostic, que continúan usando hoy en día. [ 28 ]

A pesar de la existencia de clones de vi con conjuntos de características mejoradas, en algún momento antes de junio de 2000, [ 29 ] Gunnar Ritter portó el código fuente de vi de Joy (tomado de 2.11BSD, febrero de 1992) a sistemas operativos modernos basados ​​en Unix, como Linux y FreeBSD. Inicialmente, su trabajo era técnicamente ilegal para distribuir sin una licencia de código fuente de AT&T, pero, en enero de 2002, esas reglas de licencia se flexibilizaron, [ 30 ] permitiendo la distribución legal como un proyecto de código abierto. Ritter continuó haciendo pequeñas mejoras al código fuente de vi similares a las realizadas por proveedores comerciales de Unix que aún usaban el código fuente de Joy, incluyendo cambios requeridos por el estándar POSIX.2 para vi. Su trabajo está disponible como Vi tradicional. [ 31 ]

Si bien el editor vi de Joy volvió a estar disponible para BSD Unix, llegó después de que las distintas versiones de BSD se hubieran decantado por nvi, que ofrecía varias mejoras respecto al vi tradicional y eliminaba algunas de sus características heredadas (como el modo abierto para editar línea por línea). Por lo tanto, BSD Unix, donde se originó el código fuente de vi de Joy, ya no lo utiliza, y son las versiones de Unix derivadas de AT&T , que en sus inicios carecían del editor de Joy, las que ahora utilizan y mantienen versiones modificadas de su código.

Usar

vi se convirtió en el editor estándar de facto de Unix y en uno de los favoritos de los hackers fuera del MIT hasta el auge de Emacs después de 1984 aproximadamente. [ 32 ] La Especificación Única de UNIX especifica vi, por lo que todo sistema conforme debe tenerlo.

vi sigue siendo ampliamente utilizado por los usuarios de la familia de sistemas operativos Unix. Aproximadamente la mitad de los encuestados en una encuesta de USENET de 1991 prefirieron vi. [ 33 ] En 1999, Tim O'Reilly , fundador de la editorial de libros de informática homónima, afirmó que su empresa vendió más copias de su libro sobre vi que de su libro sobre Emacs. [ 34 ]

Experiencia de usuario

El editor vi empleaba una lógica mínima para ayudar al usuario. Esto incluía ayudas sencillas, como la forma de unir dos líneas y mantener un uso razonable de los espacios en blanco.
El editor vi ha tenido varias revisiones; sin embargo, su propósito principal era permitir al usuario disfrutar del modo de pantalla "visual" completo de los terminales modernos.

vi es un editor modal: funciona en modo de inserción (donde el texto escrito se convierte en parte del documento) o en modo de comandos (donde las pulsaciones de teclas se interpretan como comandos que controlan la sesión de edición). Por ejemplo, escribir ien modo de comandos cambia el editor a modo de inserción, pero escribir de nuevo en este punto inserta un carácter "i" en el documento. Desde el modo de inserción, al pulsar se vuelve a cambiar el editor a modo de comandos. Una ventaja percibida de la separación de los modos de entrada de texto y de comandos de vi es que tanto la edición de texto como las operaciones de comandos se pueden realizar sin necesidad de que el usuario retire las manos de la fila principal . Como los editores no modales suelen tener que reservar todas las teclas con letras y símbolos para la impresión de caracteres, cualquier comando especial para acciones distintas de añadir texto al búfer debe asignarse a teclas que no produzcan caracteres, como las teclas de función, o combinaciones de teclas modificadoras como , y con teclas normales. Además, vi tiene la propiedad de que la mayoría de las teclas normales están conectadas a algún tipo de comando para posicionar, modificar texto, buscar, etc., ya sea individualmente o en combinaciones de teclas. Muchos comandos se pueden escribir a ciegas sin usar ni . Otros tipos de editores generalmente requieren que el usuario mueva las manos de la fila principal al escribir a ciegas :iESCCtrlAltCtrlAlt

  • Utilizar el ratón para seleccionar texto, comandos o elementos de menú en un editor de interfaz gráfica de usuario (GUI) .
  • A las teclas de flecha o funciones de edición (Inicio / Fin o Teclas de función ).
  • Para ejecutar comandos utilizando teclas modificadoras junto con las teclas estándar de la máquina de escribir.

Por ejemplo, en vi, reemplazar una palabra se hace con el comando `texto de reemplazo` , que combina dos comandos independientes (cambiar y mover palabra) con una transición al modo de inserción y viceversa. El texto entre la posición del cursor y el final de la palabra se sobrescribe con el texto de reemplazo. Esta operación se puede repetir en otra ubicación escribiendo `texto de reemplazo` , de modo que la palabra que comienza en esa posición se reemplazará con el mismo texto de reemplazo.cwEscape.

Un libro de texto sobre interacción persona-ordenador señala en su primera página que "Una de las debilidades clásicas de la interfaz de usuario —contada y repetida por educadores de HCI de todo el mundo— es la falta de retroalimentación del editor vi al cambiar entre modos. Muchos usuarios cometieron el error de introducir datos estando en modo comando o de introducir un comando estando en modo entrada". [ 35 ]

Variantes

La pantalla de inicio de vi clone vim
Empuje
Vim (abreviatura de v i im proven) tiene muchas características adicionales en comparación con vi, incluyendo resaltado de sintaxis (programable) , compatibilidad con ratón, compatibilidad con GUI, modo visual y muchos comandos de edición nuevos y extendidos. Vim se incluye normalmente en una distribución de Linux [ 36 ] y en macOS . Vim proporciona un modo de compatibilidad con vi, en el que Vim es más compatible con vi que en otras circunstancias, aunque algunas características de vi, como el modo abierto, no están presentes en Vim, incluso en el modo de compatibilidad. [ 37 ] [ 38 ] Las características de Vim que no entran en conflicto con la compatibilidad con vi siempre están disponibles, independientemente de este modo. Vim se derivó de una adaptación de Stevie para Amiga . [ 39 ]
Elvis
Elvis es un clon gratuito de vi escrito por Steve Kirkendall. Introdujo varias características presentes ahora en otros clones de vi, como permitir que las teclas de cursor funcionen en modo de entrada. Fue el primero en proporcionar resaltado de sintaxis por colores (y en generalizar el resaltado de sintaxis a múltiples tipos de archivo). Elvis 1.x se utilizó como punto de partida para nvi , pero Elvis 2.0 añadió numerosas características, como múltiples búferes, ventanas, modos de visualización y esquemas de acceso a archivos. Elvis fue la versión estándar de vi incluida en Slackware Linux hasta el 13 de enero de 2020, cuando fue reemplazada por nvi debido a la compatibilidad de este último con UTF8, y sigue siendo la versión estándar en Kate OS y MINIX . La versión más reciente de Elvis es la 2.2, lanzada en octubre de 2003.
nvi
Una implementación del editor de texto ex/vi distribuido originalmente como parte de la distribución oficial final de Berkeley Software Distribution (4.4 BSD-Lite). [ 28 ] Esta es la versión de vi que se incluye en todas las distribuciones de código abierto basadas en BSD. Agrega historial de comandos y edición, autocompletado de nombres de archivo, múltiples búferes de edición y multiventana (incluyendo múltiples ventanas en el mismo búfer de edición). Más allá de la versión 1.79, de octubre de 1996, que es la versión estable recomendada, ha habido "versiones de desarrollo" de nvi, la más reciente de las cuales es la 1.81.6, de noviembre de 2007. [ 40 ] [ 41 ]
vil
Inicialmente derivado de una versión temprana de Microemacs en un intento por llevar el paradigma de edición multiventana/multibúfer de Emacs a los usuarios de vi, se publicó por primera vez en alt.sources de Usenet en 1991. Ofrece deshacer infinito, compatibilidad con UTF-8, funcionamiento multiventana/multibúfer, un lenguaje de expansión de macros, resaltado de sintaxis, funciones de lectura y escritura de archivos, y mucho más.
BusyBox
Incluye un pequeño clon de vi en su único archivo ejecutable que proporciona muchas utilidades de Linux.
Neovim
Una refactorización de Vim, a la que pretende reemplazar.

Véase también

Referencias

  1. Computerphile (9 de julio de 2018), EXTRA BITS GREP de ED y editores de texto - Computerphile – Computerphile , archivado del original el 18 de noviembre de 2021 , recuperado el 17 de abril de 2020
  2. IEEE y The Open Group (2013) ."vi  — editor de visualización orientado a pantalla (visual)", The Open Group Base Specifications Issue 7; IEEE Std 1003.1, 2013 Edition" . Archivado del original el 27 de noviembre de 2023. Recuperado el 15 de julio de 2013 .
  3. 1 2 3 4 5 6 7 8 "Entrevista con Bill Joy" . Archivado del original el 10 de febrero de 2012. Recuperado el 3 de junio de 2017 .
  4. "Segundo manual de distribución de software de Berkeley" . roguelife.org . Archivado del original el 4 de abril de 2016. Consultado el 27 de marzo de 2018 .
  5. Gray, James (1 de junio de 2009). "Premios Elección de los Lectores 2009" . Linux Journal . Archivado del original el 30 de noviembre de 2023. Recuperado el 22 de enero de 2010 .
  6. 1 2 3 Un cuarto de siglo de UNIX , por Peter H. Salus, Addison-Wesley 1994, páginas 139–142. (fragmento disponible en línea) Archivado el 10 de diciembre de 2018 en Wayback Machine
  7. "Código fuente para em" . coulouris.net . Febrero de 1976.
  8. 1 2 Vance, Ashlee (11 de septiembre de 2003). "El mayor regalo de Bill Joy al hombre : el editor vi" . The Register . Archivado del original el 13 de mayo de 2012. Recuperado el 30 de junio de 2012 . 
  9. 1 2 3 Joy, Bill. Manual de referencia (fuente original) . 4.4 BSD (con restricciones, no Lite). CSRG, UC Berkeley.(Véase la sección de Agradecimientos al final del archivo)
  10. "Ver fechas en los encabezados de derechos de autor, por ejemplo, código fuente 1.1" . minnie.tuhs.org .
  11. 1 2 3 4 "Historia y uso efectivo de Vim" . begriffs.com . Archivado del original el 16 de agosto de 2021. Recuperado el 27 de agosto de 2021 .
  12. Joy, William N. (noviembre de 1977) [noviembre de 1977]. "Resumen de comandos". Ex Reference Manual Versión 1.1 (PDF) . Berkeley, CA. pág. 8. Archivado (PDF) del original el 14 de abril de 2020. {{cite book}}: CS1 mantenimiento: falta el editor de ubicación ( enlace )
  13. "version.c, ex 1.1 código fuente" . minnie.tuhs.org . Archivado del original el 23 de febrero de 2023. Recuperado el 29 de noviembre de 2023 .
  14. "1BSD/READ_ME" (código fuente roff) . Archivado del original el 22 de febrero de 2023. Consultado el 29 de noviembre de 2023 .Formato: "Berkeley UNIX Software Tape" (PDF) . Archivado del original (PDF) el 18 de julio de 2011. Recuperado el 27 de diciembre de 2010 .
  15. "makefile, código fuente ex 2.0" . minnie.tuhs.org . Archivado del original el 24 de febrero de 2023. Consultado el 29 de noviembre de 2023 .
  16. "READ_ME" . Código fuente de ex 2.0 . Archivado del original el 24 de febrero de 2023. Consultado el 29 de noviembre de 2023 .
  17. "ex 3.1 código fuente" . Archivado del original el 25 de febrero de 2021. Recuperado el 30 de diciembre de 2010 .
  18. McMahon, Marilyn; Putnam, Robert (2 de abril de 1984). "Un primer vistazo a PC-IX" . InfoWorld . págs. 39–42 . Recuperado el 25 de febrero de 2016 . 
  19. 1 2 3 "Registro de cambios para vi, versiones 2.1–3.7" . minnie.tuhs.org . Archivado del original el 24 de diciembre de 2024. Recuperado el 29 de noviembre de 2023 .
  20. Joy, Bill. vi Manual de referencia (código fuente roff) . 4.4 BSD (con restricciones, no Lite). CSRG, UC Berkeley. Archivado del original el 8 de abril de 2023. Recuperado el 29 de noviembre de 2023 .(Véase la sección de Agradecimientos al final del archivo)
  21. Kenneth H. Rosen; Douglas A. Host; Rachel Klee (2006). UNIX: la referencia completa . McGraw-Hill Osborne Media. pág. 10. ISBN  978-0-07-226336-7.
  22. La guía del iniciado para el universo (PDF) . Charles River Data Systems, Inc. 1983. pág. 13. Archivado (PDF) del original el 25 de febrero de 2024. Recuperado el 10 de febrero de 2024 . 
  23. Thompson, Tim (26 de marzo de 2000). "Stevie" . Archivado del original el 2 de diciembre de 2023. Recuperado el 29 de diciembre de 2010 .
  24. Tim Thompson (28 de junio de 1987). "Un mini-vi para el ST" . Grupo de noticias : comp.sys.atari.st . Usenet: 129@glimmer.UUCP . Archivado del original el 2 de abril de 2023. Recuperado el 29 de diciembre de 2010 .  
  25. Steve Kirkendall (20 de abril de 1990). "Próximamente llegará un nuevo clon de vi: ELVIS" . Grupo de noticias : comp.editors . Usenet: 2719@psueea.UUCP . Archivado del original el 2 de abril de 2023. Consultado el 29 de diciembre de 2010 .  (Se analiza la publicación de enero en comp.os.minix y los objetivos de diseño)
  26. Usenet, varios grupos de noticias (comp.editors, comp.sys.*, comp.os.*), 1990
  27. Andrew S. Tanenbaum (18 de enero de 1990). "Elvis vs. Stevie" . Grupo de noticias : comp.os.minix . Usenet: 5133@ast.cs.vu.nl . Archivado del original el 15 de diciembre de 2024. Recuperado el 29 de diciembre de 2010 .  
  28. 1 2 3 Robbins, Arnold; Hannah, Elbert; Lamb, Linda (2008). «Capítulo 16: nvi: Nuevo vi» . Aprendiendo los editores vi y vim (7.ª ed.). O'Reilly Media, Inc. págs. 307–308 . ISBN   978-0-596-52983-3Archivado del original el 8 de agosto de 2008. Consultado el 7 de agosto de 2008 .
  29. Cambios archivados el 26 de diciembre de 2024 en el archivo de Wayback Machine , de Traditional Vi por Gunnar Ritter
  30. "Licencia Caldera para UNIX de 32 bits 32V y UNIX de 16 bits versiones 1, 2, 3, 4, 5, 6, 7" (PDF) . mckusick.com . Archivado (PDF) del original el 5 de marzo de 2024. Recuperado el 29 de noviembre de 2023 .
  31. "El vi tradicional" . SourceForge . 7 de marzo de 2013. Archivado del original el 24 de julio de 2023. Recuperado el 24 de julio de 2023 .
  32. Smith, TJ (4 de diciembre de 2001). "EMACS vs. vi: La interminable 'guerra santa' de los geeks"" . Linux.com . Archivado del original el 7 de noviembre de 2017 . Consultado el 30 de enero de 2018 .
  33. Raymond, Eric S. , ed. (1996). The New Hacker's Dictionary (3.ª ed.). MIT Press. ISBN  0-262-68092-0.
  34. "Archivo de Ask Tim" . O'Reilly. 21 de junio de 1999. Archivado del original el 11 de diciembre de 2005. Consultado el 14 de diciembre de 2005 .
  35. I. Scott MacKenzie (2013). Interacción persona-ordenador: una perspectiva de investigación empírica . Morgan Kaufmann, un sello editorial de Elsevier. pág. 1. ISBN  978-0-12-405865-1.
  36. ^ Vugt, Sander van (21 de noviembre de 2015). Comenzando la línea de comandos de Linux . Presione. pag. 75.ISBN  9781430268291.
  37. "Documentación de Vim: opciones" . vim.net/sourceforge.net. Archivado del original el 30 de enero de 2009. Consultado el 30 de enero de 2009 .
  38. "Documentación de Vim: inicio" . vim.net/sourceforge.net. Archivado del original el 1 de febrero de 2009. Consultado el 30 de enero de 2009 .
  39. ^ Bram Moolenaar (18 de abril de 2005). "Entrevista: Bram Moolenaar" . LinuxEXPRES (Entrevista) (en checo). Entrevistado por Lukáš Zapletal. págs. 21 y 22. Archivado desde el original el 6 de febrero de 2015 . Consultado el 5 de febrero de 2015 .  Español: Entrevista: Bram Moolenaar . Moolenaar.net . Archivado del original el 19 de septiembre de 2012. ¿VIM deriva de algún otro clon de VI o lo empezó desde cero? Empecé con Stevie. Era un clon de Vi para el ordenador Atari ST, adaptado a Amiga. Tenía bastantes problemas y no podía hacer todo lo que Vi podía, pero como el código fuente estaba disponible, pude solucionarlo yo mismo.
  40. Verdoolaege, Sven. "Versiones de desarrollo de nvi" . Archivado del original el 1 de mayo de 2024. Recuperado el 1 de enero de 2011 .
  41. Bostic, Keith. "Página principal del editor de Berkeley Vi" . Archivado del original el 5 de diciembre de 2006. Consultado el 1 de enero de 2011 .

Lecturas adicionales

  • Lamb, Linda; Arnold Robbins (1998). Learning the vi Editor (6.ª  ed.). O'Reilly & Associates, Inc. ISBN 978-1-56592-426-0.
  • Robbins, Arnold; Linda Lamb; Elbert Hannah (2008). Aprendiendo los editores vi y Vim, séptima edición . O'Reilly & Associates, Inc. ISBN 978-0-596-52983-3.
  • El Vi tradicional: código fuente para sistemas Unix modernos
  • Introducción a la edición de pantallas con Vi , por Mark Horton y Bill Joy
  • Página de inicio de los amantes de vi
  • Explicación de la edición modal con vi: "¿Por qué, oh POR QUÉ, esos #?@! locos usan vi?"
  • El código fuente original de ex (también conocido como vi) versiones 1.1, 2.2, 3.2, 3.6 y 3.7 portado a UNIX actual
Obtenido de " https://en.wikipedia.org/w/index.php?title=Vi_(text_editor)&oldid=1352898262 "