stringtranslate.com

Editor de texto

Los editores como Leafpad , que se muestra aquí, a menudo se incluyen en los sistemas operativos como una aplicación auxiliar predeterminada para abrir archivos de texto.

Un editor de texto es un tipo de programa informático que edita texto sin formato . Un ejemplo de este tipo de programa es el software de " bloc de notas " (por ejemplo, el Bloc de notas de Windows ). [1] [2] [3] Los editores de texto se proporcionan con los sistemas operativos y los paquetes de desarrollo de software, y se pueden utilizar para cambiar archivos como archivos de configuración , archivos de documentación y código fuente del lenguaje de programación . [4]

Texto simple y texto enriquecido

Existen diferencias importantes entre el texto simple (creado y editado por editores de texto) y el texto enriquecido (como el creado por procesadores de texto o software de autoedición ).

El texto simple consiste exclusivamente en la representación de caracteres. Cada carácter se representa mediante una secuencia de longitud fija de uno, dos o cuatro bytes, o como una secuencia de longitud variable de uno a cuatro bytes, de acuerdo con convenciones de codificación de caracteres específicas , como ASCII , ISO/IEC 2022 , Shift JIS , UTF-8 o UTF-16 . Estas convenciones definen muchos caracteres imprimibles, pero también caracteres no imprimibles que controlan el flujo del texto, como el espacio , el salto de línea y el salto de página . El texto simple no contiene otra información sobre el texto en sí, ni siquiera la convención de codificación de caracteres empleada. El texto simple se almacena en archivos de texto , aunque los archivos de texto no almacenan exclusivamente texto simple. Desde los primeros días de las computadoras, el texto simple se mostraba (antes por necesidad y ahora por convención) generalmente usando una fuente monoespaciada , de modo que la alineación horizontal y el formato de columnas a veces se realizaban usando caracteres de espacio en blanco.

El texto enriquecido, por otro lado, puede contener metadatos, datos de formato de caracteres (por ejemplo, tipo de letra, tamaño, grosor y estilo ), datos de formato de párrafo (por ejemplo, sangría, alineación, distribución de letras y palabras, y espacio entre líneas u otros párrafos) y datos de especificación de página (por ejemplo, tamaño, margen y dirección de lectura). El texto enriquecido puede ser muy complejo. El texto enriquecido se puede guardar en formato binario (por ejemplo, DOC ), archivos de texto que se adhieran a un lenguaje de marcado (por ejemplo, RTF o HTML ) o en una forma híbrida de ambos (por ejemplo, Office Open XML ).

Los editores de texto están diseñados para abrir y guardar archivos de texto que contengan texto simple o cualquier cosa que pueda interpretarse como texto simple, incluido el marcado para texto enriquecido o el marcado para otra cosa (por ejemplo, SVG ).

Historia

Una caja de tarjetas perforadas que contiene varios conjuntos de programas.

Antes de que existieran los editores de texto, el texto de las computadoras se perforaba en tarjetas con máquinas perforadoras . [5] Luego, las cajas físicas de estas delgadas tarjetas de cartón se insertaban en un lector de tarjetas . Los archivos de imagen de tarjetas de cinta magnética , tambor y disco creados a partir de tales mazos de tarjetas a menudo no tenían caracteres de separación de línea en absoluto y asumían registros de longitud fija [a] de 80 o 90 caracteres [6] . [7] Una alternativa a las tarjetas era la cinta perforada . Podía ser creada por algunos teleimpresores (como el Teletipo), que usaban caracteres especiales para indicar el final de los registros. [8] Algunos de los primeros sistemas operativos incluían editores de texto por lotes, ya sea integrados con procesadores de lenguaje o como programas de utilidad separados; un ejemplo temprano fue la capacidad de editar archivos fuente SQUOZE para SCAT [9] en el sistema operativo SHARE .

