Editor de texto

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Los editores como Leafpad, que se muestran aquí, a menudo se incluyen con sistemas operativos como una aplicación de ayuda predeterminada para abrir archivos de texto.

Un editor de texto es un tipo de programa informático que edita texto sin formato. Dichos programas a veces se conocen como "bloc de notas" software (por ejemplo, el Bloc de notas de Windows). Los editores de texto se proporcionan con sistemas operativos y paquetes de desarrollo de software, y se pueden usar para cambiar archivos como archivos de configuración, archivos de documentación y código fuente del lenguaje de programación.

Texto sin formato y texto enriquecido

Existen diferencias importantes entre el texto sin formato (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 sin formato consiste exclusivamente en la representación de caracteres. Cada carácter está representado por 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 espacios, saltos de línea y saltos de página. El texto sin formato no contiene ninguna otra información sobre el texto en sí, ni siquiera la convención de codificación de caracteres empleada. El texto sin formato se almacena en archivos de texto, aunque los archivos de texto no almacenan exclusivamente texto sin formato. Desde los primeros días de las computadoras, el texto sin formato (una vez por necesidad y ahora por convención) generalmente se mostraba usando una fuente monoespaciada, de modo que la alineación horizontal y el formato en 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 (p. ej., tipo de letra, tamaño, peso y estilo), datos de formato de párrafo (p. ej., 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 (p. ej., DOC), archivos de texto que se adhieren a un lenguaje de marcado (p. ej., RTF o HTML) o en una forma híbrida de ambos (p. ej., Office Open XML).

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

Historia

Una caja de tarjetas perforadas con varias cubiertas del programa.

Antes de que existieran los editores de texto, el texto de la computadora se perforaba en tarjetas con máquinas perforadoras. Luego se insertaron cajas físicas de estas delgadas tarjetas de cartón en un lector de tarjetas. Los archivos de imágenes de cintas magnéticas, tambores y tarjetas de disco creados a partir de dichas barajas de tarjetas a menudo no tenían ningún carácter de separación de líneas y asumían registros de 80 o 90 caracteres de longitud fija. Una alternativa a las tarjetas fue la cinta perforada. Podría ser creado por algunas teleimpresoras (como el Teletipo), que usaban caracteres especiales para indicar los extremos de los registros. Algunos de los primeros sistemas operativos incluían editores de texto por lotes, integrados con procesadores de lenguaje o como programas de utilidad separados; uno de los primeros ejemplos fue la capacidad de editar archivos fuente SQUOZE para SCAT en el sistema operativo SHARE.

Los primeros editores de texto interactivos fueron "editores de línea" orientado a terminales estilo teleimpresora o máquina de escribir sin pantallas. Los comandos (a menudo, una sola pulsación de tecla) realizaban ediciones en un archivo en un punto de inserción imaginario llamado "cursor". Las ediciones se verificaron 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 se podía mover 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 se pueden usar con teclado; los comandos de edición se pueden tomar de una baraja de cartas y aplicar a un archivo específico. Algunos editores de línea comunes admitían un "verificar" Modo en el que los comandos de cambio muestran las líneas alteradas.

Cuando las terminales de computadora con pantallas de video estuvieron disponibles, los editores de texto basados en pantalla (a veces llamados simplemente "editores de pantalla") se hizo común. Uno de los primeros editores de pantalla completa fue O26, que se escribió para la consola del operador de las computadoras de la serie CDC 6000 en 1967. Otro de los primeros editores de pantalla completa fue vi. Escrito en la década de 1970, sigue siendo un editor estándar en los sistemas operativos Unix y Linux. También se escribió en la década de 1970 el editor orientado a pantalla Pascal de UCSD, que se optimizó tanto para el código fuente con sangría como para el texto general. Emacs, uno de los primeros proyectos de software libre y de código abierto, es otro de los primeros editores de pantalla completa o en tiempo real, uno que fue portado a muchos sistemas. 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 de las primeras compras de terminales de video.

La estructura de datos central en 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. Mientras que el primero podría almacenarse en una sola serie 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. Un editor de texto típico utiliza un búfer 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, corriendo en Microsoft Windows
gedit es un editor de texto enviado 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 a Unix tienen el editor pico (o una variante), pero muchos también incluyen los editores vi y Emacs. Los sistemas Microsoft Windows vienen con el Bloc de notas simple, aunque muchas personas, especialmente los programadores, prefieren otros editores con más funciones. Bajo el Mac OS clásico de Apple Macintosh, existía el TeachText nativo que luego fue reemplazado por SimpleText en 1994, que fue reemplazado en Mac OS X por TextEdit, que combina las características de un editor de texto con las típicas de un procesador de texto, como las reglas, Márgenes y selección de fuentes múltiples. Estas funciones 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 sin formato, lo que les permite abrir archivos guardados en 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 sin formato y que cualquier codificación de texto o configuración de BOM no oculte el archivo para el 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 usaban comúnmente como tales durante la década de 1980. El formato de archivo predeterminado de estos procesadores de texto a menudo se parece a un lenguaje de marcado, siendo el formato básico el texto sin formato y el formato visual logrado mediante 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 utilizan para editar archivos de texto sin formato.

Algunos editores de texto pueden editar archivos inusualmente grandes, como archivos de registro o una base de datos completa ubicada 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 la edición también sufre a menudo en los editores no especializados, ya que el editor tarda segundos o incluso minutos en responder a las pulsaciones de teclas oa 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 la edición.

Algunos editores son programables, lo que significa que, por ejemplo, se pueden personalizar para usos específicos. Con un editor programable es fácil automatizar tareas repetitivas o agregar 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 use 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 depende. Los desarrolladores de software a menudo usan personalizaciones del editor adaptadas al lenguaje de programación o al entorno de desarrollo en el que están trabajando. La capacidad de programación de algunos editores de texto se limita a mejorar la funcionalidad de edición principal del programa, pero Emacs se puede extender mucho más allá de la edición de archivos de texto, para la web. navegar, leer correos electrónicos, chatear en línea, administrar archivos o jugar juegos y, a menudo, se considera un entorno de ejecución Lisp con una interfaz de usuario de texto. Emacs puede incluso programarse para emular a Vi, su rival en las tradicionales guerras de editores de la cultura Unix.

Un grupo importante de editores programables utiliza REXX como lenguaje de secuencias de comandos. Estos "editores ortodoxos" contener una "línea de comando" en las que se pueden escribir comandos y macros y líneas de texto en las que se pueden escribir comandos de línea y macros. La mayoría de estos editores son derivados de ISPF/PDF EDIT o de XEDIT, el editor principal 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 ayudar al usuario, 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 sangrado automático para que los programas sean más fáciles de leer y escribir. Los editores de programación a menudo permiten que el usuario seleccione el nombre de un archivo de inclusión, una función o una variable y luego salte a su definición. Algunos también permiten una fácil navegación 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 usa una utilidad auxiliar como ctags para ubicar las definiciones.

Características típicas

  • Buscar y reemplazar – Los editores de texto proporcionan amplias instalaciones para buscar y reemplazar cadenas de texto, ya sea individualmente, o grupos de archivos en pestañas abiertas o una carpeta seleccionada. Los editores avanzados pueden usar expresiones regulares para buscar y editar texto o código. Otras características pueden incluir la sensibilidad de caso opcional, un historial de términos de búsqueda para la memoria rápida y la autocompleción, y enumerar múltiples resultados en un solo lugar.
  • Cortar, copiar y pegar – la mayoría de los editores de texto proporcionan métodos para duplicar y mover texto dentro del archivo, o entre archivos.
  • Capacidad para manejar el texto codificado UTF-8.
  • Formato de texto – Los editores de texto suelen proporcionar características de formato visual básica como envoltura de línea, auto-indentación, formato de lista de balas usando caracteres ASCII, formato de comentarios, resaltado de sintaxis y así sucesivamente. Estos son típicamente sólo para la visualización y no insertar códigos de formato en el propio archivo.
  • Deshacer y rehacer – Como con procesadores de palabras, los editores de texto proporcionan una manera de deshacer y rehacer la última edición, o más. A menudo —especialmente con los editores de texto más antiguos— sólo hay un nivel de historia de edición recordado y sucesivamente emitiendo el comando deshacer sólo "reducir" el último cambio. Los editores modernos o más complejos suelen proporcionar una historia de múltiples niveles, tal que la emisión del comando deshacer repetidamente revertirá el documento a ediciones sucesivas más antiguas. Un comando redo separado ciclo las ediciones "para adelante" hacia los cambios más recientes. El número de cambios recordados depende del editor y a menudo es configurable por el usuario.
  • Capacidad para saltar a un número de línea especificado.

Características avanzadas

  • Definición de Macro o procedimiento: definir nuevos comandos o características como combinaciones de comandos anteriores u otros macros, tal vez con parámetros pasados, o con anidación de macros.
  • Perfiles para retener las opciones establecidas por el usuario entre la sesión de edición.
  • Perfil macros con nombres especificados en, por ejemplo, entorno, perfil, ejecutado automáticamente al comienzo de una sesión de edición o al abrir un nuevo archivo.
  • Edición de archivos múltiples: la capacidad de editar múltiples archivos durante una sesión de edición, tal vez recordando el cursor de línea actual de cada archivo, para insertar texto repetido en cada archivo, copiar o mover texto entre archivos, comparar archivos de lado a lado (quizás con una interfaz de múltiples documentos de baldosas), etc.
  • Multi-view editors: la capacidad de mostrar múltiples vistas del mismo archivo, con seguimiento independiente del cursor, sincronizando cambios entre las ventanas pero proporcionando las mismas facilidades que están disponibles para archivos independientes.
  • Collapse/expand, también llamado plegado: la capacidad de excluir temporalmente secciones del texto desde la vista. Esto puede estar basado en una gama de números de línea o en algún elemento sintáctico, por ejemplo, excluyendo todo entre un BEGIN; y la coincidencia END;.
  • Edición basada en columnas; la capacidad de alterar o insertar datos en una columna en particular, o cambiar datos a columnas específicas.
  • Transformación de datos – Leer o fusionar el contenido de otro archivo de texto en el archivo que se está editando actualmente. Algunos editores de texto proporcionan una manera de insertar la salida de un comando emitido a la cáscara del sistema operativo. Además, una función de desplazamiento de casos podría traducirse en minúscula o mayúscula.
  • Filtración – Algunos editores de texto avanzados permiten al editor enviar todos o secciones del archivo que se editan a otra utilidad y leer el resultado de nuevo en el archivo en lugar de las líneas que se están "filtrando". Esto, por ejemplo, es útil para clasificar una serie de líneas alfabéticamente o numéricamente, haciendo cálculos matemáticos, indentando código fuente, etc.
  • Destacando sintaxis – contextualmente destaca el código fuente, lenguajes de marcado, archivos de configuración y otro texto que aparece en un formato organizado o predecible. Los editores generalmente permiten a los usuarios personalizar los colores o estilos utilizados para cada elemento de lenguaje. Algunos editores de texto también permiten a los usuarios instalar y utilizar temas para cambiar el aspecto y la sensación de toda la interfaz de usuario del editor.
  • Editores orientados a sintaxis - algunos editores tienen soporte para la sintaxis de uno o más idiomas, y permiten operaciones en términos de unidad sintáctica, por ejemplo, insertar un nuevo CUANDO cláusula en una SELECT declaración.
  • Extensibilidad - un editor de texto destinado a ser utilizado por los programadores debe proporcionar algún mecanismo de plugin, o ser scriptable, por lo que un programador puede personalizar el editor con características necesarias para gestionar proyectos de software individuales, personalizar funcionalidad o enlaces clave para lenguajes de programación específicos o sistemas de control de versiones, o ajustarse a estilos de codificación específicos.
  • La navegación del cursor puede variar a través de los editores de texto. Por ejemplo, presionar Final dos veces puede navegar hasta el final de una línea envuelta después de una prensa navegada hasta el final de una fila de texto en pantalla. Los terminales orientados a bloques suelen tener teclas de movimiento de cursor dedicadas, como los teclados en ordenadores personales.
  • Línea de comandos - algunos editores, por ejemplo, ISPF, XEDIT, tienen un campo dedicado en la pantalla para entrar comandos en lugar de texto. Dependiendo del editor, el usuario puede tener que utilizar teclas de cursor para cambiar entre el comando y los campos de texto o el editor puede interpretar, por ejemplo, teclas de función específicas como solicitudes para cambiar.
  • Comandos de línea, también conocidos como comandos de prefijo o comandos de secuencia - Algunos editores tratan un archivo como una serie de líneas de texto con números de línea asociados o números de secuencia, y tienen un campo de número de línea diferente para cada campo de texto. Un comando de línea es una cadena que el usuario escribe en un campo número de línea y que el editor reconoce como un comando que opera en esa línea o bloque específico de líneas, por ejemplo, LC traducir una línea al caso inferior, )3 cambiar un bloque derecho tres columnas. Algunos editores también soportan macros de línea, también conocidos como macros prefijos o macros de secuencia. A pesar del nombre prefijo comando, algunos editores permiten que el campo de secuencia aparezca después del campo de texto.

Editores especializados

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

  • Los editores de código fuente son editores de texto con funcionalidad adicional para facilitar la producción de código fuente. Estas características suelen incluir funciones de resaltado de sintaxis programables por el usuario y funciones de navegación de código, así como herramientas de codificación o macros de teclado similares a un editor HTML.
  • Editores plegables. Esta subclase incluye los llamados "redactores ortodoxos" que son derivados de Xedit. Los editores que implementan el plegado sin funciones específicas de programación se suelen llamar esbozos (ver abajo).
  • Los IDE (entornos integrados de desarrollo) están diseñados para gestionar y simplificar grandes proyectos de programación. Por lo general sólo se utilizan para la programación ya que contienen muchas características innecesarias para la edición sencilla de texto.
  • Mundial Los autores web se ofrecen una variedad de editores HTML dedicados a la tarea de crear páginas web. Estos incluyen: Dreamweaver, KompoZer y E Text Editor. Muchos ofrecen la opción de ver un trabajo en progreso en un motor de renderización HTML incorporado o navegador web estándar.
  • La mayoría del desarrollo web se realiza en un lenguaje de programación dinámico como Ruby o PHP utilizando un editor de código fuente o IDE. El HTML entregado por todos pero los sitios web estáticos más simples se almacena como archivos de plantilla individuales que son montados por el software que controla el sitio y no componen un documento HTML completo.
  • Los matemáticos, físicos y científicos informáticos suelen producir artículos y libros usando TeX o LaTeX en archivos de texto simples. Estos documentos son producidos a menudo por un editor de texto estándar, pero algunas personas utilizan editores especializados de TeX.
  • Alineadores. También se llama editor de árboles, porque combinan un árbol jerárquico con un editor de texto. El plegamiento (ver arriba) puede considerarse una forma especializada de esbozar.
  • Los editores colaborativos permiten a múltiples usuarios trabajar en el mismo documento simultáneamente desde lugares remotos a través de una red. Los cambios realizados por los usuarios individuales se rastrean y se fusionan en el documento automáticamente para eliminar la posibilidad de edición conflictiva. Estos editores también suelen incluir un componente de chat en línea para la discusión entre los editores.
  • Los editores libres de distracción proporcionan una interfaz minimalista con el propósito de aislar al escritor del resto de aplicaciones y sistema operativo, pudiendo así enfocarse en la escritura sin distracciones de elementos de interfaz como una barra de herramientas o área de notificación.

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

Contenido relacionado

TextoSimple

SimpleText es el editor de texto nativo para el sistema operativo Mac clásico de Apple. SimpleText permite editar y formatear texto fuentes y tamaños. Fue...

Sectorización dura

sectorización dura en un dispositivo de almacenamiento de datos ópticos o magnéticos es una forma de sectorización que utiliza una marca física o un...

Comunicaciones adaptables

Comunicaciones adaptativas puede significar cualquier sistema de comunicaciones, o parte del mismo, que utiliza automáticamente información de...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save