Los primeros editores de texto interactivos eran "editores de línea" orientados a terminales de tipo teleimpresor o máquina de escribir sin pantalla. Los comandos (a menudo una sola pulsación de tecla) efectuaban ediciones a un archivo en un punto de inserción imaginario llamado "cursor". Las ediciones se verificaban escribiendo un comando para imprimir una pequeña sección del archivo y, periódicamente, imprimiendo el archivo completo. En algunos editores de línea, el cursor podía moverse mediante comandos que especificaban el número de línea en el archivo, cadenas de texto (contexto) que buscar y, finalmente, expresiones regulares . Los editores de línea fueron mejoras importantes con respecto a la perforación de teclas. Algunos editores de línea podían usarse mediante perforación de teclas; los comandos de edición podían tomarse de una baraja de cartas y aplicarse a un archivo específico. Algunos editores de línea comunes admitían un modo de "verificación" en el que los comandos de cambio mostraban las líneas alteradas.

Cuando estuvieron disponibles las terminales de computadora con pantallas de video, aparecieron los editores de texto basados ​​en pantalla (a veces llamados simplemente "editores de pantalla").se volvió común. Uno de los primeros editores de pantalla completa fue O26 , que fue escrito para la consola del operador de las computadoras de la serie CDC 6000 en 1967. Otro editor de pantalla completa temprano fue vi . Escrito en la década de 1970, todavía es un editor estándar [10] en los sistemas operativos Unix y Linux . También escrito en la década de 1970 fue el UCSD Pascal Screen Oriented Editor, que fue optimizado tanto para código fuente sangrado como para texto general. [11] Emacs , uno de los primeros proyectos de software libre y de código abierto , es otro editor temprano de pantalla completa o en tiempo real, que fue portado a muchos sistemas. [12] El Commodore PET de 1977 fue el primer ordenador de mercado masivo en presentar un editor de pantalla completa. La facilidad de uso y la velocidad de un editor de pantalla completa (en comparación con los editores basados ​​en líneas) motivaron muchas compras tempranas de terminales de video. [13]

La estructura de datos principal de un editor de texto es la que administra la cadena (secuencia de caracteres) o lista de registros que representa el estado actual del archivo que se está editando. Si bien la primera se podía almacenar en una única matriz larga y consecutiva de caracteres, el deseo de editores de texto que pudieran insertar texto, eliminar texto y deshacer/rehacer ediciones anteriores más rápidamente condujo al desarrollo de estructuras de datos de secuencia más complicadas. [14] Un editor de texto típico utiliza un buffer de espacios , una lista enlazada de líneas (como en PaperClip ), una tabla de piezas o una cuerda como su estructura de datos de secuencia.

Tipos de editores de texto

Emacs, un editor de texto popular entre los programadores, que se ejecuta en Microsoft Windows
gedit es un editor de texto que viene con GNOME

Algunos editores de texto son pequeños y simples, mientras que otros ofrecen funciones amplias y complejas. Por ejemplo, los sistemas operativos Unix y similares tienen el editor pico (o una variante), pero muchos también incluyen los editores vi y Emacs. Los sistemas Microsoft Windows vienen con el sencillo Bloc de notas , aunque muchas personas, especialmente programadores, prefieren otros editores con más funciones. Bajo el clásico Mac OS de Apple Macintosh estaba el nativo TeachText reemplazado más tarde por SimpleText en 1994, que fue reemplazado en Mac OS X por TextEdit , que combina características de un editor de texto con las típicas de un procesador de textos como reglas, márgenes y selección de fuentes múltiples. Estas características no están disponibles simultáneamente, sino que deben cambiarse mediante un comando del usuario, o mediante el programa que determina automáticamente el tipo de archivo .

La mayoría de los procesadores de texto pueden leer y escribir archivos en formato de texto simple, lo que les permite abrir archivos guardados desde editores de texto. Sin embargo, guardar estos archivos desde un procesador de texto requiere asegurarse de que el archivo esté escrito en formato de texto simple y que cualquier configuración de codificación de texto o BOM no oculte el archivo para su uso previsto. Los procesadores de texto que no son WYSIWYG , como WordStar , se utilizan más fácilmente como editores de texto y, de hecho, se usaron comúnmente como tales durante la década de 1980. El formato de archivo predeterminado de estos procesadores de texto a menudo se asemeja a un lenguaje de marcado, con el formato básico siendo texto simple y el formato visual logrado usando caracteres de control no imprimibles o secuencias de escape . Los procesadores de texto posteriores como Microsoft Word almacenan sus archivos en formato binario y casi nunca se usan para editar archivos de texto simple. [15]

Algunos editores de texto pueden editar archivos inusualmente grandes, como archivos de registro o una base de datos completa colocada en un solo archivo. Los editores de texto más simples pueden simplemente leer archivos en la memoria principal de la computadora . Con archivos más grandes, este puede ser un proceso lento y es posible que no quepa todo el archivo. Algunos editores de texto no permiten que el usuario comience a editar hasta que se complete esta lectura. El rendimiento de edición también suele verse afectado en editores no especializados, ya que el editor tarda segundos o incluso minutos en responder a las pulsaciones de teclas o los comandos de navegación. Los editores especializados tienen optimizaciones como almacenar solo la parte visible de los archivos grandes en la memoria, lo que mejora el rendimiento de edición.

Algunos editores son programables, lo que significa, por ejemplo, que se pueden personalizar para usos específicos. Con un editor programable es fácil automatizar tareas repetitivas o añadir nuevas funciones o incluso implementar una nueva aplicación dentro del marco del editor. Un motivo común para la personalización es hacer que un editor de texto utilice los comandos de otro editor de texto con el que el usuario está más familiarizado, o duplicar la funcionalidad faltante de la que el usuario ha llegado a depender. Los desarrolladores de software a menudo utilizan personalizaciones del editor adaptadas al lenguaje de programación o al entorno de desarrollo en el que están trabajando. La programabilidad de algunos editores de texto se limita a mejorar la funcionalidad de edición básica del programa, pero Emacs se puede ampliar mucho más allá de la edición de archivos de texto: para navegar por la web, leer correo electrónico, chatear en línea, administrar archivos o jugar juegos y, a menudo, se lo considera un entorno de ejecución Lisp con una interfaz de usuario de texto . Emacs incluso se puede programar para emular Vi , su rival en las tradicionales guerras de editores de la cultura Unix . [16] [17]

Un grupo importante de editores programables utiliza REXX [b] como lenguaje de programación. Estos "editores ortodoxos" contienen una "línea de comandos" en la que se pueden escribir comandos y macros y líneas de texto en las que se pueden escribir comandos de línea [c] y macros. La mayoría de estos editores son derivados de ISPF/PDF EDIT o de XEDIT , el editor insignia de IBM para VM/SP a z/VM . Entre ellos se encuentran THE , KEDIT , X2, Uni-edit y SEDIT .

Un editor de texto escrito o personalizado para un uso específico puede determinar lo que el usuario está editando y ayudarlo, a menudo completando términos de programación y mostrando información sobre herramientas con documentación relevante. Muchos editores de texto para desarrolladores de software incluyen resaltado de sintaxis de código fuente y sangría automática para que los programas sean más fáciles de leer y escribir. Los editores de programación a menudo permiten al usuario seleccionar el nombre de un archivo de inclusión , función o variable y luego saltar a su definición. Algunos también permiten una navegación fácil de regreso a la sección original del código almacenando la ubicación inicial del cursor o mostrando la definición solicitada en una ventana emergente o un búfer temporal. Algunos editores implementan esta capacidad ellos mismos, pero a menudo se utiliza una utilidad auxiliar como ctags para ubicar las definiciones.

Características típicas

Funciones avanzadas

Editores especializados

Algunos editores incluyen características especiales y funciones adicionales, por ejemplo,

Los editores programables generalmente se pueden mejorar para realizar alguna o todas estas funciones, pero los editores más simples se centran en solo una o, como gPHPedit , están dirigidos a un solo lenguaje de programación.

Véase también

Notas

  1. ^ A finales de la década de 1960, ya existían editores que admitían registros de longitud variable.
  2. ^ Originalmente, las macros se escribían en ensamblador, CLIST ( TSO ), CMS EXEC ( VM ), EXEC2 (VM/SE) o PL/I , pero la mayoría de los usuarios abandonaron CLIST, EXEC y EXEC2 una vez que REXX estuvo disponible.
  3. ^ Un comando de línea es un comando que se escribe en el área de entrada de números de secuencia asociada con una línea de texto específica y cuyo alcance está limitado a esa línea o, en el caso de un comando de bloque, asociado con el bloque de líneas entre los comandos de línea inicial y final. Un ejemplo de esto último sería escribir el comando ucc (bloque en mayúsculas) en las áreas de entrada de dos líneas; esto tiene el mismo efecto que escribir uc (mayúsculas) en el área de entrada de cada línea del rango.

Referencias

  1. ^ H. Albert Napier; Ollie N. Rivers; Stuart Wagner (2005). Cómo crear un negocio electrónico exitoso. Cengage Learning. pág. 330. ISBN 1111796092.
  2. ^ Peter Norton; Scott H. Clark (2002). Peter Norton's New Inside the PC. Sams Publishing. pág. 54. ISBN 0672322897.
  3. ^ L. Gopalakrishnan; G. Padmanabhan; Sudhat Shukla (2003). Su PC de casa: Cómo sacar el máximo partido a su ordenador personal. Tata McGraw-Hill Education . pág. 190. ISBN 0070473544.
  4. ^ "Los mejores editores de texto gratuitos para Windows, Linux y Mac". 28 de abril de 2012. Todos los sistemas operativos vienen con un editor de texto básico predeterminado, pero la mayoría de nosotros instalamos nuestros propios editores de texto mejorados para obtener más funciones.
  5. ^ Louden, Kenneth C.; Lambert, Kenneth A. (26 de enero de 2011). Lenguajes de programación: principios y prácticas. Cengage Learning. pág. 5. ISBN 978-1-133-38749-7.
  6. ^ "UNIVAC 90-COLUMN PUNCHED 'CARD-TO-MAGNETIC TAPE CONVERTER" (PDF) . Sistema de automatización de datos UNIVAC II (PDF) . Remington-Rand Univac Division of Sperry Rand Corporation. 1957. p. 246 . Consultado el 16 de diciembre de 2022 .,
  7. ^ Alavudeen, A.; Venkateshwaran, N. (18 de agosto de 2008). Fabricación integrada por computadora. PHI Learning Pvt. Ltd. pág. 180. ISBN 978-81-203-3345-1.
  8. ^ Upton, Eben; Duntemann, Jeffrey; Roberts, Ralph; Mamtora, Tim; Everard, Ben (22 de agosto de 2016). Aprendiendo arquitectura informática con Raspberry Pi. John Wiley & Sons. págs. 232–234. ISBN 978-1-119-18394-5.
  9. ^ "Modificar y cargar" (PDF) . Manual de referencia de SOS (PDF) . IBM . Noviembre de 1959 [Distribución n.º 1 publicada en 1959]. pág. 05.01.01 . Consultado el 15 de diciembre de 2022 .
  10. ^ "Especificaciones básicas de The Open Group, número 6, IEEE Std 1003.1, edición 2004". El IEEE y The Open Group. 2004. Consultado el 18 de enero de 2010 .
  11. ^ L. Bowles, Kenneth; Hollan, James (1 de julio de 1978). "Una introducción al sistema PASCAL de la UCSD". Métodos de investigación del comportamiento . 10 (4): 531–534. doi : 10.3758/BF03205341 .
  12. ^ "Presentación del entorno de edición Emacs". IBM . Archivado desde el original el 2014-06-06 . Consultado el 2014-06-06 .
  13. ^ "Multics Emacs: Historia, diseño e implementación". Algunos usuarios de Multics adquirieron estos terminales..., utilizándolos como "teletipos de cristal" o mediante "edición local".
  14. ^ Charles Crowley. "Estructuras de datos para secuencias de texto". Sección "Introducción".
  15. ^ "Editores de texto para programadores: herramientas de programación". Si abre un archivo .doc en un editor de texto, notará que la mayor parte del archivo son códigos de formato. Sin embargo, los editores de texto no agregan códigos de formato, lo que facilita la compilación del código.
  16. ^ "Guía de migración caótica de Vim a Emacs' Evil". juanjoalvarez.net . 19 de septiembre de 2014.
  17. ^ "Gitorius". Archivado desde el original el 28 de mayo de 2015 . Consultado el 27 de mayo de 2015 .
  18. ^ "Buscando". Manual de usuario de Notepad++ . Consultado el 21 de diciembre de 2021 .
  19. ^ Philipp Acsany. "Elegir la mejor fuente de codificación para programar". 2023.

Enlaces externos