InglésFrancésEspañol

Ad


icono de página de OnWorks

exposix - Online en la nube

Ejecute exposix en el proveedor de alojamiento gratuito de OnWorks a través de Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando exposix que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


ex - editor de texto

SINOPSIS


ex [−rR] [−s | −v] [−c comando] [−t cadena de etiquetas] [−w tamaño] [presentar...]

DESCRIPCIÓN


El ex La utilidad es un editor de texto orientado a líneas. Hay otros dos modos del editor:
abierto y visual, en el que está disponible la edición orientada a la pantalla. Esto se describe más
completamente por el ex habiertos y visual comandos y en vi.

Si un operando es '-', los resultados no están especificados.

Esta sección usa el término editar buffer para describir el texto de trabajo actual. No específico
La implementación está implícita en este término. Todos los cambios de edición se realizan en la edición.
búfer, y ningún cambio afectará a ningún archivo hasta que un comando del editor escriba el
archivo.

Ciertos terminales no tienen todas las capacidades necesarias para admitir el ex
definición, como los comandos de edición de pantalla completa (visual modo or habiertos modo) Cuando
estos comandos no se pueden admitir en dichos terminales, esta condición no producirá un
mensaje de error como `` no es un comando de editor '' o informar un error de sintaxis. los
La implementación puede aceptar los comandos y producir resultados en la pantalla que son
el resultado de un intento fallido de cumplir con los requisitos de este volumen de
POSIX.1‐2008 o informe un error que describa la deficiencia relacionada con el terminal.

CAMPUS


El ex La utilidad deberá cumplir con el volumen de Definiciones Básicas de POSIX.1‐2008, Sección 12.2,
Utilidad Sintaxis Líneas directrices, excepto por el uso no especificado de '-', Y que '+' puede ser
reconocido como un delimitador de opciones, así como '-'.

Se admitirán las siguientes opciones:

−c comando
Especifique un comando inicial que se ejecutará en el primer búfer de edición cargado desde
un archivo existente (consulte la sección DESCRIPCIÓN EXTENDIDA). Las implementaciones pueden
soporta más de un solo −c opción. En tales implementaciones, el especificado
Los comandos se ejecutarán en el orden especificado en la línea de comandos.

−r Recupere los archivos nombrados (consulte la sección DESCRIPCIÓN EXTENDIDA). Recuperación
La información de un archivo se guardará durante una falla del editor o del sistema (por
ejemplo, cuando el editor termina con una señal que el editor puede captar),
o después del uso de un ex preservar mando.

A caída en este contexto es una falla inesperada del sistema o utilidad que
requiere reiniciar el sistema o la utilidad fallidos. Un fallo del sistema implica que
todas las utilidades que se estén ejecutando en ese momento también se bloquean. En el caso de un editor o sistema
crash, el número de cambios en el búfer de edición (desde el más reciente preservar
comando) que se recuperará no está especificado.

Si no es correcto presentar se dan los operandos y −t La opción no está especificada, todas las demás
opciones, el SALIR variable, y cualquier .exrc los archivos se ignorarán; una lista de
Se escribirán todos los archivos recuperables disponibles para el usuario que invoca, y
el editor se cerrará normalmente sin más acciones.

−R Set solo lectura opción de edición.

−s Preparar ex para uso por lotes tomando las siguientes acciones:

* Suprima las indicaciones de escritura y los mensajes informativos (pero no de diagnóstico).

* Ignore el valor de PLAZO y cualquier tipo de terminal predeterminado de implementación y
suponga que el terminal es de un tipo incapaz de admitir modos abiertos o visuales;
ver la visual comando y la descripción de vi.

* Suprimir el uso de SALIR variable de entorno y la lectura de cualquier
.exrc expediente; consulte la sección DESCRIPCIÓN EXTENDIDA.

* Suprime la autoindentación, ignorando el valor de la sangría automática opción de edición.

−t cadena de etiquetas
Edite el archivo que contiene el especificado cadena de etiquetas; ver etiquetas. La característica de las etiquetas
representado por −t cadena de etiquetas y del etiqueta El comando es opcional. Será
proporcionado en cualquier sistema que también proporcione una implementación conforme de etiquetas;
de lo contrario, el uso de −t produce resultados indefinidos. En cualquier sistema, será
un error para especificar más de una −t .

−v Comience en modo visual (consulte vi).

−w tamaño Establecer el valor del ventana opción de editor para tamaño.

OPERANDOS


Se admitirá el siguiente operando:

presentar Un nombre de ruta de un archivo que se va a editar.

ESTÁNDAR


La entrada estándar consta de una serie de comandos y texto de entrada, como se describe en la
Sección DESCRIPCIÓN EXTENDIDA. La implementación puede limitar cada línea de entrada estándar a
una longitud de {LINE_MAX}.

Si la entrada estándar no es un dispositivo terminal, será como si el −s la opción había sido
especificado.

Si una lectura de la entrada estándar devuelve un error, o si el editor detecta un final de
condición de archivo de la entrada estándar, será equivalente a un SIGHUP asincrónico
evento.

ENTRADA ARCHIVOS


Los archivos de entrada deben ser archivos de texto o archivos que serían archivos de texto, excepto por un
última línea que no tiene más de {LINE_MAX} −1 bytes de longitud y no contiene NUL
caracteres. Por defecto, cualquier última línea incompleta se tratará como si tuviera un final
. Opcionalmente, la edición de otras formas de archivos puede ser permitida por ex
implementaciones

El .exrc Los archivos y los archivos de origen deben ser archivos de texto que constan de ex comandos; ver el
Sección DESCRIPCIÓN EXTENDIDA.

De forma predeterminada, el editor leerá las líneas de los archivos que se van a editar sin interpretar
cualquiera de esas líneas como cualquier forma de comando del editor.

MEDIO AMBIENTE VARIABLES


Las siguientes variables de entorno afectarán la ejecución de ex:

COLUMNAS Anula el tamaño de pantalla horizontal seleccionado por el sistema. Ver las definiciones básicas
volumen de POSIX.1‐2008, Capítulo 8, Entorno Variables para valores válidos y
resulta cuando no está establecido o es nulo.

SALIR Determine una lista de ex comandos que se ejecutan al iniciar el editor. Ver el
Sección DESCRIPCIÓN EXTENDIDA para más detalles de la fase de inicialización.

INICIO Determine un nombre de ruta de un directorio en el que se buscará un inicio de editor.
hasta archivo llamado .exrc; consulte la sección DESCRIPCIÓN EXTENDIDA.

IDIOMA Proporcione un valor predeterminado para las variables de internacionalización que no están configuradas o
nulo. (Consulte el volumen de Definiciones básicas de POSIX.1‐2008, Sección 8.2,
Internacionalización Variables por la precedencia de la internacionalización
variables utilizadas para determinar los valores de las categorías de configuración regional).

LC_TODOS Si se establece en un valor de cadena no vacío, anule los valores de todos los demás
Variables de internacionalización.

LC_COLLATE
Determine la configuración regional para el comportamiento de rangos, clases de equivalencia y
elementos de recopilación de caracteres dentro de expresiones regulares.

LC_CTYPE Determinar la configuración regional para la interpretación de secuencias de bytes de datos de texto.
como caracteres (por ejemplo, de un solo byte en lugar de caracteres de varios bytes en
argumentos y archivos de entrada), el comportamiento de las clases de caracteres dentro
expresiones, la clasificación de caracteres en mayúsculas o minúsculas,
el caso de conversión de letras y la detección de límites de palabras.

LC_MENSAJES
Determine la configuración regional que se debe utilizar para afectar el formato y el contenido de
mensajes de diagnóstico escritos en error estándar.

LÍNEAS Anular el tamaño de pantalla vertical seleccionado por el sistema, utilizado como el número de líneas
en una pantalla completa y el tamaño de pantalla vertical en modo visual. Ver la base
Definiciones volumen de POSIX.1‐2008, Capítulo 8, Entorno Variables para valido
valores y resultados cuando no está establecido o es nulo.

NLSPATH Determinar la ubicación de los catálogos de mensajes para el procesamiento de LC_MENSAJES.

TRAYECTORIA Determine la ruta de búsqueda para el comando de shell especificado en el ex editor
comandos !, shell, leery escribir, y el comando de modo abierto y visual !; ver
la descripción de la búsqueda y ejecución de comandos en Sección 2.9.1.1, Comando
Buscar y Ejecución.

SHELL Determine el intérprete de línea de comando preferido para usar como valor predeterminado de
las shell opción de edición.

PLAZO Determine el nombre del tipo de terminal. Si esta variable no está definida o es nula, una
Se utilizará un tipo de terminal por defecto no especificado.

ASINCRÓNICO EVENTOS


El siguiente término se utiliza en esta y las siguientes secciones para especificar el comando y
acciones de eventos asincrónicos:

completar escribir
Una escritura completa es una escritura de todo el contenido del búfer de edición en un archivo.
de un tipo que no sea un dispositivo terminal, o el almacenamiento del búfer de edición provocó
por el usuario que ejecuta el ex preservar mando. Escribir el contenido de la edición.
búfer a un archivo temporal que se eliminará cuando el editor salga no debe
ser considerado una escritura completa.

Se tomarán las siguientes acciones al recibir señales:

SIGINT Si la entrada estándar no es un dispositivo terminal, ex no escribirá el archivo o
volver al modo de comando o entrada de texto, y saldrá con una salida distinta de cero
de estado.

De lo contrario, si ejecuta un comando de modo de entrada de texto abierto o visual, ex en recibo
de SIGINT se comportará de manera idéntica a su recepción de la personaje.

De otra manera:

1. Si ejecuta una ex comando del modo de entrada de texto, todas las líneas de entrada que se han
ingresado por completo se resolverá en el búfer de edición, y cualquier
La línea ingresada será descartada.

2. Si hay un comando en ejecución, se cancelará y aparecerá un mensaje
desplegado. A menos que se especifique lo contrario por el ex or vi descripciones de comandos,
no se especifica si aparecen líneas modificadas por el comando de ejecución
modificados, o como estaban antes de ser modificados por el comando de ejecución, en
el búfer.

Si el comando que se está ejecutando actualmente es un comando de movimiento, su
El comando se descartará.

3. Si está en modo de comando abierto o visual, se alertará al terminal.

4. El editor volverá entonces al modo de comando.

SIGCONT La pantalla se actualizará si está en modo abierto o visual.

SIGHUP Si el búfer de edición se ha modificado desde la última escritura completa, ex deberá
intente guardar el búfer de edición para poder recuperarlo más tarde utilizando el −r
opción o el ex recuperar mando. El editor no escribirá el archivo ni devolverá
al modo de comando o entrada de texto, y terminará con un estado de salida distinto de cero.

SIGTERM Consulte SIGHUP.

La acción tomada para todas las demás señales no está especificada.

SALIDA ESTÁNDAR


La salida estándar se utilizará solo para escribir mensajes para el usuario, con fines informativos.
mensajes y para escribir líneas desde el archivo.

ESTDERR


El error estándar se utilizará solo para mensajes de diagnóstico.

SALIDA ARCHIVOS


La salida de ex serán archivos de texto.

EXTENDIDO DESCRIPCIÓN


Solo el ex El modo del editor se describe en esta sección. Ver vi para edición adicional
capacidades disponibles en ex.

Cuando ocurre un error, ex Deberá escribir un mensaje. Si el terminal admite un modo sobresaliente
(como video inverso), el mensaje se escribirá en modo sobresaliente. Si la terminal
no admite un modo destacado y la opción de edición campanas de error está configurado, una acción de alerta
precederá al mensaje de error.

De forma predeterminada, ex se iniciará en modo comando, que se indicará mediante un : inmediato; ver
las puntual mando. El modo de entrada de texto se puede ingresar anexar, insertaro el cambio
comandos; se puede salir (y volver a ingresar al modo de comando) escribiendo un ('.') solo
al principio de una línea.

Inicialización in ex y vi
Los siguientes símbolos se utilizan en esta sección y en las siguientes para especificar ubicaciones en el
búfer de edición:

suplente y corriente nombres de ruta
Dos nombres de ruta, nombrados corriente y suplente, son mantenidos por el editor. Ningún ex
Los comandos que toman nombres de archivo como argumentos los establecerán de la siguiente manera:

1. Si un presentar argumento se especifica a la ex editar, exo recuperar comandos, o si
an ex etiqueta comando reemplaza el contenido del búfer de edición.

una. Si el comando reemplaza el contenido del búfer de edición, el actual
nombre de ruta se establecerá en el presentar argumento o el archivo indicado por la etiqueta,
y el nombre de ruta alternativo se establecerá en el valor anterior de la actual
nombre de ruta.

B. De lo contrario, el nombre de ruta alternativo se establecerá en el presentar argumento.

2. Si un presentar argumento se especifica a la ex Next mando:

una. Si el comando reemplaza el contenido del búfer de edición, el actual
el nombre de ruta se establecerá en el primer presentar argumento y el nombre de ruta alternativo
se establecerá en el valor anterior del nombre de ruta actual.

3. Si un presentar argumento se especifica a la ex presentar comando, el nombre de la ruta actual
se establecerá en el presentar argumento, y el nombre de ruta alternativo se establecerá en
el valor anterior del nombre de ruta actual.

4. Si un presentar argumento se especifica a la ex leer y escribir comandos (es decir, cuando
leer o escribir un archivo, y no al programa nombrado por el shell editar
opción), o una presentar argumento se especifica a la ex salir mando:

una. Si el nombre de la ruta actual no tiene ningún valor, el nombre de la ruta actual se establecerá en
las presentar argumento.

B. De lo contrario, el nombre de ruta alternativo se establecerá en el presentar argumento.

Si el nombre de ruta alternativo se establece en el valor anterior del nombre de ruta actual cuando
el nombre de ruta actual no tenía un valor anterior, entonces el nombre de ruta alternativo deberá tener
ningún valor como resultado.

corriente línea
La línea del búfer de edición a la que hace referencia el cursor. Descripción de cada comando
especifica la línea actual después de que se haya ejecutado el comando, ya que corriente línea
propuesta de. Cuando el búfer de edición no contiene líneas, la línea actual será cero; ver
Direccionamiento in ex.

corriente visión de conjunto
La columna de la línea de visualización actual ocupada por el cursor. (Las columnas serán
numerados comenzando en 1.) Cada descripción de comando especifica la columna actual
después de que se haya ejecutado el comando, ya que corriente visión de conjunto valor. Esta columna es una
ideal columna que se recuerda durante la vida del editor. La pantalla real
La columna de línea sobre la que descansa el cursor puede ser diferente de la columna actual;
ver la discusión de posicionamiento del cursor en Comando Descripción in vi.

set a no-
Una descripción de un valor de columna actual, lo que significa que la columna actual debe ser
establecido en la última columna de la línea de visualización en la que se muestra cualquier parte de la primera
no- de la línea. Si la línea no tiene no- caracteres,
la columna actual se establecerá en la última columna de la línea de visualización en la que se
muestra cualquier parte de la última no personaje en la línea. Si la linea es
vacío, la columna actual se establecerá en la posición de columna 1.

La longitud de las líneas en el búfer de edición puede estar limitada a {LINE_MAX} bytes. En abierto y
modo visual, la longitud de las líneas en el búfer de edición puede limitarse al número de
caracteres que encajarán en la pantalla. Si se excede alguno de los límites durante la edición,
Se escribirá un mensaje de error. Si una línea leída de un archivo excede cualquiera de los límites,
se escribirá un mensaje de error y se podrá terminar la sesión de edición.

Si el editor deja de ejecutarse por cualquier motivo que no sea un comando de usuario, y la edición
búfer ha sido modificado desde la última escritura completa, será equivalente a un SIGHUP
evento asincrónico. Si el sistema falla, será equivalente a un SIGHUP asincrónico
evento.

Durante la inicialización (antes de que el primer archivo se copie en el búfer de edición o cualquier usuario
se procesan los comandos del terminal) ocurrirá lo siguiente:

1. Si la variable de entorno SALIR está configurado, el editor ejecutará el ex comandos
contenida en esa variable.

2. Si el SALIR La variable no está establecida y todas las siguientes condiciones son verdaderas:

a. El INICIO La variable de entorno no es nula ni está vacía.

B. El archivo .exrc en el directorio al que hace referencia el INICIO Variable ambiental:

I. Existe

ii. Es propiedad del mismo ID de usuario que el ID de usuario real del proceso o del
el proceso tiene los privilegios adecuados

iii. No puede ser escrito por nadie más que el propietario.

el editor ejecutará el ex comandos contenidos en ese archivo.

3. Si y solo si se cumplen todas las condiciones siguientes:

una. El directorio actual no es referenciado por el INICIO Variable ambiental.

B. Un comando en el SALIR variable de entorno o un comando en el .exrc presentar en el
directorio al que hace referencia el INICIO la variable de entorno establece la opción del editor
exrc.

c. El .exrc archivo en el directorio actual:

I. Existe

ii. Es propiedad del mismo ID de usuario que el ID de usuario real del proceso, o de uno de
un conjunto de ID de usuario definidos por la implementación

iii. No puede ser escrito por nadie más que el propietario.

el editor intentará ejecutar el ex comandos contenidos en ese archivo.

Líneas en cualquier .exrc Los archivos que tengan líneas en blanco se ignorarán. Si alguna .exrc El archivo existe,
pero no se lee por motivos de propiedad o permiso, será un error.

Una vez que el SALIR variable y cualquier .exrc se procesan los archivos, el primer archivo especificado por
el usuario se editará de la siguiente manera:

1. Si el usuario especificó el −t opción, el efecto será como si el ex etiqueta el mando fue
ingresado con el argumento especificado, con la excepción de que si el procesamiento de etiquetas
no dar como resultado un archivo para editar, el efecto será como se describe en el paso 3. a continuación.

2. De lo contrario, si el usuario especificó alguna línea de comando presentar argumentos, el efecto será
como si el ex editar El comando se ingresó con el primero de esos argumentos como su presentar
argumento.

3. De lo contrario, el efecto será como si el ex editar El comando se ingresó con un
nombre de archivo inexistente como su presentar argumento. No se especifica si esta acción
establece el nombre de la ruta actual. En una implementación donde esta acción no establece el
nombre de ruta actual, cualquier comando del editor que utilice el nombre de ruta actual fallará hasta que
El comando editor establece el nombre de la ruta actual.

Si −r se especificó la opción, la primera vez que un archivo en la lista de argumentos inicial o un
archivo especificado por el −t se edita la opción, si la información de recuperación se ha
guardado al respecto, esa información se recuperará y el editor se comportará como si el
El contenido del búfer de edición ya se ha modificado. Si hay varias instancias de
archivo que se va a recuperar, se recuperará el que se haya guardado más recientemente, y
mensaje informativo de que hay versiones anteriores del archivo que se pueden recuperar
será escrito. Si no hay información de recuperación disponible sobre un archivo, una
Se escribirá un mensaje a tal efecto y la edición se realizará como de costumbre.

Si −c se especificó la opción, la primera vez que un archivo que ya existe (incluido un
archivo que puede no existir pero para el cual hay información de recuperación disponible, cuando el −r
se especifica la opción) reemplaza o inicializa el contenido del búfer de edición, el actual
línea se establecerá en la última línea del búfer de edición, la columna actual se establecerá en
no- , y el ex comandos especificados con el −c se ejecutará la opción. En esto
caso, la línea actual y la columna actual no se establecerán como se describe para el comando
asociado con la sustitución o inicialización del contenido del búfer de edición. Sin embargo, si
las −t opción o una etiqueta El comando está asociado con esta acción, el −c comandos de opciones
se ejecutará y luego se realizará el movimiento a la etiqueta.

La lista de argumentos actual se establecerá inicialmente con los nombres de archivo especificados por el usuario en
la línea de comando. Si el usuario no especifica ningún nombre de archivo, la lista de argumentos actual
estará vacío. Si el −t se especificó la opción, no se especifica si algún nombre de archivo
resultante del procesamiento de etiquetas se antepondrá a la lista de argumentos actual. En el caso
donde el nombre del archivo se agrega como prefijo a la lista de argumentos actual, el argumento actual
La referencia de lista se establecerá en ese nombre de archivo. En el caso de que no se agregue el nombre del archivo
como prefijo de la lista de argumentos actual, la referencia de la lista de argumentos actual deberá
estar ubicado lógicamente antes del primero de los nombres de archivo especificados en la línea de comando (por
ejemplo, una subsecuente ex Next El comando editará el primer nombre de archivo del comando
línea). Si el −t no se especificó la opción, la referencia de la lista de argumentos actual será para
el primero de los nombres de archivo en la línea de comando.

Direccionamiento in ex
Abordar en ex se relaciona con la línea actual y la columna actual; la dirección de una línea
es su número de línea basado en 1, la dirección de una columna es su recuento basado en 1 del
comienzo de la línea. Generalmente, la línea actual es la última línea afectada por un comando.
El número de línea actual es la dirección de la línea actual. En cada descripción de comando,
se describe el efecto del comando en el número de línea actual y la columna actual.

Las direcciones se construyen de la siguiente manera:

1. El personaje '.' (punto) abordará la línea actual.

2. El personaje PS se dirigirá a la última línea del búfer de edición.

3. El número decimal positivo n abordará el nla línea del búfer de edición.

4. La dirección "'X" se refiere a la línea marcada con el carácter del nombre de la marca 'X', cual
será una letra minúscula del juego de caracteres portátil, el carácter de comillas inversas,
o el carácter de comillas simples. Será un error si la línea que fue marcada no está
actualmente presente en el búfer de edición o la marca no se ha establecido. Las líneas se pueden marcar
con el ex marca or k comandos, o el vi m mando.

5. Una expresión regular encerrada por caracteres ("/") deberá abordar la primera línea
encontrado buscando hacia adelante desde la línea que sigue a la línea actual hacia el final de
el búfer de edición y se detiene en la primera línea para la que la línea excluyendo el
terminando coincide con la expresión regular. Como se indica en Regular Expresiones
in ex, una dirección que consta de una expresión regular nula delimitada por
caracteres ("//") abordará la siguiente línea para la cual la línea que excluye el
terminando coincide con la última expresión regular encontrada. Además,
el segundo se puede omitir al final de una línea de comando. Si el Wrapscan editar
está configurada la opción, la búsqueda se ajustará al principio del búfer de edición y
continuar hasta e incluyendo la línea actual, de modo que todo el búfer de edición sea
buscado. Dentro de la expresión regular, la secuencia "\ /" representará un literal
en lugar del delimitador de expresiones regulares.

6. Una expresión regular encerrada en caracteres ('?') abordará el
primera línea encontrada buscando hacia atrás desde la línea que precede a la línea actual
hacia el comienzo del búfer de edición y deteniéndose en la primera línea para la que el
línea excluyendo la terminación coincide con la expresión regular. Una dirección
que consta de una expresión regular nula delimitada por caracteres ("??")
se dirigirá a la línea anterior para la cual la línea excluyendo la terminación
coincide con la última expresión regular encontrada. Además, el segundo
mark> se puede omitir al final de una línea de comando. Si el Wrapscan la opción de edición está configurada,
la bsqueda se envolver desde el principio del bfer de edicin hasta el final de la
editar búfer y continuar hasta la línea actual incluida, de modo que toda la edición
se busca el búfer. Dentro de la expresión regular, la secuencia "\?" representará un
literal en lugar del delimitador RE.

7. A ('+') o un signo menos ('-') seguido de un número decimal deberá abordar
la línea actual más o menos el número. A '+' or '-' no seguido de un decimal
El número se dirigirá a la línea actual más o menos 1.

Las direcciones pueden ir seguidas de cero o más desplazamientos de direcciones, opcionalmente -apartado.
Las compensaciones de direcciones se construyen de la siguiente manera:

1. Un '+' or '-' seguido inmediatamente por un número decimal se sumará (restará) el
indica el número de líneas a (desde) la dirección. A '+' or '-' no seguido por un
El número decimal debe sumar (restar) 1 a (de) la dirección.

2. Un número decimal agregará el número indicado de líneas a la dirección.

No será un error que un valor de dirección intermedia sea menor que cero o mayor
que la última línea en el búfer de edición. Será un error que el valor final de la dirección
ser menor que cero o mayor que la última línea del búfer de edición.

Los comandos toman cero, una o dos direcciones; ver las descripciones de 1dir y 2dir in
Comando Descripción in ex. Si se proporciona más de la cantidad requerida de direcciones a
un comando que requiere direcciones cero, será un error. De lo contrario, si más del
Se proporciona el número requerido de direcciones a un comando, las direcciones se especifican primero
se evaluarán y luego se descartarán hasta que quede el número máximo de direcciones válidas.

Las direcciones deben estar separadas entre sí por un (',') o un (';').
Si no se especifica ninguna dirección antes o después de una o separador, será
como si la dirección de la línea actual se especificara antes o después del separador. En el
caso de un separador, la línea actual ('.') se establecerá en el primer
dirección, y solo entonces se calculará la siguiente dirección. Esta función se puede utilizar para
determinar la línea de salida para búsquedas hacia adelante y hacia atrás (ver reglas 5. y 6.).

A ('%') será equivalente a ingresar las dos direcciones "1, $".

Cualquier delimitación caracteres entre direcciones, separadores de direcciones o direcciones
las compensaciones se descartarán.

Comando línea Parsing in ex
El siguiente símbolo se utiliza en esta y las siguientes secciones para describir el comportamiento del análisis:

escapar Si se hace referencia a un personaje como '' -escapado '' o `` ‐V-
escapó '', significará que el carácter adquirió o perdió un significado especial
en virtud de estar precedidos, respectivamente, por un o ‐V
personaje. A menos que se especifique lo contrario, el carácter de escape se descartará.
en ese momento y no se considerará más para ningún propósito.

El análisis de la línea de comandos se realizará en los siguientes pasos. Para cada paso, los personajes
ya evaluados se ignorarán; es decir, la frase `` personaje principal '' se refiere a
el siguiente carácter que aún no ha sido evaluado.

1. Líder se omitirán los caracteres.

2. Líder se omitirán los caracteres.

3. Si el carácter principal es un carácter de comillas dobles, los caracteres hasta y
incluyendo el siguiente no -escapado será descartado, y cualquier
los caracteres siguientes se analizarán como un comando independiente.

4. Se evaluarán los caracteres iniciales que puedan interpretarse como direcciones; ver
Direccionamiento in ex.

5. Líder se omitirán los caracteres.

6. Si el siguiente carácter es un personaje o un :

una. Si el siguiente personaje es un :

I. Si ex está en modo abierto o visual, la línea actual se establecerá en la última
dirección especificada, si la hubiera.

ii. De lo contrario, si el ltimo comando fue terminado por un personaje,
no se tomará ninguna acción; por ejemplo, el comando "|| " deberá
ejecutar dos comandos implícitos, no tres.

iii. De lo contrario, paso 6.b. se aplicarán.

B. De lo contrario, el comando implícito será el Imprimir mando. El último #, py l
banderas especificadas a cualquier ex El comando será recordado y se aplicará a este
comando implícito. Ejecutando el ex número, Imprimiro lista El comando establecerá el
banderas recordadas a #, nada, y l, respectivamente, más cualquier otra bandera
especificado para esa ejecución de la número, Imprimiro lista mando.

If ex actualmente no está realizando un global or v comando, y sin dirección ni recuento
se especifica, la línea actual se incrementará en 1 antes de que el comando sea
ejecutado. Si incrementar la línea actual da como resultado una dirección más allá del
última línea en el búfer de edición, el comando fallará y el incremento no
suceder.

C. los o carácter se descartará y cualquier
los caracteres se analizarán como un comando independiente.

7. El nombre del comando estará compuesto por el siguiente carácter (si el carácter no es
alfabético), o el siguiente carácter y cualquier carácter alfabético subsiguiente (si el
el carácter es alfabético), con las siguientes excepciones:

una. Comandos que constan de cualquier prefijo de los caracteres en el nombre del comando borrar,
seguido inmediatamente por cualquiera de los personajes 'l', 'pag', '+', '-'o '#' será
interpretado como un borrar comando, seguido de un , seguido de los personajes
que no formaban parte del prefijo del borrar mando. El número máximo de
los caracteres deben coincidir con el nombre del comando borrar; por ejemplo, "del" deberá
no ser tratado como "Delaware" seguido de la bandera l.

B. Comandos que constan del personaje 'k', seguido de un carácter que puede ser
utilizado como el nombre de una marca, será equivalente al comando de marca seguido de un
, seguido del carácter que sigue al 'k'.

C. Comandos que constan del personaje 's', seguido de caracteres que podrían ser
interpretadas como opciones válidas para el s comando, será el equivalente de la s
comando, sin ningún patrón o valores de reemplazo, seguido de un ,
seguido por los caracteres después de la 's'.

8. El nombre del comando debe coincidir con los posibles nombres de comando, y un comando
El nombre que contenga un prefijo que coincida con los caracteres especificados por el usuario será el
comando ejecutado. En el caso de comandos donde los caracteres especificados por el usuario
podría ser ambiguo, el comando ejecutado será el siguiente:

┌───┬────────┬┬───┬───────┬┬───┬───────┐
aanexar ││nNext ││tt
cel cambio ││pImprimir ││udeshacer
chel cambio ││prImprimir ││undeshacer
eeditar ││rleer ││vv
mmovimiento ││releer ││wescribir
mamarca ││ss ││ │ │
└───┴────────┴┴───┴───────┴┴───┴───────┘
No se comprobarán las extensiones de implementación con nombres que provoquen ambigüedades similares.
para una coincidencia hasta que todas las coincidencias posibles para los comandos especificados por POSIX.1‐2008 hayan
ha sido comprobado.

9. Si el comando es un ! comando, o si el comando es un leer comando seguido de cero
o más personajes y un !, o si el comando es un escribir comando seguido de
uno o mas personajes y un !, el resto del comando incluirá todos
personajes hasta un no -escapado . los será
descartados y cualquier carácter subsiguiente se analizará como un ex mando.

10. De lo contrario, si el comando es un editar, exo Next comando, o un visual comando mientras
en modo abierto o visual, la siguiente parte del comando se analizará de la siguiente manera:

una. Alguna '!' El carácter inmediatamente siguiente al comando se omitirá y será parte
del comando.

B. Cualquier líder los caracteres se omitirán y serán parte del comando.

C. Si el siguiente personaje es un '+', caracteres hasta el primer no -escapado
o no -escapado se omitirá y será parte del
mando.

D. El resto del comando se determinará mediante los pasos especificados en el párrafo
12.

11. De lo contrario, si el comando es un global, habiertos, so v comando, la siguiente parte del
El comando se analizará de la siguiente manera:

una. Cualquier líder los caracteres se omitirán y serán parte del comando.

B. Si el siguiente carácter no es alfanumérico, entre comillas, ,
, o personaje:

I. El siguiente carácter se utilizará como delimitador de comandos.

ii. Si el comando es un global, habiertoso v comando, caracteres hasta el primero
no- -escapado , o primero no -delimitador de escape
carácter, se omitirá y será parte del comando.

iii. Si el comando es un s comando, caracteres hasta el primero
no- -escapado , o segundo no -escapado
carácter delimitador, se omitirá y será parte del comando.

C. Si el comando es un global or v comando, caracteres hasta el primero
no- -escapado se omitirá y será parte del comando.

D. De lo contrario, el resto del comando se determinará mediante los pasos especificados en
párrafo 12.

12. De lo contrario:

una. Si el comando fuera un mapa, desmapear, abreviaro poco abreviado comando, personajes
hasta el primer no ‐V-escapó , , o doble
El carácter de cita se omitirá y será parte del comando.

B. De lo contrario, los caracteres hasta el primer -escapado ,
, o el carácter de comillas dobles se omitirá y será parte del
mando.

C. Si el comando fuera un anexar, el cambioo insertar comando, y el paso 12.b. terminó
en un carácter, cualquier carácter subsiguiente, hasta el siguiente
no- -escapado se utilizará como texto de entrada para el comando.

D. Si el comando terminó con un carácter de comillas dobles, todos los caracteres posteriores,
hasta el próximo no -escapado , se descartarán.

mi. La terminación o carácter se descartará y cualquier
los caracteres subsiguientes se analizarán como un ex mando.

Los argumentos de los comandos se analizarán como se describe en la sinopsis y descripción de cada
INSTRUMENTO individual ex mando. Este análisis no será -sensible, excepto por el !
argumento, que debe seguir al nombre del comando sin intervenir personajes, y
donde de otro modo sería ambiguo. Por ejemplo, contar y bandera los argumentos no necesitan ser
-separado porque "d22p" no es ambiguo, pero presentar argumentos a la ex Next
El comando debe estar separado por uno o más caracteres. Alguna en comando
argumentos para el abreviar, poco abreviado, mapay desmapear los comandos pueden ser ‐V-
escapó, en cuyo caso el no se utilizará como delimitador de argumentos. Alguna
en el argumento del comando para cualquier otro comando se puede -escapado, en cuyo caso
ese no se utilizará como delimitador de argumentos.

Dentro de los argumentos de comando para el abreviar, poco abreviado, mapay desmapear comandos, cualquiera
el personaje puede ser ‐V-escapó. Todos estos personajes fugitivos serán tratados
literalmente y no tendrá ningún significado especial. Dentro de los argumentos de comando para todos los demás ex
comandos que no son expresiones regulares o cadenas de reemplazo, cualquier carácter que
De lo contrario, puede tener un significado especial. -escapado. Los caracteres escapados serán
tratados literalmente, sin un significado especial como caracteres de expansión de shell o '!', '%'y
'#' personajes de expansión. Ver Regular Expresiones in ex y DE MOLARES Tangas in ex para
descripciones de argumentos de comando que son expresiones regulares o cadenas de reemplazo.

No- -escapado '%' personajes que aparecen en presentar argumentos a cualquier ex el mando debe
ser reemplazado por el nombre de ruta actual; sin escapar '#' los caracteres serán reemplazados por el
nombre de ruta alternativo. Será un error si '%' or '#' los personajes aparecen sin escapar en un
argumento y sus valores correspondientes no se establecen.

No- -escapado '!' caracteres en los argumentos a la ex ! comando o
el modo abierto y visual ! comando, o en los argumentos a la ex leer comando, donde el
primero no después de que el nombre del comando sea un '!' personaje, o en los argumentos a la
ex escribir comando donde el nombre del comando va seguido de uno o más personajes y
el primer no después de que el nombre del comando sea un '!' carácter, se sustituirá por
los argumentos del último de esos tres comandos tal como aparecieron después de todo un escape
'%', '#'y '!' los personajes fueron reemplazados. Será un error si '!' personajes
aparecen sin escape en uno de estos comandos y no ha habido ejecución previa de uno
de estos comandos.

Si ocurre un error durante el análisis o la ejecución de un ex mando:

* Se redactará un mensaje informativo a tal efecto. Ejecución de la ex comando
se detendrá, y el cursor (por ejemplo, la línea y columna actual) no se
más modificado.

* Si el ex comando resultó de una expansión de mapa, todos los personajes de ese mapa
La expansión se descartará, salvo que se especifique lo contrario en el mapa mando.

* De lo contrario, si el ex comando resultó del procesamiento de un SALIR entorno
variable, una .exrc presentar un :fuente comando, un −c opción, o una +comando especificado a un
ex editar, ex, Nexto visual comando, no hay más comandos de la fuente del
se ejecutarán los comandos.

* De lo contrario, si el ex comando resultó de la ejecución de un búfer o un global or v
comando, no hay más comandos causados ​​por la ejecución del búfer o el global or v
se ejecutará el comando.

* De lo contrario, si el ex El comando no fue terminado por un , todos los personajes hasta
e incluyendo el siguiente no -escapado será descartado.

Entrada Edición in ex
El siguiente símbolo se utiliza en esta y las siguientes secciones para especificar el comando
comportamiento:

por el temor En la configuración regional POSIX, una palabra consta de una secuencia máxima de letras, dígitos,
y guiones bajos, delimitados en ambos extremos por caracteres que no sean letras,
dígitos o guiones bajos, o al principio o al final de una línea o en el búfer de edición.

Al aceptar caracteres de entrada del usuario, ya sea en ex modo comando o ex la introducción de texto
modo, ex Deberá habilitar el procesamiento de entrada en modo canónico, como se define en las Interfaces del sistema.
volumen de POSIX.1‐2008.

Si en ex modo de entrada de texto:

1. Si el número la opción de edición está configurada, ex solicitará la entrada utilizando el número de línea que
se asignaría a la línea si se ingresa, en el formato especificado para el ex
número mando.

2. Si el sangría automática la opción de edición está configurada, ex solicitará entrada usando sangría automática
personajes, como se describe en el sangría automática opción de edición. sangría automática los personajes deben
siga el número de línea, si lo hay.

Si en ex modo de comando:

1. Si el puntual La opción de edición está configurada, se solicitará la entrada para usar un solo ':'
personaje; de lo contrario, no habrá aviso.

Los caracteres de entrada en las siguientes secciones tendrán los siguientes efectos en la
línea de entrada.

Voluta
Sinopsis:
eof

Ver la descripción del pocilga eof personaje en pocilga.

Si en ex modo de comando:

Si eof carácter es el primer carácter ingresado en la línea, la línea debe ser
evaluado como si contuviera dos caracteres: un ‐D y una .

De lo contrario, el eof El carácter no tendrá un significado especial.

Si en ex modo de entrada de texto:

Si el cursor sigue un sangría automática personaje, el sangría automática personajes en el
La línea se modificará para que una parte del siguiente carácter de entrada de texto sea
se muestra en la primera columna de la línea después de la anterior ancho de turno opción de edición
límite de columna, y se le pedirá nuevamente al usuario que ingrese para la misma línea.

De lo contrario, si el cursor sigue un '0', que sigue a un sangría automática personaje, y
las '0' era el carácter de entrada de texto anterior, el '0' y todo sangría automática
Los caracteres de la línea se descartarán y se volverá a solicitar al usuario
entrada para la misma línea.

De lo contrario, si el cursor sigue un '^', que sigue a un sangría automática personaje, y
las '^' era el carácter de entrada de texto anterior, el '^' y todo sangría automática
Los caracteres de la línea se descartarán y se volverá a solicitar al usuario
entrada para la misma línea. además, el sangría automática nivel para la siguiente línea de entrada
se derivará de la misma línea de la que el sangría automática nivel para la corriente
se derivó la línea de entrada.

De lo contrario, si no hay sangría automática o caracteres de entrada de texto en la línea, el eof
se descartará el carácter.

De lo contrario, el eof El carácter no tendrá un significado especial.


Sinopsis:

-J

Si en ex modo de comando:

Hacer que se analice la línea de comando; ‐J se mapeará a la
para este propósito.

Si en ex modo de entrada de texto:

Termina la línea actual. Si no hay otros personajes que no sean sangría automática
caracteres en la línea, se descartarán todos los caracteres en la línea.

Solicitar entrada de texto en una nueva línea después de la línea actual. Si el sangría automática editar
se establece una opción, un número apropiado de sangría automática Los caracteres se agregarán como un
prefijo a la línea como se describe en el ex sangría automática opción de edición.


Sinopsis:


Permitir la entrada de un o ‐J como carácter literal, eliminando
cualquier significado especial que pueda tener para el editor durante el modo de entrada de texto. los
El carácter se conservará y evaluará cuando se analice la línea de comando, o se conserve y
incluido cuando el texto de entrada pasa a formar parte del búfer de edición.

‐V
Sinopsis:
-V

Permitir la entrada de cualquier carácter subsiguiente como carácter literal, eliminando cualquier especial
lo que significa que puede tener que ver con el editor durante el modo de entrada de texto. los ‐V carácter
se descartarán antes de que se analice la línea de comando o el texto de entrada se convierta en parte del
editar búfer.

Si la funcionalidad `` siguiente literal '' la realiza el sistema subyacente, es
definido por la implementación si un personaje que no sea ‐V realiza esta función.

‐W
Sinopsis:
-W

Desechar el ‐W, y la palabra anterior a ella en la línea de entrada, incluida cualquier
caracteres que siguen a la palabra y que preceden a la ‐W. Si la `` palabra
borrar '' la funcionalidad la realiza el sistema subyacente, está definida por la implementación
si un personaje que no sea ‐W realiza esta función.

Comando Descripción in ex
Los siguientes símbolos se utilizan en esta sección para representar modificadores de comando. Algunos de
estos modificadores pueden omitirse, en cuyo caso se utilizarán los valores predeterminados especificados.

1dir Una dirección de una sola línea, dada en cualquiera de los formularios descritos en Direccionamiento in ex;
el valor predeterminado será la línea actual ('.'), a menos que se especifique lo contrario.

Si la dirección de línea es cero, será un error, a menos que se especifique lo contrario en
las siguientes descripciones de comandos.

Si el búfer de edición está vacío y la dirección se especifica con un comando otro
que =, anexar, insertar, habiertos, poner, leero visual, o la dirección no es cero,
será un error.

2dir Dos direcciones que especifican un rango inclusivo de líneas. Si no hay direcciones
especificado, el predeterminado para 2dir será solo la línea actual (".,."), a no ser que
de lo contrario se especifica en las siguientes descripciones de comandos. Si una dirección es
especificado, 2dir deberá especificar esa línea solamente, a menos que se especifique lo contrario en el
siguientes descripciones de comandos.

Será un error si la primera dirección es mayor que la segunda dirección.

Si el búfer de edición está vacío y las dos direcciones se especifican con un comando
otro qué el !, escribir, wqo salir comandos, o cualquiera de las direcciones no es cero,
será un error.

contar Un número decimal positivo. Si contar se especifica, será equivalente a
especificando una dirección adicional al comando, a menos que se especifique lo contrario por
las siguientes descripciones de comandos. La dirección adicional será igual a la
última dirección especificada para el comando (ya sea explícitamente o por defecto) más
contar−1.

Si esto da como resultado una dirección mayor que la última línea de la edición
búfer, se corregirá para que sea igual a la última línea del búfer de edición.

banderas Uno o más de los personajes '+', '-', '#', 'pag'o 'l' (ana). La bandera
los personajes pueden ser -separados, y en cualquier orden o combinación. los
personajes '#', 'pag'y 'l' hará que las líneas se escriban en el formato
especificado por el Imprimir comando con el especificado banderas.

Las líneas a escribir son las siguientes:

1. Todas las líneas de búfer de edición escritas durante la ejecución del ex &, ~, lista,
número, habiertos, Imprimir, s, visualy z los comandos se escribirán como se especifica
by banderas.

2. Después de completar un ex comando con una bandera como argumento, el
La línea actual se escribirá según lo especificado por banderas, a menos que la línea actual
fue la última línea escrita por el comando.

Los caracteres '+' y '-' porque el valor de la línea actual después de la
ejecución de la ex comando para ser ajustado por la dirección de compensación como se describe en
Direccionamiento in ex. Este ajuste ocurrirá antes de que la línea actual sea
escrito como se describe en 2. arriba.

El predeterminado para banderas será ninguno.

buffer Una de varias áreas con nombre para contener texto. Los búferes nombrados se especifican
por los caracteres alfanuméricos de la configuración regional POSIX. También habrá uno
búfer `` sin nombre ''. Cuando no se especifica un búfer para los comandos del editor que utilizan un
búfer, se utilizará el búfer sin nombre. Comandos que almacenan texto en búferes
almacenará el texto como estaba antes de que el comando entrara en vigor, y almacenará
el texto que aparece antes en el archivo antes que el texto que aparece más adelante en el archivo,
independientemente de cómo se haya especificado la región de texto. Comandos que almacenan texto en
Los búferes almacenarán el texto en el búfer sin nombre, así como en cualquier
tampón.

In ex comandos, los nombres de búfer se especifican como el nombre por sí mismo. En abierto o
comandos de modo visual el nombre está precedido por una comilla doble ('"') personaje.

Si el nombre del búfer especificado es un carácter en mayúsculas y el contenido del búfer
se van a modificar, el búfer se agregará en lugar de ser
sobrescrito. Si el búfer no se está modificando, especificando el nombre del búfer en
minúsculas y mayúsculas tendrán resultados idénticos.

También habrá amortiguadores nombrados por los números del 1 al 9. En abierto y visual
modo, si una región de texto que incluye caracteres de más de una línea es
siendo modificado por el vi c or d comandos, el carácter de movimiento asociado con
las c or d comandos especifica que el texto del búfer debe estar en modo de línea, o el
comandos %, `, /, ?, (, ), N, n, {o } se utilizan para definir una región de texto para
las c or d comandos, el contenido de los búferes 1 a 8 se moverá al
búfer nombrado por el siguiente valor numéricamente mayor, el contenido del búfer 9
se descartarán y la región del texto se copiará en el búfer 1. Este
será además de copiar el texto en un búfer especificado por el usuario o sin nombre
búfer, o ambos. Los búferes numéricos se pueden especificar como búfer de origen para abrir
y comandos de modo visual; sin embargo, especificar un búfer numérico como escritura
el objetivo de un comando de modo abierto o visual tendrá resultados no especificados.

El texto de cada búfer tendrá la característica de estar en línea o en
modo de personaje. Agregar texto a un búfer no vacío establecerá el modo para que coincida
la característica del texto que se adjunta. Agregar texto a un búfer debe
provocar la creación de al menos una línea adicional en el búfer. Todo el texto
almacenado en búferes por ex Los comandos estarán en modo de línea. los ex manda que
utilizar búferes como fuente de texto, especificar individualmente cómo los búferes de diferentes
se manejan los modos. Cada comando de modo abierto o visual que usa búferes para cualquier
propósito especifica individualmente el modo del texto almacenado en el búfer y
cómo se manejan los búferes de diferentes modos.

presentar Texto de comando utilizado para derivar un nombre de ruta. El valor predeterminado será el actual
nombre de ruta, como se definió anteriormente, en cuyo caso, si aún no se ha establecido un nombre de ruta actual
establecido, será un error, excepto donde se indique específicamente en el
descripciones de comandos individuales que siguen. Si el texto del comando contiene alguna
de los personajes '~', '{', '[', '*', '?', PS, '"', comilla inversa, comilla simple,
y , se someterá al proceso de `` expansiones de caparazón '',
como se describe abajo; si se obtiene más de un nombre de ruta y el comando
espera solo uno, será un error.

El proceso de expansiones de shell en el editor se realizará de la siguiente manera. los ex
la utilidad pasará dos argumentos al programa nombrado por la opción de edición del shell;
el primero será −c, y el segundo será la cuerda "eco" y el comando
texto como un solo argumento. La salida estándar y el error estándar de ese
comando reemplazará el texto del comando.

! Un carácter que se puede agregar al nombre del comando para modificar su operación, como
detallado en las descripciones de los comandos individuales. Con la excepción del ex
leer, escribiry ! comandos, el '!' El personaje solo actuará como modificador si
no existen caracteres entre este y el nombre del comando.

recordado Buscar dirección
El vi comandos N y n comenzar a buscar hacia adelante o hacia atrás en
el búfer de edición basado en una dirección de búsqueda recordada, que inicialmente es
desarmado, y es armado por el ex global, v, sy etiqueta comandos, y el vi / y ?
comandos.

Abreviar
Sinopsis:
ab [breviar][lhs RHS]

If lhs y RHS no se especifican, escriba la lista actual de abreviaturas y no haga nada
más.

Las implementaciones pueden restringir el conjunto de caracteres aceptados en lhs or RHS, excepto que
caracteres imprimibles y los caracteres no deben estar restringidos. Adicional
las restricciones estarán definidas por la implementación.

En ambos lhs y RHS, cualquier personaje puede escaparse con un ‐V, en cuyo caso el
carácter no se utilizará para delimitar lhs en RHS, y el escapar ‐V será
descartado.

En el modo de entrada de texto abierto y visual, si no es una palabra o personaje que no se escapa
por un - Se ingresa el carácter V después de un carácter de palabra, se debe hacer una verificación para
conjunto de caracteres que coinciden lhs, en la entrada de texto ingresada durante este comando. Si esto es
encontrado, el efecto será como si RHS fue ingresado en lugar de lhs.

El conjunto de caracteres que se comprueban se define de la siguiente manera:

1. Si no hay caracteres insertados antes de la palabra y no son palabras o caracteres
que activó la verificación, el conjunto de caracteres consistirá en la palabra carácter.

2. Si el carácter insertado antes de la palabra y no es palabra o personajes que
activada la verificación es un carácter de palabra, el conjunto de caracteres consistirá en el
caracteres insertados inmediatamente antes de los caracteres desencadenantes que son palabra
caracteres, más el carácter de la palabra desencadenante.

3. Si el carácter insertado antes de la palabra y no es palabra o personajes que
desencadenado la verificación no es un carácter de palabra, el conjunto de caracteres constará de
los caracteres que se insertaron antes de los caracteres desencadenantes que no son ni
caracteres ni caracteres de palabra, más el carácter de palabra desencadenante.

No se especifica si el lhs argumento ingresado para el ex abreviar y poco abreviado
Los comandos se reemplazan de esta manera. Independientemente de si se produce el reemplazo o no,
el efecto de la orden será como si el reemplazo no se hubiera producido.

Current línea: Sin cambios.

Current visión de conjunto: Sin cambios.

Adjuntar
Sinopsis:
[1dir] a[gastar][!]

Participar ex modo de entrada de texto; el texto de entrada se colocará después de la línea especificada. Si línea
cero, el texto se colocará al principio del búfer de edición.

Este comando se verá afectado por el número y sangría automática editar opciones; siguiendo el
nombre de comando con '!' causará el sangría automática configuración de la opción de edición para alternar
la duración de este comando solamente.

Current línea: Establecer en la última línea de entrada; si no se ingresaron líneas, establezca el valor especificado
línea, oa la primera línea del búfer de edición si se especificó una línea de cero, o cero si
el búfer de edición está vacío.

Current visión de conjunto: Establecer como no .

Argumentos
Sinopsis:
Arkansas[gs]

Escriba la lista de argumentos actual, con la entrada de la lista de argumentos actual, si la hay, entre '['
y ']' personajes.

Current línea: Sin cambios.

Current visión de conjunto: Sin cambios.

Cambios
Sinopsis:
[2dir] c[Hange][!][contar]

Participar ex modo de entrada de texto; el texto de entrada reemplazará las líneas especificadas. El especificado
las líneas se copiarán en el búfer sin nombre, que se convertirá en un búfer en modo de línea.

Este comando se verá afectado por el número y sangría automática editar opciones; siguiendo el
nombre de comando con '!' causará el sangría automática configuración de la opción de edición para alternar
la duración de este comando solamente.

Current línea: Establecer en la última línea de entrada; si no se ingresaron líneas, configúrelo en la línea anterior
la primera dirección, oa la primera línea del búfer de edición si no hay líneas antes
la primera dirección, oa cero si el búfer de edición está vacío.

Current visión de conjunto: Establecer como no .

Cambios Directorio
Sinopsis:
chd [ir][!][directorio]
cd[!][directorio]

Cambiar el directorio de trabajo actual a directorio.

Si no es correcto directorio se especifica el argumento, y el INICIO La variable de entorno se establece en un valor no
valor nulo y no vacío, directorio por defecto al valor nombrado en el INICIO
Variable ambiental. Si el INICIO La variable de entorno está vacía o no está definida, la
valor predeterminado de directorio está definido por la implementación.

Si no es correcto '!' se agrega al nombre del comando, y el búfer de edición se ha modificado desde
la última escritura completa, y el nombre de la ruta actual no comienza con un "/", será
un error.

Current línea: Sin cambios.

Current visión de conjunto: Sin cambios.

Copiar
Sinopsis:
[2dir] co[py] 1dir [banderas]
[2dir] t 1dir [banderas]

Copie las líneas especificadas después de la línea de destino especificada; la línea cero especifica que
las líneas se colocarán al principio del búfer de edición.

Current línea: Establecer en la última línea copiada.

Current visión de conjunto: Establecer como no .

Borrar
Sinopsis:
[2dir] d[eliminar][buffer][contar][banderas]

Elimine las líneas especificadas en un búfer (por defecto, el búfer sin nombre), que deberá
conviértase en un búfer en modo de línea.

Las banderas pueden seguir inmediatamente al nombre del comando; ver Comando línea Parsing in ex.

Current línea: Establecer en la línea que sigue a las líneas eliminadas, o en la última línea de la edición.
búfer si esa línea está más allá del final del búfer de edición, o a cero si el búfer de edición es
vacío.

Current visión de conjunto: Establecer como no .

Editar
Sinopsis:
e[dit][!][+comando][presentar]
ex[!][+comando][presentar]

Si no es correcto '!' se agrega al nombre del comando, y el búfer de edición se ha modificado desde
la última escritura completa, será un error.

If presentar se especifica, reemplace el contenido actual del búfer de edición con el actual
contenido de presentary establezca el nombre de ruta actual en presentar. Si presentar no está especificado, reemplace
el contenido actual del búfer de edición con el contenido actual del archivo nombrado por el
nombre de ruta actual. Si por alguna razón no se puede acceder al contenido actual del archivo,
el búfer de edición estará vacío.

El +comando la opción será -delimitado; personajes dentro del +comando podemos
ser evitado precediéndolos con un personaje. los +comando será
interpretado como un ex comando inmediatamente después de que el contenido del búfer de edición haya sido
reemplazado y se han establecido la línea y la columna actuales.

Si el búfer de edición está vacío:

Current línea: Establecer en 0.

Current visión de conjunto: Establecer en 1.

De lo contrario, si se ejecuta en ex modo de comando o si el +comando se especifica el argumento:

Current línea: Se establece en la última línea del búfer de edición.

Current visión de conjunto: Establecer como no .

De lo contrario, si presentar se omite o da como resultado el nombre de ruta actual:

Current línea: Se establece en la primera línea del búfer de edición.

Current visión de conjunto: Establecer como no .

De lo contrario, si presentar es el mismo que el último archivo editado, la línea y la columna se establecerán
como sigue; si el archivo se editó previamente, la línea y la columna se pueden configurar de la siguiente manera:

Current línea: Establezca el último valor que se mantuvo cuando ese archivo se editó por última vez. Si este valor es
no es una línea válida en el nuevo búfer de edición, se establece en la primera línea del búfer de edición.

Current visión de conjunto: Si la línea actual se estableció en el último valor retenido cuando el archivo se
editado, establecido en el último valor retenido cuando se editó el archivo por última vez. De lo contrario, o si el
El último valor no es una columna válida en el nuevo búfer de edición, configurado como no .

De otra manera:

Current línea: Se establece en la primera línea del búfer de edición.

Current visión de conjunto: Establecer como no .

Archive
Sinopsis:
f[s][presentar]

Si un presentar se especifica el argumento, el nombre de ruta alternativo se establecerá en el actual
nombre de ruta, y el nombre de ruta actual se establecerá en presentar.

Escribe un mensaje informativo. Si el archivo tiene un nombre de ruta actual, se incluirá
en este mensaje; de lo contrario, el mensaje indicará que no hay un nombre de ruta actual.
Si el búfer de edición contiene líneas, el número de línea actual y el número de líneas en el
el búfer de edición se incluirá en este mensaje; de lo contrario, el mensaje indicará que
el búfer de edición está vacío. Si el búfer de edición se ha modificado desde la última vez que se completó
escribir, este hecho se incluirá en este mensaje. Si el solo lectura la opción de edición está configurada,
este hecho se incluirá en este mensaje. El mensaje puede contener otros no especificados
información.

Current línea: Sin cambios.

Current visión de conjunto: Sin cambios.

Buscar
Sinopsis:
[2dir] g[globales] /patrón/ [comandos]
[2dir] v/patrón/ [comandos]

La opción '!' personaje después del global comando será el mismo que ejecutar el v
mando.

If patrón está vacío (por ejemplo, "//") o no especificado, la última expresión regular utilizada
en el comando del editor se utilizará como patrón. patrón puede ser delimitado por
caracteres (que se muestran en la sinopsis), así como cualquier
otro que , , o comillas dobles.

Si no se especifican líneas, las líneas se utilizarán por defecto para todo el archivo.

El global y v Los comandos son lógicamente operaciones de dos pasos. Primero, marque las líneas dentro
las líneas especificadas para las cuales la línea excluyendo la terminación partidos
(global) o no coincide (v or ¡global!) el patrón especificado. En segundo lugar, ejecute el ex
comandos dados por comandos, con la línea actual ('.') establecido en cada línea marcada. Si una
se produce un error durante este proceso, o el contenido del búfer de edición se reemplaza (por
ejemplo, por el ex edit: comando) se escribirá un mensaje de error y no más comandos
resultante de la ejecución de este comando será procesado.

Múltiple ex Los comandos se pueden especificar ingresando múltiples comandos en una sola línea usando
a para delimitarlos, o uno por línea, escapando de cada con un
.

Si no se especifican comandos:

1. Si en ex modo de comando, será como si el Imprimir comando fueron especificados.

2. De lo contrario, no se ejecutará ningún comando.

Para el anexar, el cambioy insertar comandos, el texto de entrada se incluirá como parte de
el comando, y la terminación puede omitirse si el comando finaliza la lista de
comandos. los habiertos y visual Los comandos se pueden especificar como uno de los comandos, en los que
caso, cada línea marcada hará que el editor entre en modo abierto o visual. Si está abierto o
se sale del modo visual usando el vi Q comando, la línea actual se establecerá en la siguiente
línea marcada, y en modo abierto o visual reingreso, hasta que la lista de líneas marcadas sea
agotado.

El global, vy deshacer los comandos no se pueden utilizar en comandos. Las líneas marcadas se pueden eliminar
mediante comandos ejecutados para líneas que aparecen antes en el archivo que las líneas marcadas. En
En este caso, no se ejecutarán comandos para las líneas eliminadas.

Si no se establece la dirección de búsqueda recordada, global y v los comandos lo pondrán en
adelante.

El autoimpresión y sangría automática Las opciones de edición se inhibirán mientras dure el g or
v mando.

Current línea: Si no se ejecutaron comandos, establezca la última línea marcada. De lo contrario, como
especificado para el ejecutado ex comandos.

Current visión de conjunto: Si no se ejecutan comandos, establézcalo como no ; de lo contrario, como se especifica
para el individuo ex comandos.

recuadro
Sinopsis:
[1dir] i[insertar][!]

Participar ex modo de entrada de texto; el texto de entrada se colocará antes de la línea especificada. Si el
línea es cero o 1, el texto se colocará al principio del búfer de edición.

Este comando se verá afectado por el número y sangría automática editar opciones; siguiendo el
nombre de comando con '!' causará el sangría automática configuración de la opción de edición para alternar
la duración de este comando solamente.

Current línea: Establecer en la última línea de entrada; si no se ingresaron líneas, configúrelo en la línea anterior
la línea especificada, oa la primera línea del búfer de edición si no hay líneas
antes de la línea especificada, o cero si el búfer de edición está vacío.

Current visión de conjunto: Establecer como no .

Únete
Sinopsis:
[2dir] j[oin][!][contar][banderas]

If contar está especificado:

Si no se especificó una dirección, el únete El comando se comportará como si 2dir fueron la
línea actual y la línea actual más contar (.,. + contar).

Si se especificó una dirección, la únete El comando se comportará como si 2dir fueron la
dirección especificada y la dirección especificada más contar (addr,addr + contar).

Si se especificaron dos direcciones, el únete comando se comportará como si un comando adicional
dirección, igual a la última dirección más contar −1 (dirección1,dirección2,dirección2 + contar −1),
fue especificado.

Si esto da como resultado una segunda dirección mayor que la última línea de la edición
búfer, se corregirá para que sea igual a la última línea del búfer de edición.

Si no es correcto contar está especificado:

Si no se especificó una dirección, el únete El comando se comportará como si 2dir fueron la
línea actual y la línea siguiente (.,. +1).

Si se especificó una dirección, la únete El comando se comportará como si 2dir fueron la
dirección especificada y la siguiente línea (addr,addr + 1).

Une el texto de las líneas especificadas en una sola línea, que reemplazará
las líneas especificadas.

Si un '!' el carácter se agrega al nombre del comando, el únete estará sin
modificación de cualquier línea, independientemente de la ubicación actual.

De lo contrario, en la configuración regional POSIX, establezca la línea actual en la primera de las líneas especificadas,
y luego, para cada línea subsiguiente, proceda de la siguiente manera:

1. Descartar el plomo caracteres de la línea que se va a unir.

2. Si la línea que se va a unir ahora está vacía, elimínela y omita los pasos 3 a 5.

3. Si la línea actual termina en un , o el primer carácter de la línea que se va a unir
es un ')' carácter, une las líneas sin más modificaciones.

4. Si el último carácter de la línea actual es un '.', une las líneas con dos
personajes entre ellos.

5. De lo contrario, une las líneas con un solo entre ellos.

Current línea: Se establece en la primera línea especificada.

Current visión de conjunto: Establecer como no .

Lista
Sinopsis:
[2dir] l[es][contar][banderas]

Este comando será equivalente al ex mando:

[2dir] p[rint][contar] l[banderas]

See Imprimir.

Mapa
Sinopsis:
mapa[!][lhs RHS]

If lhs y RHS no se especifican:

1. Si '!' se especifica, escriba la lista actual de mapas de modo de entrada de texto.

2. De lo contrario, escriba la lista actual de mapas de modo de comando.

3. No haga nada más.

Las implementaciones pueden restringir el conjunto de caracteres aceptados en lhs or RHS, excepto que
caracteres imprimibles y los caracteres no deben estar restringidos. Adicional
las restricciones estarán definidas por la implementación. En ambos lhs y RHS, cualquier personaje puede ser
escapó con un ‐V, en cuyo caso el carácter no se utilizará para delimitar lhs
en RHS, y el escapar ‐V debe descartarse.

Si el personaje '!' se adjunta al mapa nombre del comando, el mapeo debe ser efectivo
durante el modo de entrada de texto abierto o visual en lugar de habiertos or visual modo de comando. Esto permite
lhs tener dos diferentes mapa definiciones al mismo tiempo: una para el modo de comando y una
para el modo de entrada de texto.

Para asignaciones de modo de comando:

Cuando el lhs se ingresa como cualquier parte de un vi comando en modo abierto o visual (pero no
como parte de los argumentos del comando), la acción será como si el
correspondiente RHS había sido ingresado.

Si cualquier carácter en el comando, que no sea el primero, se escapa usando un
‐V personaje, ese personaje no será parte de una coincidencia con un lhs.

No se especifica si las implementaciones admitirán mapa comandos donde el lhs
tiene más de un carácter de longitud, donde el primer carácter del lhs is
imprimible.

If lhs contiene más de un carácter y el primer carácter es '#' (XNUMX %)
una secuencia de dígitos correspondiente a una tecla de función numerada, entonces cuando este
se escribe la tecla de función a la que se asignará RHS. Caracteres que no sean dígitos
después de una '#' El carácter también representa la tecla de función nombrada por los caracteres.
existentes lhs después de la '#' y se puede asignar a RHS. No se especifica cómo
las teclas de función se nombran o qué teclas de función son compatibles.

Para asignaciones de modo de entrada de texto:

Cuando el lhs se ingresa como cualquier parte del texto ingresado en la entrada de texto abierto o visual
modos, la acción será como si el correspondiente RHS había sido ingresado.

Si cualquier carácter en el texto de entrada se escapa usando un ‐V personaje, que
personaje no debe ser parte de una coincidencia con un lhs.

No se especifica si el lhs texto ingresado para subsecuentes mapa or desmapear comandos
se reemplaza con el RHS texto para fines de visualización en pantalla; independientemente de
si la pantalla aparece o no como si el correspondiente RHS se ingresó el texto,
el efecto de la orden será como si el lhs se ingresó el texto.

Si solo una parte de la lhs se ingresa, no se especifica cuánto tiempo esperará el editor
caracteres adicionales, posiblemente coincidentes antes de tratar los caracteres ya ingresados ​​como
no coincide con el lhs.

El RHS los personajes estarán sujetos a reasignación, a menos que se especifique lo contrario por
las remap opción de edición, excepto que si los caracteres en lhs aparecer como caracteres de prefijo en
RHS, esos caracteres no se reasignarán.

En terminales en modo bloque, no es necesario que el mapeo ocurra inmediatamente (por ejemplo, puede ocurrir
después de que el terminal transmite un grupo de caracteres al sistema), pero deberá lograr
los mismos resultados que si ocurriera inmediatamente.

Current línea: Sin cambios.

Current visión de conjunto: Sin cambios.

Marc
Sinopsis:
[1dir] ma[rk] personaje
[1dir] k personaje

Las implementaciones apoyarán personaje valores de una sola letra minúscula del POSIX
la configuración regional y los caracteres entre comillas inversas y comillas simples; el apoyo de otros personajes es
definido por la implementación.

Si ejecuta el vi m comando, establezca la marca especificada en la línea actual y basada en 1
carácter numerado al que hace referencia la columna actual, si existe; de lo contrario, la posición de la columna 1.

De lo contrario, establezca la marca especificada en la línea especificada y primero numere en base a 1
no- no- en la línea, si corresponde; de lo contrario, el último no en el
línea, si la hubiera; de lo contrario, la posición de la columna 1.

La marca permanecerá asociada con la línea hasta que la marca se restablezca o la línea se
eliminado. Si una línea eliminada es restaurada por una deshacer comando, cualquier marca previamente
asociados con la línea, que no se han restablecido, también se restablecerán. Cualquier uso de
una marca no asociada con una línea actual en el búfer de edición será un error.

Las marcas ` y ' se configurará como se describió anteriormente, inmediatamente antes de lo siguiente
los eventos ocurren en el editor:

1. El uso de PS como una ex dirección

2. El uso de un número decimal positivo como ex dirección

3. El uso de un comando de búsqueda como ex dirección

4. El uso de una referencia de marca como ex dirección

5. El uso de los siguientes comandos de modo abierto y visual: -], %, (, ), [, ], {,
}

6. El uso de los siguientes comandos de modo abierto y visual: ', G, H, L, M, z si el
la línea actual cambiará como resultado del comando

7. El uso de los comandos de modo abierto y visual: /, ?, N, `, n si la línea actual o
la columna cambiará como resultado del comando

8. El uso del ex comandos de modo: z, deshacer, global, v

Para las reglas 1., 2., 3. y 4., el ` y ' no se establecerán marcas si el ex el comando es
analizado como se especifica en la regla 6.a. en Comando línea Parsing in ex.

Para las reglas 5., 6. y 7., el ` y ' Las marcas no se establecerán si los comandos se utilizan como
comandos de movimiento en modo abierto y visual.

Para las reglas 1., 2., 3., 4., 5., 6., 7. y 8., el ` y ' no se establecerán marcas si el
el comando falla.

El ` y ' Las marcas se establecerán como se describió anteriormente, cada vez que el contenido de la edición
El búfer se reemplaza (incluida la edición del búfer inicial), si está abierto o visual
modo, o si en ex modo y el búfer de edición no está vacío, antes de cualquier comando o movimiento
(incluyendo comandos o movimientos especificados por el −c or −t opciones o el +comando
argumento) se ejecutan en el búfer de edición. Si está en modo abierto o visual, las marcas se
establecer como si se ejecutara el vi m mando; de lo contrario, como si estuviera ejecutando el ex marca mando.

Al cambiar de ex modo abierto o modo visual, si el ` y ' las marcas no están ya
selecciona el ` y ' Las marcas se establecerán como se describió anteriormente.

Current línea: Sin cambios.

Current visión de conjunto: Sin cambios.

Moverse
Sinopsis:
[2dir] m[ove] 1dir [banderas]

Mueva las líneas especificadas después de la línea de destino especificada. Un destino de la línea cero
especifica que las líneas se colocarán al principio del búfer de edición. Será
un error si la línea de destino está dentro del rango de líneas que se moverán.

Current línea: Se establece en la última de las líneas movidas.

Current visión de conjunto: Establecer como no .

Siguiente
Sinopsis:
n[ext][!][+comando][presentar ...]

Si no es correcto '!' se agrega al nombre del comando, y el búfer de edición se ha modificado desde
la última escritura completa, será un error, a menos que el archivo se haya escrito correctamente como
especificado por el escribir automáticamente .

Si se especifica uno o más archivos:

1. Establezca la lista de argumentos con los nombres de archivo especificados.

2. Establezca la referencia de la lista de argumentos actual para que sea la primera entrada en la lista de argumentos.

3. Establezca el nombre de ruta actual en el primer nombre de archivo especificado.

De otra manera:

1. Será un error si no hay más nombres de archivo en la lista de argumentos después de la
nombre de archivo al que se hace referencia actualmente.

2. Establezca el nombre de ruta actual y la referencia de la lista de argumentos actual al nombre de archivo después
el nombre de archivo al que se hace referencia actualmente en la lista de argumentos.

Reemplace el contenido del búfer de edición con el contenido del archivo nombrado por el actual
nombre de ruta. Si por alguna razón no se puede acceder al contenido del archivo, el búfer de edición
estará vacío.

Este comando se verá afectado por el escribir automáticamente y escribir cualquier editar opciones.

El +comando la opción será -delimitado; los personajes pueden ser escapados por
precediéndolos con un personaje. los +comando se interpretará como un ex
comando inmediatamente después de que el contenido del búfer de edición haya sido reemplazado y el
se han configurado la línea y la columna actuales.

Current línea: Ajuste como se describe para editar mando.

Current visión de conjunto: Ajuste como se describe para editar mando.

Número
Sinopsis:
[2dir] nu[ámbar][contar][banderas]
[2dir] #[contar][banderas]

Estos comandos deben ser equivalentes a los ex mando:

[2dir] p[rint][contar] #[banderas]

See Imprimir.

Abierto
Sinopsis:
[1dir] o[pen] /patrón/ [banderas]

Este comando no necesita ser compatible con terminales en modo bloque o terminales con insuficiente
capacidades. Si la entrada estándar, la salida estándar o el error estándar no son terminales
dispositivos, los resultados no están especificados.

Ingrese al modo abierto.

El delimitador final se puede omitir de patrón al final de la línea de comando. Si
patrón está vacío (por ejemplo, "//") o no especificado, la última expresión regular utilizada en
el editor se utilizará como patrón. El patrón se puede delimitar por
caracteres (que se muestran en la sinopsis), así como cualquier alfanumérico o no otro que
, , o comillas dobles.

Current línea: Establecer en la línea especificada.

Current visión de conjunto: Establecer como no .

Preservar
Sinopsis:
pre[ayudar ]

Guarde el búfer de edición en una forma que luego pueda recuperarse usando el −r opción o por
usando el ex recuperar mando. Una vez que se haya conservado el archivo, se enviará un mensaje de correo
enviado al usuario. Este mensaje se podrá leer invocando el mailx utilidad. El
El mensaje debe contener el nombre del archivo, la hora de conservación y un ex comando
que podría usarse para recuperar el archivo. Se puede incluir información adicional en el correo
mensaje.

Current línea: Sin cambios.

Current visión de conjunto: Sin cambios.

Imprimir
Sinopsis:
[2dir] p[rint][contar][banderas]

Escribe las líneas direccionadas. El comportamiento no se especifica si el número de columnas en el
pantalla es menor que el número de columnas necesarias para escribir un solo carácter en el
líneas que se escriben.

Caracteres no imprimibles, excepto los , se escribirá como definido por la implementación
Secuencias de varios caracteres.

Si # se especifica la bandera o el número La opción de edición está configurada, cada línea debe ir precedida.
por su número de línea en el siguiente formato:

"% 6d ", <línea número>

Si l se especifica la bandera o el lista La opción de edición está configurada:

1. Los caracteres enumerados en el volumen de Definiciones básicas de POSIX.1‐2008, Mesa 5 - 1,
Escapar Secuencias y Asociado Acciones se escribirá como el escape correspondiente
secuencia.

2. Caracteres no imprimibles que no están en el volumen de Definiciones básicas de POSIX.1‐2008, Mesa
5 - 1, Escapar Secuencias y Asociado Acciones se escribirá como un octal de tres dígitos
número (con un precedente ) para cada byte del carácter (más significativo
byte primero).

3. El final de cada línea se marcará con un PSy literal PS personajes dentro del
La línea se escribirá con un precedente. .

Las líneas largas se doblarán; la longitud a la que se produce el plegado no está especificada, pero debe
Ser apropiado para el terminal de salida, considerando el número de columnas del terminal.

Si se dobla una línea y el l la bandera no está especificada y el lista la opción de edición no está configurada,
no se especifica si un carácter de varias columnas en la posición de plegado está separado;
no se descartará.

Current línea: Establecer en la última línea escrita.

Current visión de conjunto: Sin cambios si la línea actual no se modifica; de lo contrario, establézcalo como no .

poner
Sinopsis:
[1dir] pu[t][buffer]

Anexar texto desde el búfer especificado (por defecto, el búfer sin nombre) al especificado
línea; la línea cero especifica que el texto se colocará al comienzo de la edición
buffer. Cada parte de una línea en el búfer se convertirá en una nueva línea en el búfer de edición,
independientemente del modo del búfer.

Current línea: Establecer en la última línea ingresada en el búfer de edición.

Current visión de conjunto: Establecer como no .

Dejar
Sinopsis:
q[uit][!]

Si no es correcto '!' se agrega al nombre del comando:

1. Si el búfer de edición se ha modificado desde la última escritura completa, será un
error.

2. Si hay nombres de archivo en la lista de argumentos después del nombre de archivo al que se hace referencia actualmente,
y el último comando no fue un renuncia, wq, saliro ZZ (consulta: Exit) comando, será un
error.

De lo contrario, finalice la sesión de edición.

Leer
Sinopsis:
[1dir] r[ead][!][presentar]

If '!' no es la primera no para seguir el nombre del comando, una copia del especificado
el archivo se agregará al búfer de edición después de la línea especificada; la línea cero especifica
que la copia se colocará al principio del búfer de edición. El número de líneas y
Se escribirán los bytes leídos. Si no presentar se nombra, el nombre de ruta actual será el
defecto. Si no hay un nombre de ruta actual, entonces presentar se convertirá en el nombre de ruta actual. Si
no hay un nombre de ruta actual o presentar operando, será un error. Especificando un presentar esa
no es de tipo regular tendrá resultados no especificados.

De lo contrario, si presentar está precedido por '!', el resto de la línea después del '!' tendré '%',
'#'y '!' caracteres expandidos como se describe en Comando línea Parsing in ex.

El ex La utilidad luego pasará dos argumentos al programa nombrado por la edición de shell
opción; el primero será −c y el segundo serán los argumentos expandidos a la leer
comando como un solo argumento. La entrada estándar del programa se establecerá en el
entrada estándar del ex programa cuando fue invocado. El error estándar y el estándar
La salida del programa se agregará al búfer de edición después de la línea especificada.

Cada línea del archivo copiado o la salida del programa (delimitada por personajes o
el final del archivo o salida si no está inmediatamente precedido por un ), será
una línea separada en el búfer de edición. Cualquier aparición de y
los pares en la salida se tratarán como simples caracteres.

El significado especial de la '!' después de la leer El comando se puede anular escapando
con un personaje.

Current línea: Si no se agregan líneas al búfer de edición, no se modifica. De lo contrario, si está abierto
o modo visual, establezca la primera línea ingresada en el búfer de edición. De lo contrario, establezca el
última línea ingresada en el búfer de edición.

Current visión de conjunto: Establecer como no .

Recuperar
Sinopsis:
rec [Más de][!] presentar

Si no es correcto '!' se agrega al nombre del comando, y el búfer de edición se ha modificado desde
la última escritura completa, será un error.

Si no es correcto presentar operando, entonces se utilizará el nombre de ruta actual. Si no hay
nombre de ruta actual o presentar operando, será un error.

Si no se ha guardado previamente información de recuperación sobre presentar, la recuperar el mando debe
comportarse de manera idéntica a la editar comando, y un mensaje informativo a este efecto deberá
ser escrito.

De lo contrario, establezca el nombre de ruta actual en presentary reemplace el contenido actual de la edición
búfer con el contenido recuperado de presentar. Si hay varias instancias del archivo
que se recupere, se recuperará el guardado más recientemente y se
El mensaje de que hay versiones anteriores del archivo que se pueden recuperar será
escrito. El editor se comportará como si el contenido del búfer de edición ya hubiera sido
modificado.

Current presentar: Ajuste como se describe para editar mando.

Current visión de conjunto: Ajuste como se describe para editar mando.

Rewind
Sinopsis:
rew [ind][!]

Si no es correcto '!' se agrega al nombre del comando, y el búfer de edición se ha modificado desde
la última escritura completa, será un error, a menos que el archivo se haya escrito correctamente como
especificado por el escribir automáticamente .

Si la lista de argumentos está vacía, será un error.

La referencia de la lista de argumentos actual y el nombre de la ruta actual se establecerán en el primer
nombre de archivo en la lista de argumentos.

Reemplace el contenido del búfer de edición con el contenido del archivo nombrado por el actual
nombre de ruta. Si por alguna razón no se puede acceder al contenido del archivo, el búfer de edición
estará vacío.

Este comando se verá afectado por el escribir automáticamente y escribir cualquier editar opciones.

Current línea: Ajuste como se describe para editar mando.

Current visión de conjunto: Ajuste como se describe para editar mando.

Set
Sinopsis:
se [t][opción[=[propuesta de]] ...][noopción ...][opción? ...][todos]

Cuando no se especifican argumentos, escriba el valor del término opción de edición y esas opciones
cuyos valores se han cambiado de la configuración predeterminada; cuando el argumento todos is
especificado, escriba todos los valores de las opciones.

Dar un nombre de opción seguido del carácter '?' causará el valor actual de ese
opción para ser escrito. los '?' se puede separar del nombre de la opción por cero o más
caracteres. los '?' será necesario solo para opciones con valor booleano. Booleano
las opciones pueden recibir valores mediante el formulario set opción para encenderlos o set noopción girar
apagar; Las opciones numéricas y de cadena se pueden asignar mediante el formulario set opción=propuesta de. Alguna
Los caracteres en cadenas se pueden incluir tal cual precediendo a cada con un
escapando . Se puede configurar o enumerar más de una opción mediante un solo comando de configuración
especificando varios argumentos, cada uno separado del siguiente por uno o más
personajes.

See Editar Opciones in ex para obtener detalles sobre opciones específicas.

Current línea: Sin cambios.

Current visión de conjunto: Sin cambios.

Cáscara
Sinopsis:
sh [ana]

Invoque el programa nombrado en el shell opción de edición con un solo argumento −yo (interactivo
modo). La edición se reanudará cuando finalice el programa.

Current línea: Sin cambios.

Current visión de conjunto: Sin cambios.

Fuente
Sinopsis:
asi que[Urcan a] presentar

Leer y ejecutar ex comandos de presentar. Las líneas en el archivo que son líneas en blanco serán
ignorado

Current línea: Según lo especificado para el individuo ex comandos.

Current visión de conjunto: Según lo especificado para el individuo ex comandos.

Suplente
Sinopsis:
[2dir] s[sustituir][/patrón/responder/[opciones][contar][banderas]]
[2dir] &[opciones][contar][banderas]]
[2dir] ~[opciones][contar][banderas]]

Reemplazar la primera instancia del patrón patrón por la cuerda responder en cada especificado
línea. (Ver Regular Expresiones in ex y DE MOLARES Tangas in ex.) Cualquier no alfabético,
no- delimitador distinto de , '|', , o se pueden utilizar comillas dobles
en lugar de "/". los caracteres se pueden utilizar para escapar de los delimitadores,
caracteres y otros caracteres especiales.

El delimitador final se puede omitir de patrón o desde responder al final del comando
línea. Si ambos patrón y responder no están especificados o están vacíos (por ejemplo, "//"), el
pasado s El comando se repetirá. si solo patrón no está especificado o está vacío, el último
La expresión regular utilizada en el editor se utilizará como patrón. si solo responder no es
especificado o está vacío, el patrón no será reemplazado por nada. Si todo
el patrón de reemplazo es '%', el último patrón de reemplazo de un s se utilizará el comando.

Entrar en un en responder (que requiere un escape en ex modo
y un escape ‐V en abierto o vi modo) dividirá la línea en ese punto,
creando una nueva línea en el búfer de edición. los será descartado.

If opciones incluye la carta 'gramo' (global), todas las instancias no superpuestas del patrón
en la línea será reemplazado.

If opciones incluye la carta 'C' (confirmar), luego, antes de cada sustitución, la línea
ser escrito la línea escrita reflejará todas las sustituciones anteriores. En el siguiente
línea, Los caracteres se escribirán debajo de los caracteres de la línea que son
antes de patrón para ser reemplazado, y '^' caracteres escritos debajo de los caracteres
incluido en el patrón ser remplazado. El ex La empresa de servicios públicos deberá esperar una respuesta de
el usuario. Una respuesta afirmativa hará que se realice la sustitución, mientras que cualquier otra
entrada no hará la sustitución. Una respuesta afirmativa constará de una línea
con la respuesta afirmativa (según lo definido por la configuración regional actual) al comienzo de la
línea. Esta línea estará sujeta a edición de la misma forma que la ex línea de comando.

Si se interrumpe (ver la sección EVENTOS ASÍNCRONOS), cualquier modificación confirmada por el
El usuario se conservará en el búfer de edición después de la interrupción.

Si no se establece la dirección de búsqueda recordada, s El comando lo pondrá en reenvío.

En la segunda sinopsis, el & comando repetirá la sustitución anterior, como si el &
comando fueron reemplazados por:

s/patrón/responder/

donde patrón y responder son como se especifica en el anterior s, &o ~ mando.

En la tercera sinopsis, el ~ comando repetirá la sustitución anterior, como si el '~'
fueron reemplazados por:

s/patrón/responder/

donde patrón será la última expresión regular especificada para el editor, y responder deberá
ser de la sustitución anterior (incluyendo & y ~) comando.

Estos comandos se verán afectados por la LC_MENSAJES Variable ambiental.

Current línea: Se establece en la última línea en la que se produjo una sustitución, o sin cambios si no
se produjo la sustitución.

Current visión de conjunto: Establecer como no .

Suspende los
Sinopsis:
su [pasar][!]
st[op][!]

Permitir que el control vuelva al proceso de invocación; ex se suspenderá como si hubiera
recibió la señal SIGTSTP. La suspensión ocurrirá solo si el control del trabajo está habilitado en
el shell que invoca (ver la descripción de set −metro).

Estos comandos se verán afectados por la escribir automáticamente y escribir cualquier editar opciones.

La susp personaje (ver pocilga) será equivalente a la suspender mando.

Etiqueta
Sinopsis:
ejército de reserva[g][!] cadena de etiquetas

Los resultados no se especifican si el formato de un archivo de etiquetas no es el especificado por el etiquetas
utilidad (ver etiquetas) descripción.

El etiqueta el comando debe buscar cadena de etiquetas en los archivos de etiquetas a los que hace referencia el etiqueta editar
opción, en el orden en que se especifican, hasta una referencia a cadena de etiquetas es encontrado. Archivos
se buscará de principio a fin. Si no se encuentra ninguna referencia, será un error
y se escribirá un mensaje de error a tal efecto. Si no se encuentra la referencia, o si
se produce un error al procesar un archivo al que se hace referencia en el etiqueta opción de edición, será una
error, y se escribirá un mensaje de error la primera vez que ocurra tal error.

De lo contrario, si el archivo de etiquetas contiene un patrón, el patrón se tratará como un patrón regular.
expresión utilizada en el editor; por ejemplo, a los efectos de la s mando.

Si cadena de etiquetas está en un archivo con un nombre diferente al de la ruta actual, establezca el
nombre de ruta actual al nombre de ese archivo y reemplace el contenido del búfer de edición
con el contenido de ese archivo. En este caso, si no '!' se agrega al nombre del comando,
y el búfer de edición se ha modificado desde la última escritura completa, será un error,
a menos que el archivo se haya escrito correctamente según lo especificado por el escribir automáticamente .

Este comando se verá afectado por el escribir automáticamente, etiqueta, longitud de etiquetay escribir cualquier editar
.

Current línea: Si el archivo de etiquetas contiene un número de línea, establézcalo en ese número de línea. Si el
El número de línea es mayor que la última línea en el búfer de edición, se mostrará un mensaje de error.
escrito y la línea actual se establecerá como se especifica para el editar mando.

Si el archivo de etiquetas contiene un patrón, establézcalo en la primera aparición del patrón en el
Archivo. Si no se encuentra un patrón coincidente, se escribirá un mensaje de error y se
La línea se establecerá como se especifica para el editar mando.

Current visión de conjunto: Si el archivo de etiquetas contiene una referencia de número de línea y ese número de línea
no era más grande que la última línea en el búfer de edición, o si el archivo de etiquetas contenía un
patrón y ese patrón se encontró, establecido en no- . De lo contrario, establezca como se especifica para
las editar mando.

Sin abreviar
Sinopsis:
una [abrev] lhs

If lhs no es una entrada en la lista actual de abreviaturas (ver Abreviar), será
un error. De lo contrario, elimine lhs de la lista de abreviaturas.

Current línea: Sin cambios.

Current visión de conjunto: Sin cambios.

deshacer
Sinopsis:
u[ndo]

Invertir los cambios realizados por el último comando que modificó el contenido de la edición
búfer, incluido deshacer. Para ello, el global, v, habiertosy visual comandos, y
comandos resultantes de ejecuciones de búfer y expansiones de caracteres mapeados, se consideran
comandos individuales.

Si ninguna acción que pueda deshacerse precedió a la deshacer comando, será un error.

Si deshacer comando restaura las líneas que fueron marcadas, la marca también se restaurará
a menos que se restablezca después de la eliminación de las líneas.

Current línea:

1. Si se agregan o cambian líneas en el archivo, establézcalo en la primera línea agregada o modificada.

2. Establecer en la línea antes de la primera línea eliminada, si existe.

3. Establecer en 1 si el búfer de edición no está vacío.

4. Poner a cero.

Current visión de conjunto: Establecer como no .

Desmapear
Sinopsis:
unm [ap][!] lhs

If '!' se agrega al nombre del comando, y si lhs no es una entrada en la lista de texto
definiciones de mapa de modo de entrada, será un error. De lo contrario, elimine lhs de la lista de
definiciones de mapas del modo de entrada de texto.

Si no es correcto '!' se agrega al nombre del comando, y si lhs no es una entrada en la lista de
definiciones del mapa del modo de comando, será un error. De lo contrario, elimine lhs de la lista de
definiciones del mapa del modo de comando.

Current línea: Sin cambios.

Current visión de conjunto: Sin cambios.

Versión
Sinopsis:
ve [rsión]

Escriba un mensaje que contenga información sobre la versión para el editor. El formato del mensaje
no está especificado.

Current línea: Sin cambios.

Current visión de conjunto: Sin cambios.

Visual
Sinopsis:
[1dir] vi[sual][tipo][contar][banderas]

If ex está actualmente en modo abierto o visual, la sinopsis y el comportamiento del comando visual
será el mismo que el editar comando, según lo especificado por Editar.

De lo contrario, este comando no necesita ser compatible con terminales en modo bloque o terminales con
Capacidades insuficientes. Si la entrada estándar, la salida estándar o el error estándar no son
dispositivos terminales, los resultados no están especificados.

If contar se especifica, el valor de la ventana La opción de edición se establecerá en contar (Como se
descrita en ventana) Si el '^' También se especificó el carácter de tipo, el ventana editar
La opción debe establecerse antes de ser utilizada por el carácter de tipo.

Ingrese al modo visual. Si tipo no se especifica, será como si un tipo of '+' fue
especificado. los tipo causará los siguientes efectos:

+ Coloque el comienzo de la línea especificada en la parte superior de la pantalla.

- Coloque el final de la línea especificada en la parte inferior de la pantalla.

. Coloque el comienzo de la línea especificada en el medio de la pantalla.

^ Si la línea especificada es menor o igual que el valor de la ventana opción de edición,
establezca la línea en 1; de lo contrario, disminuya la línea por el valor de la ventana editar
opción menos 1. Coloque el comienzo de esta línea lo más cerca de la parte inferior de la
líneas mostradas como sea posible, sin dejar de mostrar el valor de la ventana editar
opción número de líneas.

Current línea: Establecer en la línea especificada.

Current visión de conjunto: Establecer como no .

Escribe.
Sinopsis:
[2dir] w[rito][!][>>][presentar]
[2dir] w[rito][!][presentar]
[2dir] wq[!][>>][presentar]

Si no se especifican líneas, las líneas se utilizarán por defecto para todo el archivo.

El comando wq será equivalente a un escribir comando seguido de un renuncia mando; ¡qq!
será equivalente a ¡escribir! seguido por renuncia. En ambos casos, si el escribir comando
falla, el renuncia no se intentará.

Si el nombre del comando no va seguido de uno o más personajes, o presentar no es
precedido por un '!' personaje, el escribir será a un archivo.

1. Si el >> se especifica el argumento, y el archivo ya existe, las líneas deben ser
adjunto al archivo en lugar de reemplazar su contenido. Si el >> el argumento es
especificado, y el archivo aún no existe, no se especifica si la escritura
procederá como si el >> argumento no se ha especificado o si la escritura fallará.

2. Si el solo lectura La opción de edición está configurada (ver solo lectura), el escribir fallará.

3. Si presentar se especifica, y no es el nombre de ruta actual, y el archivo existe, el escribir
fallará.

4. Si presentar no se especifica, se utilizará el nombre de ruta actual. Si no hay corriente
nombre de ruta, el escribir El comando fallará.

5. Si se utiliza el nombre de ruta actual y el nombre de ruta actual ha sido cambiado por el presentar
or leer comandos, y el archivo existe, el escribir fallará. Si el escribir is
exitoso, subsecuente escribirs no fallará por esta razón (a menos que la corriente
el nombre de la ruta se cambia de nuevo).

6. Si no se está escribiendo todo el búfer de edición y el archivo que se va a escribir existe,
escribir fallará.

Para las reglas 1., 2., 3. y 5., el escribir se puede forzar agregando el carácter '!' a
el nombre del comando.

Para las reglas 2., 3. y 5., el escribir se puede forzar configurando el escribir cualquier opción de edición.

Las pruebas adicionales definidas por la implementación pueden escribir fallar

Si el búfer de edición está vacío, se escribirá un archivo sin contenido.

Se redactará un mensaje informativo indicando el número de líneas y bytes escritos.

De lo contrario, si el comando va seguido de uno o más caracteres, y el archivo es
precedido por '!', el resto de la línea después del '!' tendré '%', '#'y '!'
caracteres expandidos como se describe en Comando línea Parsing in ex.

El ex La utilidad pasará entonces dos argumentos al programa nombrado por el shell editar
opción; el primero será −c y el segundo serán los argumentos expandidos a la escribir
comando como un solo argumento. Las líneas especificadas se escribirán en la entrada estándar.
del comando. El error estándar y la salida estándar del programa, si los hay, serán
escrito como se describe para el Imprimir mando. Si el último carácter de esa salida no es un
, a se escribirá al final de la salida.

El significado especial de la '!' después de la escribir El comando se puede anular escapando
con un personaje.

Current línea: Sin cambios.

Current visión de conjunto: Sin cambios.

Escribe. y Exit
Sinopsis:
[2dir] x[it][!][presentar]

Si el búfer de edición no se ha modificado desde la última vez que se completó escribir, salir será
equivalente a la renuncia comando, o si un '!' se agrega al nombre del comando, para ¡dejar!.

De lo contrario, salir será equivalente a la wq comando, o si un '!' se adjunta al
nombre del comando, a ¡qq!.

Current línea: Sin cambios.

Current visión de conjunto: Sin cambios.

yanqui
Sinopsis:
[2dir] ya[nk][buffer][contar]

Copie las líneas especificadas en el búfer especificado (por defecto, el búfer sin nombre), que
se convertirá en un búfer en modo de línea.

Current línea: Sin cambios.

Current visión de conjunto: Sin cambios.

definir los benchmarks y KPIs para la estrategia de crecimiento en Paid Media en TikTok. Ventana
Sinopsis:
[1dir] z[!][tipo ...][contar][banderas]

Si no se especifica ninguna línea, la línea actual será la predeterminada; Si tipo se omite como
bien, el valor de la línea actual se incrementará primero en 1. Si se incrementa el valor actual
línea causaría que sea mayor que la última línea en el búfer de edición, será un
error.

Si hay personajes entre el tipo argumento y el anterior z nombre del comando
u opcional '!' carácter, será un error.

If contar se especifica, el valor de la ventana La opción de edición se establecerá en contar (Como se
descrita en ventana) Si contar se omite, por defecto será 2 veces el valor de la
mover opción de edición, o si ! se especificó, el número de líneas en la pantalla menos 1.

If tipo se omite, entonces contar Se escribirán las líneas que comiencen con la línea especificada.
De lo contrario, contar líneas que comienzan con la línea especificada por el tipo el argumento será
escrito.

El tipo El argumento cambiará las líneas que se escribirán. Los posibles valores de tipo son como se
manera:

- La línea especificada se reducirá con el siguiente valor:

(((número of `` - '' caracteres) x contar) −1)

Si el cálculo da como resultado un número menor que 1, será un error. Escribir
líneas del búfer de edición, comenzando en el nuevo valor de línea, hasta contar líneas o
se ha escrito la última línea del búfer de edición.

+ La línea especificada se incrementará con el siguiente valor:

(((número of `` + '' caracteres) −1) x contar) +1

Si el cálculo da como resultado un número mayor que la última línea de la edición
búfer, será un error. Escriba líneas desde el búfer de edición, comenzando en el nuevo
valor de la línea, hasta contar líneas o la última línea en el búfer de edición ha sido
escrito.

= ,. Si mas de una '.' or '=' se especifica, será un error. El seguimiento
se tomarán las medidas siguientes:

1. Si contar es cero, no se escribirá nada.

2. Escriba la mayor cantidad de N líneas antes de la línea actual en el búfer de edición como
existe. Si contar or '!' fue especificado, N será:

(contar −1) / 2

De lo contrario, N será:

(contar −3) /2

If N es un número menor que 3, no se escribirán líneas.

3. Si '=' se especificó como el carácter de tipo, escriba una línea que consta de la
menor del número de columnas en la pantalla dividido por dos, o 40 '-'
personajes.

4. Escribe la línea actual.

5. Repita el paso 3.

6. Escriba la mayor cantidad de N líneas después de la línea actual en el búfer de edición como existen.
N se definirá como en el paso 2. Si N es un número menor que 3, no se colocarán líneas
escrito. Si contar es menor que 3, no se escribirán líneas.

^ La línea especificada se reducirá con el siguiente valor:

(((número of `` ^ '' caracteres) + 1) x contar) −1

Si el cálculo da como resultado un número menor que 1, será un error. Escribir
líneas del búfer de edición, comenzando en el nuevo valor de línea, hasta contar líneas o
se ha escrito la última línea del búfer de edición.

Current línea: Se establece en la última línea escrita, a menos que el tipo sea =, en cuyo caso, establézcalo en
la línea especificada.

Current visión de conjunto: Establecer como no .

Escapar
Sinopsis:
! comando
[addr]! comando

El contenido de la línea después del '!' tendré '%', '#'y '!' caracteres expandidos
como se describe en Comando línea Parsing in ex. Si la expansión provoca que el texto de la línea
para cambiar, se volverá a mostrar, precedido por un solo '!' carácter.

El ex La utilidad ejecutará el programa nombrado por el shell opción de edición. Pasará dos
argumentos al programa; el primero será −c, y el segundo será el expandido
argumentos a la ! comando como un solo argumento.

Si no se especifican líneas, la entrada estándar, la salida estándar y el error estándar del
El programa se establecerá en la entrada estándar, la salida estándar y el error estándar del ex
programa cuando fue invocado. Además, se escribirá un mensaje de advertencia si la edición
El búfer se ha modificado desde la última escritura completa, y el advertir La opción de edición está configurada.

Si se especifican líneas, se pasarán al programa como entrada estándar, y la
La salida estándar y el error estándar del programa reemplazarán esas líneas en la edición.
buffer. Cada línea en la salida del programa (delimitada por personajes o el final
de la salida si no está inmediatamente precedido por un ), será una línea separada
en el búfer de edición. Cualquier aparición de y pares en la salida
será tratado como soltero caracteres. Las líneas especificadas se copiarán en
el búfer sin nombre antes de que se reemplacen, y el búfer sin nombre se convertirá en una línea
búfer de modo.

Si en ex modo, un solo '!' El carácter se escribirá cuando se complete el programa.

Este comando se verá afectado por el shell y advertir editar opciones. Si no hay líneas
especificado, este comando se verá afectado por el escribir automáticamente y escribir cualquier editar opciones. Si
líneas están especificadas, este comando se verá afectado por el autoimpresión opción de edición.

Current línea:

1. Si no se especifican líneas, no cambia.

2. De lo contrario, establezca la última línea leída, si se lee alguna línea.

3. De lo contrario, establezca la línea antes de la primera línea de las líneas especificadas, si esa línea
existe.

4. De lo contrario, establezca la primera línea del búfer de edición si el búfer de edición no está vacío.

5. De lo contrario, ajústelo a cero.

Current visión de conjunto: Si no se especifican líneas, no se modifica. De lo contrario, establézcalo como no .

Shift Unidades
Sinopsis:
[2dir] <[<...][contar][banderas]

Mueva las líneas especificadas al inicio de la línea; el número de posiciones de columna a ser
desplazado será el número de caracteres de comando multiplicado por el valor del ancho de turno editar
opción. Solo liderando los caracteres se eliminarán o cambiarán por otros
personajes en cambio; otros personajes no se verán afectados.

Las líneas que se cambiarán se copiarán en el búfer sin nombre, que se convertirá en una línea-
búfer de modo.

Este comando se verá afectado por el autoimpresión opción de edición.

Current línea: Se establece en la última línea de las líneas especificadas.

Current visión de conjunto: Establecer como no .

Shift Derecha
Sinopsis:
[2dir] >[> ...][contar][banderas]

Mueva las líneas especificadas lejos del inicio de la línea; el número de posiciones de columna
a cambiar será el número de caracteres de comando multiplicado por el valor del ancho de turno
opción de edición. El cambio se logrará agregando caracteres como prefijo a
la línea o el cambio de líder personajes en otros caracteres. Líneas vacías
no se cambiará.

Las líneas que se cambiarán se copiarán en el búfer sin nombre, que se convertirá en una línea-
búfer de modo.

Este comando se verá afectado por el autoimpresión opción de edición.

Current línea: Se establece en la última línea de las líneas especificadas.

Current visión de conjunto: Establecer como no .

-D
Sinopsis:
-D

Escribe el siguiente n líneas, donde n es el mínimo de los valores de la mover opción de edición y
el número de líneas después de la línea actual en el búfer de edición. Si la línea actual es la
última línea del búfer de edición, será un error.

Current línea: Establecer en la última línea escrita.

Current visión de conjunto: Establecer como no .

Escribe. línea Número
Sinopsis:
[1dir] = [banderas]

If línea no se especifica, se utilizará por defecto en la última línea del búfer de edición. Escribe el
número de línea de la línea especificada.

Current línea: Sin cambios.

Current visión de conjunto: Sin cambios.

Implementación
Sinopsis:
[2dir] @ buffer
[2dir] * buffer

Si no se especifica ningún búfer o se especifica como '@' or '*', el último búfer ejecutado será
usado. Si no se ha ejecutado ningún búfer anterior, será un error.

Para cada línea especificada por las direcciones, configure la línea actual ('.') a lo especificado
línea, y ejecute el contenido del nombre buffer (como estaban en el momento @ comando
fue ejecutado) como ex comandos. Para cada línea de un búfer en modo de línea, y todos menos el último
línea de un búfer en modo carácter, el ex El analizador de comandos se comportará como si la línea fuera
terminado por un .

Si ocurre un error durante este proceso, o una línea especificada por las direcciones no
existen cuando la línea actual se establecería en él, o se especificó más de una sola línea
por las direcciones, y el contenido del búfer de edición se reemplaza (por ejemplo, por el ex
edit: comando) se escribirá un mensaje de error, y no más comandos resultantes del
Se procesará la ejecución de este comando.

Current línea: Según lo especificado para el individuo ex comandos.

Current visión de conjunto: Según lo especificado para el individuo ex comandos.

Regular Expresiones in ex
El ex La utilidad debe admitir expresiones regulares que son un superconjunto de la regular básica
expresiones descritas en el volumen de Definiciones básicas de POSIX.1‐2008, Sección 9.3, Basic
Regular Expresiones. Una expresión regular nula ("//") será equivalente al último
expresión regular encontrada.

Las expresiones regulares se pueden usar en direcciones para especificar líneas y, en algunos comandos (para
ejemplo, el sustitutas comando), para especificar partes de una línea que se sustituirán.

Las siguientes construcciones se pueden utilizar para mejorar las expresiones regulares básicas:

\ <Coincide con el comienzo de un por el temor . (Ver la definición de por el temor al comienzo de
Comando Descripción in ex.)

\> Coincide con el final de un por el temor .

~ Coincidir con la pieza de repuesto de la última sustitutas mando. los ('~')
carácter se puede escapar en una expresión regular para convertirse en un carácter normal con
ningún significado especial. El será descartado.

Cuando la opción de editor magic no se establece, los únicos caracteres con significados especiales deben
be '^' al comienzo de un patrón, PS al final de un patrón, y . los
personajes '.', '*', '['y '~' se tratarán como caracteres ordinarios a menos que estén precedidos
por un ; cuando va precedido de un recuperarán su significado especial,
o en el caso de , ser manejado como un solo . caracteres
utilizados para escapar de otros caracteres se descartarán.

DE MOLARES Tangas in ex
El personaje '&' ('\ &' si la opción de editor magic no está configurado) en la cadena de reemplazo
representará el texto que coincide con el patrón que se sustituirá. El personaje '~' ('\ ~' if
magic no está configurado) será reemplazado por la pieza de repuesto del anterior sustitutas
mando. La secuencia '\norte', Donde n es un número entero, será reemplazado por el texto coincidente
por la expresión de referencia inversa correspondiente. Si la referencia posterior correspondiente
expresión no coincide, entonces los caracteres '\norte' será reemplazado por la cadena vacía.

Las cuerdas '\ l', '\ u', '\ L'y '\ U' se puede utilizar para modificar el caso de elementos en el
cadena de reemplazo (usando el '\ &' or "\"dígito) notación. La cuerda '\ l' ('\ u') deberá
hacer que el carácter que sigue se convierta a minúsculas (mayúsculas). La cuerda '\ L'
('\ U') hará que todos los caracteres posteriores se conviertan a minúsculas
(mayúsculas) a medida que se insertan mediante la sustitución hasta que la cadena '\mi' or '\MI', o el
se encuentra el final de la cadena de reemplazo.

De lo contrario, cualquier personaje que siga a será tratado como ese literal
personaje, y la fuga será descartado.

Un ejemplo de conversión de caso con el s comando es el siguiente:

:p
El gato pueblo on las estera.
:s / \ <. en \> / \ u & / gp
El Gato Sab. on las Estera.
:s / S \ (. * \) M / S \ U \ 1 \ eM / p
El Gato Sábado ON EL REINO UNIDO Estera.

Editar Opciones in ex
El ex La utilidad tiene una serie de opciones que modifican su comportamiento. Estas opciones tienen
configuración predeterminada, que se puede cambiar con el set mando.

Las opciones son booleanas a menos que se especifique lo contrario.

autoindent ai
[Defecto desarmado]

If sangría automática se establece, cada línea en el modo de entrada se sangrará (utilizando primero tantos
caracteres como sea posible, según lo determinado por la opción del editor tabulación, y luego usando
caracteres) para alinear con otra línea, de la siguiente manera:

1. Si está en modo abierto o visual y la entrada de texto es parte de un comando orientado a líneas (consulte
la DESCRIPCIÓN EXTENDIDA en vi), alinee con la primera columna.

2. De lo contrario, si está en modo abierto o visual, la sangría para cada línea se establecerá como
manera:

una. Si se insertó previamente una línea como parte de este comando, se establecerá en el
sangría de la última línea insertada de forma predeterminada, o como se especifique de otra manera para
los ‐D personaje en Entrada Moda Comandos in vi.

B. De lo contrario, se establecerá en la sangría de la línea actual anterior, si
alguna; de lo contrario, a la primera columna.

3. Para el ex a, iy c comandos, la sangría para cada línea se establecerá de la siguiente manera:

una. Si se insertó previamente una línea como parte de este comando, se establecerá en el
sangría de la última línea insertada de forma predeterminada, o como se especifique de otra manera para
las eof personaje en Voluta.

B. De lo contrario, si el comando es el ex a comando, se establecerá en la línea
adjunto después, si lo hubiera; de lo contrario, a la primera columna.

C. De lo contrario, si el comando es el ex i comando, se establecerá en la línea
insertado antes, si lo hubiera; de lo contrario, a la primera columna.

D. De lo contrario, si el comando es el ex c comando, se establecerá en la sangría
de la línea reemplazada.

autoimpresión, ap
[Defecto set]

If autoimpresión se establece, la línea actual se escribirá después de cada ex comando que modifica
el contenido del búfer de edición actual, y después de cada etiqueta comando para el cual la etiqueta
Se encontró un patrón de búsqueda o el número de línea de etiqueta era válido, a menos que:

1. El comando se ejecutó en modo abierto o visual.

2. El comando se ejecutó como parte de un global or v comando o @ ejecución del búfer.

3. El comando era la forma del leer comando que lee un archivo en el búfer de edición.

4. El comando fue el anexar, el cambioo insertar mando.

5. El comando no fue terminado por un .

6. La línea actual se escribirá con una bandera especificada en el comando; por ejemplo,
borrar # Deberá escribir la línea actual como se especifica para el modificador de bandera en el borrar
comando, y no como lo especifica el autoimpresión opción de edición.

escritura automática, aw
[Defecto desarmado]

If escribir automáticamente está configurado, y el búfer de edición se ha modificado desde la última vez que se
escrito en cualquier archivo, el contenido del búfer de edición se escribirá como si el ex escribir
comando se había especificado sin argumentos, antes de cada comando afectado por el
escribir automáticamente se ejecuta la opción de edición. Añadiendo el personaje '!' al nombre de comando de cualquier
de las ex comandos excepto '!' impedirá la escritura. Si la escritura falla, será un
error y el comando no se ejecutará.

embellecer, bf
[Defecto desarmado]

If embellecer está configurado, todos los caracteres no imprimibles, excepto , , y
feed> caracteres, se descartarán del texto leído desde los archivos.

directorio, dir
[Defecto definido por la implementación]

El valor de esta opción especifica el directorio en el que se ubicará el búfer del editor.
metido. Si el usuario no puede escribir en este directorio, el editor se cerrará.

comestible, ed
[Defecto desarmado]

Provoca la presencia de g y c sufijos en comandos sustitutos para recordar, y
alternado repitiendo los sufijos.

campanas de error, eb
[Defecto desarmado]

Si el editor está en ex modo, y el terminal no admite un modo destacado (como
video inverso), y campanas de error se establece, los mensajes de error deben ir precedidos de una alerta al
terminal.

exrc
[Defecto desarmado]

If exrc Está establecido, ex deberá acceder a cualquier .exrc archivo en el directorio actual, como se describe en
Inicialización in ex y vi. Si exrc no está configurado, ex ignorará cualquier .exrc presentar en el
directorio actual durante la inicialización, a menos que el directorio actual sea el nombrado por el
INICIO Variable ambiental.

ignorar caso, ic
[Defecto desarmado]

If ignorar caso está configurado, los caracteres que tienen representaciones en mayúsculas y minúsculas deben
hacer que esas representaciones se consideren equivalentes a los efectos de la expresión regular
comparación.

El ignorar caso la opción de edición afectará a todas las expresiones regulares recordadas; por ejemplo,
desarmar el ignorar caso La opción de edición causará una subsecuente vi n comando para buscar
la última expresión regular básica que distingue entre mayúsculas y minúsculas.

lista
[Defecto desarmado]

If lista está configurado, edite las líneas de búfer escritas mientras está en ex el modo de comando se escribirá como
especificado para el Imprimir comando con el l bandera especificada. En modo abierto o visual, cada
La línea de búfer de edición se mostrará como se especifica para el ex Imprimir comando con el l bandera
especificado. En el modo de entrada de texto abierto o visual, cuando el cursor no se apoya en ningún
carácter en la línea, descansará sobre el PS marcando el final de la línea.

magic
[Defecto set]

If magic está configurado, modificar la interpretación de caracteres en expresiones regulares y
sustitución de cadenas de reemplazo (ver Regular Expresiones in ex y DE MOLARES Tangas in
ex).

mesg
[Defecto set]

If mesg está establecido, el permiso para que otros usen el escribir or hablar comandos para escribir
el terminal se encenderá mientras esté en modo abierto o visual. El comando de nivel de shell mesg
n prevalecerá sobre cualquier ajuste de la ex mesg opción; eso es, si mesg y fue
emitido antes de que el editor comenzara (o en un escape de shell), como:

:! mesg y

las mesg en opción ex suprimirá los mensajes entrantes, pero el mesg la opción no
habilitar mensajes entrantes si mesg n se emitió.

número, nu
[Defecto desarmado]

If número está configurado, edite las líneas de búfer escritas mientras está en ex el modo de comando se escribirá con
números de línea, en el formato especificado por el Imprimir comando con el # bandera especificada. En
ex modo de entrada de texto, cada línea debe estar precedida por el número de línea que tendrá en el
archivo.

En modo abierto o visual, cada línea de búfer de edición se mostrará con una línea anterior.
número, en el formato especificado por el ex Imprimir comando con el # bandera especificada. Esta
El número de línea no se considerará parte de la línea a los efectos de evaluar la
columna actual; es decir, la posición de la columna 1 será la primera posición de la columna después de la
formato especificado por el Imprimir mando.

párrafos para 
[Predeterminado en la configuración regional POSIX IPLPPPQPP LIpplpipbp]

El párrafos La opción de edición debe definir límites de párrafos adicionales para los
comandos de modo visual. los párrafos La opción de edición se puede establecer en una cadena de caracteres.
que consta de cero o más pares de caracteres. Será un error establecerlo en un valor impar.
número de caracteres.

puntual
[Defecto set]

If puntual Está establecido, ex La entrada del modo de comando se solicitará con un (':'); cuando
desarmado, no se escribirá ningún aviso.

solo lectura
[Defecto ver texto]

Si solo lectura La opción de edición está configurada, el modo de solo lectura debe estar habilitado (ver Escribe.). La
solo lectura La opción de edición se inicializará para establecer si se cumple alguna de las siguientes condiciones.
cierto:

* Se especificó la opción de línea de comandos −R.

* Realizar acciones equivalentes a las de la máquina() función llamada con lo siguiente
argumentos indica que el archivo carece de permiso de escritura:

1. El nombre de la ruta actual se utiliza como camino argumento.

2. La constante W_OK se usa como el modo argumento.

El solo lectura La opción de edición se puede inicializar para establecerla para otras opciones definidas por la implementación.
razones. El solo lectura La opcin de edicin no se debe inicializar para desarmar en base a ningn especial
privilegios del usuario o proceso. los solo lectura La opción de edición se reinicializará cada
tiempo en que se reemplaza el contenido del búfer de edición (por ejemplo, por un editar or Next
comando) a menos que el usuario lo haya configurado explícitamente, en cuyo caso permanecerá configurado hasta
el usuario lo desarma explícitamente. Una vez desarmado, se reinicializará de nuevo cada vez que
se reemplaza el contenido del búfer de edición.

volver a dibujar
[Defecto desarmado]

El editor simula un terminal inteligente en un terminal tonto. (Dado que es probable que esto
requiere una gran cantidad de salida al terminal, es útil solo a alta transmisión
velocidades.)

remap
[Defecto set]

If remap está configurada, la traducción de mapas permitirá mapas definidos en términos de otros mapas;
la traducción continuará hasta que se obtenga un producto final. Si no está configurado, solo un paso
se hará la traducción.

reporte
[Predeterminado 5]

El valor de este reporte La opción de edición especifica el número de líneas que se agregan, copian,
eliminado o modificado en el búfer de edición hará que se escriba un mensaje informativo
al usuario. Las siguientes condiciones provocarán un mensaje informativo. El mensaje
deberá contener el número de líneas agregadas, copiadas, eliminadas o modificadas, pero de lo contrario
sin especificar.

* Un ex or vi comando del editor, que no sea habiertos, deshacero visual, que modifica al menos
el valor de la reporte editar el número de líneas de la opción, y que no es parte de una ex
global or v comando, o ex or vi ejecución del búfer, causará una información
mensaje a escribir.

* Un ex tirón or vi y or Y comando, que copia al menos el valor del reporte editar
opción más 1 número de líneas, y que no es parte de una ex global or v comando, o
ex or vi ejecución del búfer, hará que se escriba un mensaje informativo.

* Un ex global, v, habiertos, deshacero visual comando o ex or vi ejecución de búfer, que agrega
o elimina un total de al menos el valor de la reporte editar opción número de líneas,
y que no es parte de un ex global or v comando, o ex or vi ejecución de búfer,
hará que se escriba un mensaje informativo. (Por ejemplo, si 3 líneas fueran
agregado y 8 líneas eliminadas durante un ex visual comando, 5 sería el número comparado
Contra el reporte opción de edición después de que se complete el comando).

Desplazarse, scr
[Predeterminado (número de líneas en la pantalla −1) / 2]

El valor de la mover La opción de edición determinará el número de líneas desplazadas por el ex
‐D y z comandos. Para el vi ‐D y ‐U comandos, será
el número inicial de líneas para desplazarse cuando no hay anterior ‐D o ‐U comando
ha sido ejecutado.

(secciones)
[Predeterminado en la configuración regional POSIX NHSHH HUnhsh]

El (secciones) La opción de edición debe definir límites de sección adicionales para el abierto y
comandos de modo visual. los (secciones) La opción de edición se puede establecer en una cadena de caracteres que consta de
de cero o más pares de caracteres; será un error establecerlo en un número impar de
personajes.

cáscara, sh
[Valor predeterminado de la variable de entorno SHELL]

El valor de esta opción será una cadena. El defecto se tomará de la SHELL
Variable ambiental. Si el SHELL variable de entorno es nula o vacía, la sh (consulta: sh)
la utilidad será la predeterminada.

ancho de turno, sw
[Predeterminado 8]

El valor de esta opción dará el ancho en columnas de un nivel de sangría usado
durante la autoindentación y por los comandos de cambio (< y >).

partido de exhibicion, sm
[Defecto desarmado]

La funcionalidad descrita para el partido de exhibicion La opción de edición no necesita ser compatible con block-
terminales de modo o terminales con capacidades insuficientes.

If partido de exhibicion se establece, en modo abierto o visual, cuando un ')' or '}' se escribe, si la coincidencia
'(' or '{' está visible actualmente en la pantalla, la coincidencia '(' or '{' será marcado
mover el cursor a su ubicación durante un período de tiempo no especificado.

modo de exhibición
[Defecto desarmado]

If modo de exhibición está configurado, en modo abierto o visual, el modo actual en el que se encuentra el editor debe
aparecer en la última línea de la pantalla. El modo de comando y el modo de entrada de texto deben ser
diferenciado; Otros modos no especificados y la información definida por la implementación pueden ser
desplegado.

abrir lento
[Defecto desarmado]

If abrir lento se configura durante los modos de entrada de texto abierto y visual, el editor no debe actualizar
partes de la pantalla que no sean las columnas de la línea de pantalla que muestran los caracteres
ingresado por el usuario (ver Entrada Moda Comandos in vi).

tabulación, ts
[Predeterminado 8]

El valor de esta opción de edición debe especificar el límite de columna utilizado por un en el
pantalla (ver autoimpresión, ap y Entrada Moda Comandos in vi).

longitud de etiqueta, tl
[Cero predeterminado]

El valor de esta opción de edición debe especificar el número máximo de caracteres que se
considerado significativo en el nombre de etiqueta especificado por el usuario y en el nombre de etiqueta de las etiquetas
expediente. Si el valor es cero, todos los caracteres en ambos nombres de etiqueta serán significativos.

etiquetas
[Defecto ver texto]

El valor de esta opción de edición será una cadena de -nombres de ruta delimitados de archivos
utilizado por el etiqueta mando. El valor predeterminado no está especificado.

término
[Valor predeterminado de la variable de entorno PLAZO]

El valor de esta opción de edición será una cadena. El defecto se tomará de la PLAZO
variable en el medio ambiente. Si el PLAZO la variable de entorno está vacía o nula, la
el valor predeterminado no está especificado. El editor utilizará el valor de esta opción de edición para determinar
el tipo de dispositivo de visualización.

Los resultados no se especifican si el usuario cambia el valor de la opción de edición del término después
inicialización del editor.

breve
[Defecto desarmado]

If breve está configurado, los mensajes de error pueden ser menos detallados. Sin embargo, a excepción de esta advertencia,
los mensajes de error no están especificados. Además, no es necesario cambiar todos los mensajes de error para
diferentes configuraciones de esta opción.

advertir
[Defecto set]

If advertir está configurado, y el contenido del búfer de edición se ha modificado desde que se
escrito por última vez en su totalidad, el editor debe escribir un mensaje de advertencia antes de !
comandos (ver Escapar).

ventana
[Defecto ver texto]

Un valor utilizado en modo abierto y visual, por el ‐B y ‐F comandos, y, en
modo visual, para especificar el número de líneas que se muestran cuando se vuelve a pintar la pantalla.

Si −w La opción de línea de comandos no está especificada, el valor predeterminado se establecerá en el
valor de la LÍNEAS Variable ambiental. Si el LÍNEAS la variable de entorno está vacía o
nulo, el valor predeterminado será el número de líneas en la pantalla menos 1.

Configurando el ventana opción de edición a cero oa un valor mayor que el número de líneas en
la pantalla menos 1 (ya sea explícitamente o en función de la −w opción o el LÍNEAS entorno
variable) causará la ventana opción de edición que se establecerá en el número de líneas en el
mostrar menos 1.

La velocidad en baudios de la línea terminal puede cambiar el valor predeterminado en una implementación definida
manera.

wrapmargin wm
[Predeterminado 0]

Si el valor de esta opción de edición es cero, no tendrá ningún efecto.

Si no está en la configuración regional POSIX, el efecto de esta opción de edición está definido por la implementación.

De lo contrario, especificará un número de columnas desde el margen final del terminal.

Durante los modos de entrada de texto abierto y visual, para cada carácter para el que cualquier parte del
El carácter se muestra en una columna que es menor que Margen envolvente columnas del final
margen de la línea de visualización, el editor se comportará de la siguiente manera:

1. Si el personaje que desencadena este evento es un , it, y todo lo inmediatamente anterior
caracteres en la línea actual ingresados ​​durante la ejecución de la actual
comando de entrada de texto, se descartará y el editor se comportará como si el usuario hubiera
entró un solo en lugar de. Además, si el siguiente carácter introducido por el usuario es
a , también se descartará.

2. De lo contrario, si hay uno o más caracteres en la línea actual inmediatamente
que precede al último grupo de insertos no caracteres que se ingresaron durante
la ejecución del comando de entrada de texto actual, el los personajes deben ser
reemplazado como si el usuario hubiera ingresado un solo en lugar de.

Si sangría automática se establece la opción de edición y se realizan los eventos descritos en 1. o 2.,
alguna los caracteres en o después del cursor en la línea actual serán descartados.

El margen final será determinado por el sistema o anulado por el usuario, según
descrito para COLUMNAS en la sección VARIABLES DEL MEDIO AMBIENTE y el volumen Definiciones básicas
de POSIX.1‐2008, Capítulo 8, Entorno Variables.

Wrapscan ws
[Defecto set]

If Wrapscan está configurado, busca (el ex / or ? direcciones, o modo abierto y visual /, ?, N,
y n comandos) se ajustará al principio o al final del búfer de edición; cuando está desarmado,
las búsquedas se detendrán al principio o al final del búfer de edición.

escribir cualquier wa
[Defecto desarmado]

If escribir cualquier está configurado, algunas de las comprobaciones realizadas al ejecutar el ex escribir comandos
se inhibirá, como se describe en la opción del editor escribir automáticamente.

SALIR ESTADO


Se devolverán los siguientes valores de salida:

0 Finalización satisfactoria.

> 0 Ocurrió un error.

CONSECUENCIAS OF ERRORES


Cuando se encuentra algún error y la entrada estándar no es un archivo de dispositivo terminal, ex
no escribirá el archivo ni volverá al modo de comando o entrada de texto, y terminará con
un estado de salida distinto de cero.

De lo contrario, cuando se encuentre un error irrecuperable, será equivalente a un SIGHUP
evento asincrónico.

De lo contrario, cuando se encuentra un error, el editor se comportará como se especifica en Comando
línea Parsing in ex.

El siguiendo (secciones) en informativo.

SOLICITUD USO


Si se recibe una señal SIGSEGV mientras ex está guardando un archivo, es posible que el archivo no esté
guardado con éxito.

El Next El comando puede aceptar más de un archivo, por lo que el uso como:

Next `ls [abc] * `

es válida; no seria valido para el editar or leer comandos, por ejemplo, porque
espere un solo archivo y se producirán resultados no especificados.

EJEMPLOS


Ninguna.

RAZÓN FUNDAMENTAL


El ex/vi La especificación se basa en la práctica histórica que se encuentra en los 4 BSD y System
V implementaciones de ex y vi.

A límite editor (tanto el histórico rojo utilidad y modificaciones a ex) fueron
considerado y rechazado para su inclusión. Ninguna opción proporcionó el nivel de seguridad que
los usuarios pueden esperar.

Se reconoce que ex El modo visual y las funciones relacionadas serían difíciles, si no
imposible, de implementar satisfactoriamente en un terminal en modo bloque, o un terminal sin
cualquier forma de direccionamiento del cursor; por lo tanto, no es un requisito obligatorio que tales características
debería funcionar en todos los terminales. Sin embargo, la intención es que un ex implementación
debe proporcionar el conjunto completo de capacidades en todos los terminales capaces de soportarlas.

Opciones
El −c reemplazo para +comando fue inspirado por el −e opción de SED. Históricamente, todos
tales comandos (ver editar y Next también) se ejecutaron desde la última línea de la edición
buffer. Esto significó, por ejemplo, que "+ / patrón" fallaría a menos que el Wrapscan opción
se estableció. POSIX.1‐2008 requiere la conformidad con la práctica histórica. los +comando opción es
ya no está especificado por POSIX.1‐2008 pero puede estar presente en algunas implementaciones.
Históricamente, algunas implementaciones restringieron la ex comandos que se pueden enumerar como parte
de los argumentos de la línea de comando. Por coherencia, POSIX.1‐2008 no permite estos
restricciones

En implementaciones históricas del editor, el −R opción (y la solo lectura opción de edición)
solo evitó la sobrescritura de archivos; anexar archivos todavía estaba permitido, mapeo
libremente en el csh no clobber variable. Algunas implementaciones, sin embargo, no han seguido
esta semántica, y solo lectura tampoco permite anexar. POSIX.1‐2008 sigue el
ltima prctica, creyendo que es un significado ms obvio e intuitivo de solo lectura.

El −s La opción suprime todos los comentarios interactivos de los usuarios y es útil para editar scripts.
en trabajos por lotes. La lista de efectos específicos es una práctica histórica. El tipo de terminal
`` incapaz de soportar modos abiertos y visuales '' históricamente ha sido llamado `` tonto ''.

El −t La opción era necesaria porque la etiquetas La utilidad aparece en POSIX.1‐2008 y la
La opción está disponible en todas las implementaciones históricas de ex.

Históricamente, la ex y vi servicios públicos aceptaron un −x opción, que hizo el cifrado basado en
el algoritmo encontrado en el histórico cripta utilidad. El −x opción de cifrado, y la
asociado cripta utilidad, se omitieron porque el algoritmo utilizado no era especificable y
Las leyes de control de exportaciones de algunas naciones dificultan la exportación de datos criptográficos.
tecnología. Además, históricamente no proporcionó el nivel de seguridad que los usuarios
podría esperar.

Estándar Entrada
Una condición de fin de archivo no es equivalente a un carácter de fin de archivo. Un final común de
personaje de archivo, ‐D, es históricamente un ex mando.

No hubo longitud máxima de línea en implementaciones históricas de ex. Específicamente, ya que
se analizó en trozos, las direcciones tenían una longitud máxima diferente a la de los nombres de archivo.
Además, el tamaño máximo de búfer de línea se declaró como BUFSIZ, que tenía diferentes longitudes
en diferentes sistemas. Esta versión seleccionó el valor de {LINE_MAX} para imponer un valor razonable
restricción sobre el uso portátil de ex y para ayudar a los escritores de conjuntos de pruebas en el desarrollo de
pruebas realistas que ejercitan este límite.

Entrada archivos
Fue una decisión explícita de los desarrolladores de estándares que un ser agregado a cualquier
archivo que falta uno. Se creía que esta característica de ex y vi fue utilizado por los usuarios en
para hacer archivos de texto que carecen de un final más portátil. Se reconoce que
esto requerirá una opción o extensión especificada por el usuario para implementaciones que permitan ex
y vi para editar archivos de otro tipo que no sea texto si dichos archivos no están identificados de otra manera por
el sistema. Se acordó que la capacidad de editar archivos de tipo arbitrario puede ser útil,
pero no se consideró necesario ordenar que un ex or vi la implementación sea requerida
para manejar archivos que no sean archivos de texto.

El párrafo de la sección ARCHIVOS DE ENTRADA, `` Por defecto, ... '', está destinado a cerrar un
problema de seguridad de larga data en ex y vi; el de la `` modeline '' o `` modelines ''
opción de edición. Esta característica permite que cualquier línea en las primeras o últimas cinco líneas del archivo
que contiene las cuerdas "ex:" or "vi:" (y, aparentemente, "ei:" or "vx:") ser una línea
que contiene comandos del editor, y ex interpreta todo el texto hasta el siguiente ':' o
como un comando. Considere las consecuencias, por ejemplo, de que un usuario desprevenido utilice ex or
vi como editor al responder a un mensaje de correo en el que una línea como:

ex:! rm −rf :

apareció en las líneas de la firma. Los desarrolladores estándar creían firmemente que un editor
no debe interpretar por defecto ninguna línea de un archivo. Se insta encarecidamente a los proveedores a eliminar
esta característica de sus implementaciones de ex y vi.

Asincrónico Eventos
La intención de la frase `` escritura completa '' es que se escriba todo el búfer de edición
al almacenamiento estable. La nota sobre archivos temporales está destinada a implementaciones que
utilizar archivos temporales para respaldar los búferes de edición sin nombre del usuario.

Históricamente, SIGQUIT fue ignorado por ex, pero era el equivalente de la Q comando en visual
modo; es decir, salió del modo visual y entró ex modo. POSIX.1‐2008 permite, pero no
no requiere, este comportamiento. Históricamente, SIGINT fue utilizado a menudo por vi usuarios para terminar
modo de entrada de texto ( ‐C es a menudo más fácil de ingresar que ). Algunas implementaciones
of vi alertó a la terminal sobre este evento, y algunos no lo hicieron. POSIX.1‐2008 requiere que
SIGINT se comporta de forma idéntica a , y que no se avise al terminal.

Históricamente, suspender el ex editor durante el modo de entrada de texto era similar a SIGINT, ya que
Las líneas completadas se conservaron, pero se descartó cualquier línea parcial, y el editor volvió a
modo de comando. POSIX.1‐2008 guarda silencio sobre este tema; Se anima a las implementaciones a
siga la práctica histórica, siempre que sea posible.

Históricamente, la vi editor no trató SIGTSTP como un evento asincrónico, y fue
por lo tanto, es imposible suspender el editor en el modo de entrada de texto visual. Hay dos principales
razones para esto. El primero es que SIGTSTP es una señal de transmisión en sistemas UNIX, y el
cadena de eventos donde el caparazón ejecutivoes una aplicación que luego ejecutivos vi generalmente causado
confusión para el estado del terminal si SIGTSTP se entregó al grupo de procesos en el
manera predeterminada. El segundo fue que la mayoría de las implementaciones de UNIX carreras paquete hizo
no manejar SIGTSTP de forma segura, y la recepción de SIGTSTP en el momento equivocado los causaría
chocar. POSIX.1‐2008 guarda silencio sobre este tema; se anima a las implementaciones a tratar
suspensión como un evento asincrónico si es posible.

Históricamente, las modificaciones al búfer de edición realizadas antes de que SIGINT interrumpiera una operación
fueron retenidos; es decir, desde cero hasta todas las líneas que se van a modificar pueden tener
ha sido modificado cuando llegó el SIGINT. Estos cambios no fueron descartados por la
llegada de SIGINT. POSIX.1‐2008 permite este comportamiento, señalando que el deshacer el comando es
necesario para poder deshacer estos comandos parcialmente completados.

La acción tomada para señales distintas de SIGINT, SIGCONT, SIGHUP y SIGTERM es
no especificado porque algunas implementaciones intentan guardar el búfer de edición en un estado útil
cuando se reciben otras señales.

Estándar Error
ex/vi, los mensajes de diagnóstico son aquellos mensajes informados como resultado de un intento fallido
invocar ex or vi, como opciones no válidas o recursos insuficientes, o una anomalía
condición de terminación. Los mensajes de diagnóstico no deben confundirse con los mensajes de error.
generado por comandos de usuario inapropiados o ilegales.

Inicialización in ex y vi
Si un ex comando (que no sea cd, chdiro fuente) tiene un argumento de nombre de archivo, uno o ambos
se establecerán los nombres de ruta alternativos y actuales. De manera informal, se establecen de la siguiente manera:

1. Si el ex comando es uno que reemplaza el contenido del búfer de edición, y
tiene éxito, el nombre de la ruta actual se establecerá en el argumento del nombre de archivo (el primer
argumento de nombre de archivo en el caso de Next comando) y el nombre de ruta alternativo será
establecido en el nombre de ruta actual anterior, si había uno.

2. En el caso de las formas de lectura / escritura de archivos del leer y escribir comandos, si hay
sin nombre de ruta actual, el nombre de ruta actual se establecerá en el argumento de nombre de archivo.

3. De lo contrario, el nombre de ruta alternativo se establecerá en el argumento del nombre de archivo.

Por ejemplo, edit: foo y :recuperar foo, cuando tenga éxito, establezca el nombre de ruta actual y,
si había un nombre de ruta actual anterior, el nombre de ruta alternativo. Los comandos :escribir,
!mandoy edit: no establezca ni los nombres de ruta actuales ni alternativos. Si el edit: foo
si el comando fallara por alguna razón, se establecería el nombre de ruta alternativo. los leer y
escribir comandos establecen el nombre de ruta alternativo a su presentar argumento, a menos que el actual
nombre de ruta no está establecido, en cuyo caso establecen el nombre de ruta actual a su presentar argumentos
El nombre de ruta alternativo no fue establecido históricamente por el :fuente mando. POSIX.1‐2008
requiere conformidad con la práctica histórica. Implementaciones agregando comandos que toman
Se recomienda a los nombres de archivo como argumentos para establecer el nombre de ruta alternativo como se describe aquí.

Históricamente, los ex y vi leer el .exrc presentar en el $ HOME directorio dos veces, si el editor
fue ejecutado en el $ HOME directorio. POSIX.1‐2008 prohíbe este comportamiento.

Históricamente, los 4 BSD ex y vi leer el $ HOME y local .exrc archivos si fueran de su propiedad
por el ID real del usuario, o el fuente se configuró la opción, independientemente de otras
consideraciones. Este fue un problema de seguridad porque es posible poner UNIX normal
comandos del sistema dentro de un .exrc expediente. POSIX.1‐2008 no especifica el fuente opción,
y se alienta a las implementaciones históricas a eliminarlo.

El .exrc Los archivos deben ser propiedad de la ID real del usuario y nadie puede escribirlos.
que el dueño. La excepción de privilegios apropiada está destinada a permitir a los usuarios
adquirir privilegios especiales, pero seguir utilizando el .exrc archivos en sus directorios de inicio.

System V versión 3.2 y posterior vi implementaciones agregaron la opción [no] exrc. El comportamiento
es eso local .exrc Los archivos son de solo lectura si el exrc La opción está configurada. El predeterminado para el
exrc La opción estaba desactivada, por lo que, de forma predeterminada, local .exrc los archivos no fueron leídos. El problema este fue
que pretendía resolver era que System V permitía a los usuarios regalar archivos, por lo que no hay
posible prueba de propiedad o capacidad de escritura para garantizar que el archivo sea seguro. Esto sigue siendo un
problema de seguridad en sistemas donde los usuarios pueden regalar archivos, pero no hay nada
adicional que POSIX.1‐2008 puede hacer. La excepción definida por la implementación está destinada a
permitir que los grupos tengan locales .exrc archivos que son compartidos por los usuarios, mediante la creación de pseudo-usuarios
poseer los archivos compartidos.

POSIX.1‐2008 no menciona todo el sistema ex y vi archivos de inicio. Mientras existan en
varias implementaciones de ex y vi, no están presentes en ninguna implementación
considerada práctica histórica por POSIX.1‐2008. Implementaciones que tienen tales archivos
debe usarlos solo si son propiedad del ID de usuario real o de un usuario apropiado (por
ejemplo, root en sistemas UNIX) y si ningún usuario que no sea su
dueño. Los archivos de inicio de todo el sistema deben leerse antes de SALIR variable, $ INICIO / .exrc,
o local .exrc se evalúan los archivos.

Históricamente, cualquier ex El comando se puede ingresar en el SALIR variable o la .exrc archivo,
aunque los que requieren que el búfer de edición ya contenga líneas de texto generalmente
provocó que las implementaciones históricas del editor cayeran core. POSIX.1‐2008 requiere que
cualquier ex el comando sea permitido en el SALIR variable y .exrc archivos, por simplicidad de
especificación y consistencia, aunque muchos de ellos obviamente fallarán bajo muchos
circunstancias.

La inicialización del contenido del búfer de edición utiliza la frase `` el efecto debe
ser '' con respecto a varios ex comandos. La intención de esta frase es que el búfer de edición
los contenidos cargados durante la fase de inicialización no se perderán; es decir, cargando la edición
El búfer debería fallar si el .exrc archivo leído en el contenido de un archivo y no
posteriormente escriba el búfer de edición. Una intención adicional de esta frase es especificar que
la línea y la columna actuales iniciales se establecen como se especifica para el individuo ex comandos.

Históricamente, la −t La opción se comportó como si la búsqueda de etiquetas fuera una +comando; es decir, fue
ejecutado desde la última línea del archivo especificado por la etiqueta. Esto resultó en la búsqueda
falla si el patrón era un patrón de búsqueda hacia adelante y el Wrapscan la opción de edición no era
colocar. POSIX.1‐2008 no permite este comportamiento, requiriendo que la búsqueda de la etiqueta
el patrón se realice en todo el archivo y, si no se encuentra, que se establezca la línea actual
a una ubicación más razonable en el archivo.

Históricamente, el búfer de edición vacío se presentaba para editar cuando un archivo no estaba especificado por
el usuario no tenía nombre. Esto está permitido por POSIX.1‐2008; sin embargo, las implementaciones son
Se anima a proporcionar a los usuarios un nombre de archivo temporal para este búfer porque les permite
el uso de ex comandos que utilizan el nombre de ruta actual durante las sesiones de edición temporal.

Históricamente, el archivo especificado mediante el −t La opción no formaba parte del argumento actual.
lista. Esta práctica está permitida por POSIX.1‐2008; sin embargo, se recomiendan implementaciones
para incluir su nombre en la lista de argumentos actual para mantener la coherencia.

Históricamente, la −c el comando generalmente no se ejecutó hasta que un archivo que ya existe
fue editado. POSIX.1‐2008 requiere la conformidad con esta práctica histórica. Ordena que
podría causar el −c comando a ejecutar incluyen el ex comandos editar, Next, recuperar,
rebobinary etiqueta, y la vi comandos - ^ y -]. Históricamente, leer un
archivo en un búfer de edición no causó el −c comando que se ejecutará (aunque podría
establecer el nombre de ruta actual) con la excepción de que causó el −c comando para ser
ejecutado si: el editor estaba en ex modo, el búfer de edición no tenía un nombre de ruta actual, la edición
el búfer estaba vacío y aún no se habían intentado comandos de lectura. Por consistencia y
simplicidad de especificación, POSIX.1‐2008 no permite este comportamiento.

Históricamente, la −r La opción era la misma que en una sesión de edición normal si no había recuperación.
información disponible para el archivo. Esto permitió a los usuarios ingresar:

vi −r *.C

y recuperar los archivos recuperables. En algunas implementaciones, la recuperación fue
intentó solo en el primer archivo nombrado, y el archivo no se ingresó en el argumento
lista; en otros, se intentó la recuperación para cada archivo nombrado. Además, algunos históricos
implementaciones ignoradas −r if −t se especificó o no admitió la línea de comando presentar
argumentos con el −t opción. Para lograr coherencia y simplicidad en las especificaciones,
POSIX.1‐2008 no permite estos casos especiales y requiere que se intente la recuperación
primera vez que se edita cada archivo.

Históricamente, los vi inicializó el ` y ' marcas, pero ex No. Esto significaba que si el
primer comando en ex el modo era visual o si un ex El comando se ejecutó primero (por ejemplo,
vi +10 presentar), vi se ingresó sin que se inicializaran las marcas. Porque el estándar
Los desarrolladores creían que las marcas eran útiles en general y por su coherencia y simplicidad.
de especificación, POSIX.1‐2008 requiere que siempre se inicialicen si están abiertos o
modo visual, o si en ex modo y el búfer de edición no está vacío. No inicializarlo en ex
el modo si el búfer de edición está vacío es una práctica histórica; sin embargo, siempre ha sido
posible establecer (y usar) marcas en búferes de edición vacíos en modo abierto y en modo visual editar
sesiones

Direccionamiento
Históricamente, los ex y vi aceptó los formularios de direccionamiento adicionales '\ /' y '\?'. Eran
equivalente a "//" y "??", respectivamente. POSIX.1‐2008 no los requiere, en su mayoría
porque nadie puede recordar si alguna vez hicieron algo diferente históricamente.

Históricamente, los ex y vi permitió una dirección de cero para varios comandos, y permitió
las % dirección en archivos vacíos para otros. Para mantener la coherencia, POSIX.1‐2008 requiere soporte
para el primero en los pocos comandos donde tiene sentido, y lo rechaza de otra manera. En
Además, porque POSIX.1‐2008 requiere que % ser lógicamente equivalente a "1, $", es el
también se admite donde tiene sentido y no se permite de otro modo.

Históricamente, la % La dirección no puede ir seguida de otras direcciones. Por consistencia
y simplicidad de especificación, POSIX.1‐2008 requiere que direcciones adicionales sean
soportado.

Todos los siguientes son válidos direcciones:

+++ Tres líneas después de la línea actual.

/re/ - Una línea antes de la próxima aparición de re.

−2 Dos líneas antes de la línea actual.

3 −−−− 2 Línea uno (observe la dirección negativa intermedia).

1 2 3 Línea seis.

Se puede proporcionar cualquier número de direcciones a los comandos que toman direcciones; por ejemplo,
"1,2,3,4,5p" imprime las líneas 4 y 5, porque dos es el mayor número válido de direcciones
aceptado por el Imprimir mando. Esto, en combinación con el delimitador
permite a los usuarios crear comandos basados ​​en patrones ordenados en el archivo. Por ejemplo, el
comando 3; / foo /; + 2imprimir mostrará la primera línea después de la línea 3 que contiene el patrón
foo, más las siguientes dos líneas. Tenga en cuenta que la dirección 3; debe ser evaluado antes de ser
descartado porque el origen de la búsqueda del / foo / comando depende de esto.

Históricamente, los valores se podían agregar a las direcciones incluyéndolos después de una o más
caracteres; por ejemplo, 3 - 5p escribió la séptima línea del archivo, y / foo / 5
fue lo mismo que / foo / + 5. Sin embargo, solo se pueden agregar valores absolutos; por ejemplo,
5 / foo / fue un error. POSIX.1‐2008 requiere la conformidad con la práctica histórica. Habla a
las compensaciones se especifican por separado de las direcciones porque históricamente podrían ser
proporcionado a los comandos de búsqueda en modo visual.

Históricamente, las direcciones faltantes se asignaban de forma predeterminada a la línea actual. Esto fue cierto para
líder y final -direcciones delimitadas y para seguimiento -delimitado
direcciones. Por coherencia, POSIX.1‐2008 lo requiere para liderar direcciones como
bien.

Históricamente, los ex y vi aceptó el '^' carácter como una dirección y como un desplazamiento de bandera
para los comandos. En ambos casos fue idéntico al '-' personaje. POSIX.1‐2008 no
exigir o prohibir este comportamiento.

Históricamente, las mejoras a las expresiones regulares básicas se podrían utilizar en el direccionamiento;
por ejemplo, '~', '\ <'y '\>'. POSIX.1‐2008 requiere la conformidad con el historial
práctica; es decir, que el uso de expresiones regulares sea coherente y que
las mejoras de expresión se admitirán siempre que se utilicen expresiones regulares.

Comando línea Parsing in ex
Directores Históricos ex El análisis de comandos fue incluso más complejo que el descrito aquí. POSIX.1‐2008
requiere el subconjunto del análisis de comandos que los desarrolladores estándar creían que era
documentado y que se puede esperar razonablemente que los usuarios utilicen de forma portátil, y
eso fue históricamente consistente entre implementaciones. (La funcionalidad descartada es
oscuro, en el mejor de los casos). Las implementaciones históricas requerirán cambios para cumplir
con POSIX.1‐2008; sin embargo, no se espera que los usuarios noten ninguno de estos cambios. Más
de la complejidad en ex el análisis es para manejar tres casos especiales de terminación:

1. los !, global, v, y las versiones de filtro del leer y escribir los comandos están delimitados
por caracteres (pueden contener personajes que suelen ser
tubos de concha).

2. los ex, editar, Nexty visual en los comandos de modo abierto y visual, todos toman ex comandos,
opcionalmente conteniendo personajes, como sus primeros argumentos.

3. los s El comando toma una expresión regular como primer argumento y usa la
delimitar caracteres para delimitar el comando.

Históricamente, personajes en el +comando argumento de la ex, editar, Next,
viy visual comandos, y en el patrón y reemplazo partes del s comando, hizo
no delimitar el comando, y en los casos de filtro para leer y escribir, y la !, global,
y v comandos, no delimitaron el comando en absoluto. Por ejemplo, lo siguiente
todos los comandos son válidos:

:editar +25 | s / abc / ABC / file.c
:s / | /TUBO/
:leer! hechizo% | columnate
:global / patrón / p | l
:s / a / b / | s / c / d | colocar

Históricamente, vacío o líneas llenas en .exrc y archivos fuented archivos (así como
SALIR variables y ex secuencias de comandos de comandos) se trataron como comandos predeterminados; es decir, Imprimir
comandos. POSIX.1‐2008 requiere específicamente que se ignoren cuando se encuentran en
.exrc y fuented para eliminar una fuente común de error de usuario nuevo.

Históricamente, los ex comandos con múltiples adyacentes (o -separadas) líneas verticales
fueron manejados de manera extraña cuando se ejecutaron desde ex modo. Por ejemplo, el comando ||| <carruaje-
return>, cuando el cursor estaba en la línea 1, mostraba las líneas 2, 3 y 5 del archivo. En
Además, el comando | solo mostraría la línea después de la línea siguiente, en lugar de la
las siguientes dos líneas. El primero funcionó de manera más lógica cuando se ejecutó desde vi modo, y se muestra
líneas 2, 3 y 4. POSIX.1‐2008 requiere la vi conducta; es decir, un solo defecto
incremento de número de línea y comando para cada separador de comando, y al final
personajes después los separadores se descartan.

Históricamente, los ex permitido un solo extra como personaje de mando principal; por
ejemplo, : g / patrón /: p fue un comando válido. POSIX.1‐2008 generaliza esto para requerir que
cualquier número de líderes los personajes serán despojados.

Históricamente, cualquier prefijo del borrar el comando podría seguirse sin intervenir
caracteres por un carácter de bandera porque en el comando d p, p se interpreta como el
buffer p. POSIX.1‐2008 requiere la conformidad con la práctica histórica.

Históricamente, la k El comando podría ir seguido del nombre de la marca sin intervenir
caracteres. POSIX.1‐2008 requiere la conformidad con la práctica histórica.

Históricamente, la s el comando puede ir seguido inmediatamente por caracteres de bandera y opción;
por ejemplo, s / e / E / | s | sgc3p fue un comando válido. Sin embargo, los personajes de la bandera no
solo; por ejemplo, los comandos sp y s l fallaría, mientras que el comando sgp y s gl
tendría éxito. (Obviamente, el '#' El carácter de bandera se utilizó como carácter delimitador si
seguido el comando.) Otro problema era que los caracteres de opción tenían que preceder a la bandera
caracteres incluso cuando el comando estaba completamente especificado; por ejemplo, el comando s / e / E / pg
fallaría, mientras que el comando s / e / E / gp tendría éxito. POSIX.1‐2008 requiere conformidad con
práctica histórica.

Históricamente, el primer nombre de comando que tenía un prefijo que coincidía con la entrada del usuario
fue el comando ejecutado; por ejemplo, ve, very a todos ejecutaron el versión mando.
Sin embargo, los comandos estaban en un orden específico, de modo que a emparejado anexarno, abreviar.
POSIX.1‐2008 requiere la conformidad con la práctica histórica. La restricción al mando
El orden de búsqueda para implementaciones con extensiones es evitar la adición de comandos como
que los prefijos históricos no funcionarían de manera portátil.

Implementaciones históricas de ex y vi no manejó correctamente múltiples ex comandos,
separado por caracteres, que entraron o salieron del modo visual o del editor.
Porque las implementaciones de vi existen que no exhiben este modo de falla, POSIX.1‐2008
no lo permite

El requisito de que los nombres alfabéticos de los comandos consistan en todos los siguientes caracteres alfabéticos.
caracteres hasta el siguiente carácter no alfabético significa que los nombres de los comandos alfabéticos
deben estar separados de sus argumentos por uno o más caracteres no alfabéticos, normalmente
a o '!' carácter, excepto lo especificado para las excepciones, el borrar, ky s
comandos.

Históricamente, la repetida ejecución de la ex tu préstamo estudiantil Imprimir comandos -D, eof,
, ) borró cualquier carácter de solicitud y mostró las siguientes líneas
sin desplazarse por la terminal; es decir, inmediatamente debajo de las líneas mostradas anteriormente.
Esto proporcionó una presentación más limpia de las líneas en el archivo para el usuario. POSIX.1‐2008
no requiere este comportamiento porque puede ser imposible en algunas situaciones; sin embargo,
Se recomienda encarecidamente a las implementaciones que proporcionen esta semántica si es posible.

Históricamente, era posible cambiar archivos en medio de un comando y tener la
resto del comando ejecutado en el nuevo archivo; por ejemplo:

edit: +25 archivo.c | s / abc / ABC / | 1

era un comando válido y se intentó la sustitución en el archivo recién editado.
POSIX.1‐2008 requiere la conformidad con la práctica histórica. Los siguientes comandos son
ejemplos que ejercitan el ex analizador:

echo 'foo | bar' > archivo1; echo 'foo / bar' > archivo2;
vi
edit: +1 | s / | / TUBO / | w file1 | e file2 | 1 | s / \ // SLASH / | wq

Históricamente, no había protección en las implementaciones del editor para evitar ex global, v, @,
or * comandos que cambian los búferes de edición durante la ejecución de sus comandos asociados. Porque
esto casi invariablemente resultaría en una falla catastrófica del editor, y
existen implementaciones que presentan estos problemas, POSIX.1‐2008 requiere que el cambio
el búfer de edición durante un global or v comando, o durante un @ or * comando para el cual hay
será más que una sola ejecución, será un error. Implementaciones que soportan múltiples
Se recomienda encarecidamente que los búferes de edición simultáneamente apliquen la misma semántica a
cambiar entre búferes también.

El ex la cita de comando requerida por POSIX.1‐2008 es un superconjunto de la cita en histórico
implementaciones del editor. Por ejemplo, históricamente no fue posible escapar de un
en un nombre de archivo; por ejemplo, edit: foo \\\ de caramelos informaría que demasiados nombres de archivo
se había ingresado para el comando de edición, y no había ningún método para escapar de un en
el primer argumento de un editar, ex, Nexto visual comando en absoluto. POSIX.1‐2008 se extiende
práctica histórica, requiriendo que el comportamiento de citación sea consistente en todos ex
comandos, excepto por el mapa, desmapear, abreviary poco abreviado comandos, que
históricamente utilizado ‐V en lugar de caracteres para citar. Para esos
cuatro comandos, POSIX.1‐2008 requiere conformidad con la práctica histórica.

Barra invertida entre comillas ex no es intuitivo. -los paisajes se ignoran a menos que
escapar de un personaje especial; por ejemplo, al realizar presentar expansión del argumento, el
cadena "\\%" es equivalente a '\%', no "\corriente ruta> ". Esto puede resultar confuso para
usuarios porque suele ser uno de los caracteres que hace que la expansión del shell
ser ejecutado y, por lo tanto, deben tenerse en cuenta las reglas de cotización de shell.
Generalmente, los caracteres entre comillas solo se consideran si escapan a un carácter especial, y
se debe proporcionar un carácter de comillas para cada capa de análisis para el que se
especial. Como otro ejemplo, solo una es necesario para el '\ l' secuencia
en patrones de reemplazo sustitutos, porque el carácter 'l' no es especial para nadie
capa de análisis por encima de ella.

‐V citando en ex es ligeramente diferente de las comillas con barra invertida. En los cuatro
comandos donde -Se aplica cotización V (abreviar, poco abreviado, mapay desmapear), alguna
un personaje puede ser escapado por un ‐V si tendría un significado especial o no.
POSIX.1‐2008 requiere la conformidad con la práctica histórica.

Las implementaciones históricas del editor no requerían delimitadores dentro del carácter
clases para escapar; por ejemplo, el comando :s/[/]// en la cuerda "xxx / aaa" se
borrar el "/" de la cuerda. POSIX.1‐2008 no permite esta práctica histórica para
consistencia y porque impone una gran carga a las implementaciones al requerir que
el conocimiento de las expresiones regulares se integre en el analizador del editor.

Históricamente, citando personajes en ex Los comandos se manejaron de manera inconsistente. En
la mayoría de los casos, el carácter siempre terminaba el comando, independientemente de cualquier
carácter de escape precedente, porque los personajes no escaparon
personajes para la mayoría ex comandos. Sin embargo, algunos ex comandos (por ejemplo, s, mapay
abreviatura) permitido caracteres para escapar (aunque en el caso de mapa
y abreviatura, ‐V personajes se les escaparon en lugar de caracteres).
Esto era cierto no solo en la línea de comando, sino también .exrc y fuented archivos. Por ejemplo,
El comando:

mapa = foo bar

tendría éxito, aunque a veces era difícil conseguir la ‐V y el insertado
pasó a la ex analizador. Para lograr coherencia y simplicidad en las especificaciones,
POSIX.1‐2008 requiere que sea posible escapar personajes en ex comandos en
todo el tiempo, usando personajes para la mayoría ex comandos, y usando ‐V
personajes para el mapa y abreviatura comandos. Por ejemplo, el comando
Imprimirlista es necesario analizarlo como un solo comando Imprimirlista.
Si bien esto difiere de la práctica histórica, los desarrolladores de POSIX.1‐2008 creían que era poco probable
que cualquier script o usuario dependía del comportamiento histórico.

Históricamente, un error en un comando especificado usando el −c la opción no causó el resto
de las −c comandos para ser descartados. POSIX.1‐2008 no permite esto por coherencia con
claves mapeadas, el @, global, fuentey v comandos, el SALIR variable de entorno, y
las .exrc archivos.

Entrada Edición in ex
Uno de los usos comunes de la historia ex El editor tiene conexiones de red lentas.
Los editores que se ejecutan en modo canónico pueden requerir mucho menos tráfico hacia y desde, y mucho menos
procesamiento en la máquina host, así como también admite terminales en modo de bloque más fácilmente.
Por estas razones, POSIX.1‐2008 requiere que ex ser implementado usando entrada de modo canónico
procesamiento, como se ha hecho históricamente.

POSIX.1‐2008 no requiere el histórico de 4 caracteres de edición de entrada BSD `` borrado de palabras ''
o `` siguiente literal ''. Por esta razón, no se especifica cómo son manejados por ex,
aunque deben tener el efecto requerido. Implementaciones que las resuelvan después de la
la línea ha finalizado con un o ‐M carácter e implementaciones que
dependen del soporte del terminal del sistema subyacente para este procesamiento, ambos son conformes.
Se recomienda encarecidamente a las implementaciones que utilicen la funcionalidad del sistema subyacente, si es que lo hacen.
posible, por compatibilidad con otras interfaces de entrada de texto del sistema.

Históricamente, cuando el eof se usó para disminuir el sangría automática nivel, el
cursor movido para mostrar el nuevo final de la sangría automática personajes, pero no movió el
cursor a una nueva línea, ni borró el ‐D carácter de la línea.
POSIX.1‐2008 no especifica que el cursor permanezca en la misma línea o que el resto de
la línea se borra; Sin embargo, se recomienda encarecidamente que las implementaciones proporcionen la mejor
posible interfaz de usuario; es decir, el cursor debe permanecer en la misma línea, y cualquier
-Se debe borrar el carácter D de la línea.

POSIX.1‐2008 no requiere el carácter histórico de edición de entrada de 4 BSD `` reimprimir '',
tradicionalmente ‐R, que volvió a mostrar la entrada actual del usuario. Para esto
razón, y porque la funcionalidad no se puede implementar después de que la línea ha sido
terminado por el usuario, POSIX.1‐2008 no establece requisitos sobre esta funcionalidad.
Se insta encarecidamente a las implementaciones para que esta funcionalidad histórica esté disponible, si
posible.

Históricamente, ‐Q no realizó una función siguiente literal en ex, como lo hizo en vi.
POSIX.1‐2008 requiere la conformidad con la práctica histórica para evitar romper el historial ex
guiones y .exrc archivos.

eof
Tanto el eof carácter modifica inmediatamente el sangría automática caracteres en el mensaje es
dejar sin especificar para que las implementaciones puedan ajustarse en presencia de sistemas que no
no es compatible con esta funcionalidad. Se anima a las implementaciones para modificar la línea y
vuelva a mostrarlo inmediatamente, si es posible.

La especificación del manejo de la eof el carácter difiere de la práctica histórica
solo en eso eof los caracteres no se descartan si siguen caracteres normales en el texto
aporte. Históricamente, siempre se descartaron.

Comando Descripción in ex
Históricamente, varios comandos (por ejemplo, global, v, visual, s, escribir, wq, tirón, !, <,
>, &y ~) eran ejecutables en archivos vacíos (es decir, las direcciones predeterminadas eran 0), o
permitidas direcciones explícitas de 0 (por ejemplo, 0 era una dirección válida, o 0,0 era una dirección válida
rango). Las direcciones de 0, o la ejecución de comandos en un archivo vacío, tienen sentido solo para
comandos que agregan texto nuevo al búfer de edición o comandos de escritura (porque los usuarios pueden desear
escribir archivos vacíos). POSIX.1‐2008 requiere este comportamiento para dichos comandos y no lo permite
de lo contrario, por coherencia y simplicidad de la especificación.

Una cuenta a una ex El comando ha sido históricamente corregido para que no sea mayor que el último
línea en un archivo; por ejemplo, en un archivo de cinco líneas, el comando 1,6impresión fallaría, pero el
comando 1imprimir300 tendría éxito. POSIX.1‐2008 requiere la conformidad con la práctica histórica.

Históricamente, el uso de banderas en ex Los comandos pueden ser oscuros. Histórico general
La práctica fue como se describe en POSIX.1‐2008, pero hubo algunos casos especiales. Para
ejemplo, el lista, númeroy Imprimir los comandos ignoraron las compensaciones de direcciones finales; por
ejemplo, 3p +++ # mostraría la línea 3, y 3 sería la línea actual después de la ejecución
del comando. El habiertos y visual Los comandos ignoraron tanto las compensaciones finales como las
banderas finales. Además, las banderas especificadas en el habiertos y visual los comandos interactuaron mal
con el lista opción de edición, y configurarlo y luego desarmarlo durante la apertura / visual
la sesión causaría vi para dejar de mostrar líneas en el formato especificado. Por consistencia
y simplicidad de especificación, POSIX.1‐2008 no permite ninguna de estas excepciones para
la regla general.

POSIX.1‐2008 usa la palabra copia en varios lugares cuando se habla de búferes. Esto no es
destinado a implicar la implementación.

Históricamente, los ex los usuarios no pudieron especificar búferes numéricos debido a la ambigüedad
causaría; por ejemplo, en el comando 3 borrar 2, no está claro si 2 es un búfer
nombre o un contar. POSIX.1‐2008 requiere la conformidad con la práctica histórica de forma predeterminada, pero
no excluye extensiones.

Históricamente, el contenido del búfer sin nombre se descartaba con frecuencia después de que los comandos
que no lo afectó explícitamente; por ejemplo, cuando se utiliza el editar comando para cambiar
archivos. Para mantener la coherencia y simplicidad de la especificación, POSIX.1‐2008 no permite esta
comportamiento.

El ex La utilidad no ha tenido históricamente acceso a los búferes numéricos y, además,
eliminar líneas en ex no modificó su contenido. Por ejemplo, si, después de eliminar
in vi, el usuario cambió a ex, hizo otra eliminación y luego volvió a vi, la
el contenido de los búferes numéricos no habría cambiado. POSIX.1‐2008 requiere conformidad
a la práctica histórica. Los búferes numéricos se describen en la ex utilidad para
limitar la descripción de los búferes a una sola ubicación en POSIX.1‐2008.

Los metacaracteres que desencadenan la expansión del shell en presentar los argumentos coinciden con los históricos
práctica, al igual que el método para realizar la expansión de shell. Implementaciones que deseen proporcionar
Se anima a los usuarios con la flexibilidad de alterar el conjunto de metacaracteres a proporcionar un
caparazón opción de edición de cadena.

Históricamente, los ex comandos ejecutados desde vi actualizó la pantalla cuando no estrictamente
necesita hacerlo; por ejemplo, :!fecha > / dev / null no requiere una actualización de pantalla porque
la salida de UNIX datos El comando requiere solo una línea de la pantalla.
POSIX.1‐2008 requiere que la pantalla se actualice si se ha sobrescrito, pero hace
no hay requisitos sobre cómo una implementación debe tomar esa determinación.
Las implementaciones pueden solicitar y actualizar la pantalla independientemente.

Abreviar
La práctica histórica era que los caracteres que se ingresaban como parte de una abreviatura
reemplazo estaban sujetos a mapa expansiones, el partido de exhibicion opción de edición, más
expansiones de abreviaturas, etc. es decir, fueron empujados lógicamente a la terminal
cola de entrada, y no eran un simple reemplazo. POSIX.1‐2008 requiere conformidad con
práctica histórica. La prctica histrica era que cada vez que un carcter no verbal (que tena
no ha sido escapado por un ‐V) se ingresó después de un carácter de palabra, vi comprobaría para
abreviaturas. La verificación se basó en el tipo de carácter ingresado antes de la palabra
carácter del par palabra / no palabra que activó la comprobación. La palabra carácter del
par de palabra / no palabra que activó la verificación y todos los caracteres ingresados ​​antes del activador
par que eran de ese tipo se incluyeron en el cheque, con la excepción de
caracteres, que siempre delimitaban la abreviatura.

Esto significa que, para que la abreviatura funcione, la lhs debe terminar con un carácter de palabra,
no puede haber transiciones de caracteres de palabra a no palabras (o vicio versa) aparte de
entre el último y penúltimo carácter en el lhs, y no puede haber
personajes en el lhs. Además, debido a las reglas históricas de cotización, fue
imposible ingresar un literal ‐V en el lhs. POSIX.1‐2008 requiere conformidad
a la práctica histórica. Las implementaciones históricas no informaron a los usuarios cuando las abreviaturas
que nunca se podrían utilizar fueron ingresados; Se recomienda encarecidamente a las implementaciones que lo hagan.

Por ejemplo, las siguientes abreviaturas funcionarán:

: ab (p SUSTITUIR
: ab p SUSTITUIR
: ab ((pags SUSTITUIR

Las siguientes abreviaturas no funcionarán:

: ab ( SUSTITUIR
: ab (páginas SUSTITUIR

La práctica histórica es que las palabras en el vi línea de comando de dos puntos estaban sujetos a
expansión de abreviaturas, incluidos los argumentos a la abrev (y más interesante) el
sin abreviar mando. Porque hay implementaciones que no hacen expansión de abreviaturas
para el primer argumento de esos comandos, esto está permitido, pero no requerido, por
POSIX.1‐2008. Sin embargo, la siguiente secuencia:

: ab foo de caramelos
: ab foo baz

resultó en la adición de una abreviatura de "baz" para la cuerda "bar" en historico
ex/vi, y la secuencia:

: ab Foo1 de caramelos
: ab Foo2 de caramelos
: no abreviado Foo2

eliminó la abreviatura "foo1"no, "foo2". Estos comportamientos no están permitidos por
POSIX.1‐2008 porque claramente violan las expectativas del usuario.

Fue una práctica histórica que ‐V, no , los caracteres se interpretarán como
escapar de los personajes subsiguientes en el abreviar mando. POSIX.1‐2008 requiere
conformidad con la práctica histórica; sin embargo, cabe señalar que una abreviatura
que contiene un nunca funcionará.

Adjuntar
Históricamente, cualquier texto que siga un separador de comando después de un anexar,
el cambioo insertar El comando se convirtió en parte del texto de inserción. Por ejemplo, en el comando:

: g / patrón / agregar | stuff1

una línea que contiene el texto "cosas1" se agregaría a cada patrón de coincidencia de línea. Eso
también fue históricamente válido para ingresar:

: agregar | cosas1
cosas2
.

y el texto en el ex la línea de comando se agregaría junto con el texto insertado después
eso. Sin embargo, hubo un error histórico que indicaba que el usuario tenía que ingresar dos terminales
líneas (el '.' líneas) para terminar el modo de entrada de texto en este caso. POSIX.1‐2008 requiere
conformidad con la práctica histórica, pero rechaza la necesidad histórica de múltiples
líneas de terminación.

Cambios
Ver el FUNDAMENTO de la anexar mando. Práctica histórica para el posicionamiento del cursor después
el comando de cambio cuando no se ingresa texto, es como se describe en POSIX.1‐2008. Sin embargo, uno
Se sabe que la implementación del Sistema V se modificó de modo que el cursor se posiciona
en la primera dirección especificada y no en la línea antes de la primera dirección. POSIX.1‐2008
no permite esta modificación por coherencia.

Históricamente, la el cambio El comando no admitía argumentos de búfer, aunque algunos
las implementaciones permiten la especificación de un búfer opcional. Este comportamiento no es ni
requerido ni rechazado por POSIX.1‐2008.

Cambios Directorio
Una extensión común en ex implementaciones es utilizar los elementos de una cdruta editar opción como
directorios de prefijos para camino argumentos a chdir que son nombres de ruta relativos y que no
tienen '.' or ".." como su primer componente. Elementos en el cdruta las opciones de edición son
-apartado. El valor inicial de la cdruta la opción de edición es el valor de la cáscara
CDPATH Variable ambiental. Esta función no se incluyó en POSIX.1‐2008 porque no
no existen en ninguna de las implementaciones consideradas como práctica histórica.

Copiar
Implementaciones históricas de ex copias permitidas a líneas dentro del rango especificado;
por ejemplo, : 2,5copia3 fue un comando válido. POSIX.1‐2008 requiere conformidad con
práctica histórica.

Borrar
POSIX.1‐2008 requiere soporte para el análisis histórico de un borrar comando seguido de
banderas, sin que intervenga caracteres. Por ejemplo:

1dp Elimina la primera línea e imprime la segunda línea.

1eliminación En cuanto a los 1dp.

1d Elimina la primera línea, guardándola en búfer p.

1d p1l (Pee-one-ell.) Elimina la primera línea, guardándola en el búfer py enumerando la línea
eso fue segundo.

Editar
Históricamente, cualquier ex El comando se puede ingresar como un +comando argumento a la editar mando,
aunque algunos (por ejemplo, insertar y anexar) eran conocidos por confundir históricos
implementaciones. Para lograr coherencia y simplicidad en la especificación, POSIX.1‐2008 requiere
que cualquier comando sea compatible como argumento para el editar mando.

Históricamente, el argumento del comando se ejecutaba con la línea actual establecida en la última línea
del archivo, independientemente de si el editar El comando se ejecutó desde el modo visual o no.
POSIX.1‐2008 requiere la conformidad con la práctica histórica.

Históricamente, la +comando especificado a la editar y Next comandos estaba delimitado por el
primero , y no había forma de citarlos. Para mayor coherencia, POSIX.1‐2008 requiere
que lo de siempre ex Se proporcionarán comillas con barra invertida.

Históricamente, especificando el +comando El argumento del comando de edición requería un nombre de archivo para
ser especificado también; por ejemplo, edit: +100 siempre fallaría. Por consistencia y
simplicidad de especificación, POSIX.1‐2008 no permite que este uso falle para eso
razón.

Históricamente, solo la posición del cursor del último archivo editado era recordada por el
editor. POSIX.1‐2008 requiere que esto sea compatible; sin embargo, las implementaciones son
Permitido recordar y restaurar la posición del cursor para cualquier archivo previamente editado.

Archive
Versiones históricas del ex editor presentar comando mostró una línea actual y el número de
líneas en el búfer de edición de 0 cuando el archivo estaba vacío, mientras que el vi ‐G comando
mostró una línea actual y el número de líneas en el búfer de edición de 1 en el mismo
situación. POSIX.1‐2008 no permite esta discrepancia, sino que requiere que un mensaje
se mostrará indicando que el archivo está vacío.

Buscar
La operación de dos pasos del global y v Los comandos no pretenden implicar
implementación, solo el resultado requerido de la operación.

La línea y columna actual se establecen como se especifica para el individuo ex comandos. Esta
el requisito es acumulativo; es decir, la línea y la columna actuales deben rastrear a través de todos los
comandos ejecutados por el global or v comandos.

recuadro
Ver el FUNDAMENTO de la anexar mando.

Históricamente, los insertar no se puede utilizar con una dirección de cero; es decir, no cuando la edición
el búfer estaba vacío. POSIX.1‐2008 requiere que este comando se comporte de manera consistente con el
anexar mando.

Únete
La acción de la únete El comando en relación con los caracteres especiales solo se define para
la configuración regional POSIX porque varía la cantidad correcta de espacio en blanco después de un período; en
En japonés no se requiere ninguno, en francés solo un espacio, y así sucesivamente.

Lista
La producción histórica de la lista El comando era potencialmente ambiguo. El estandar
Los desarrolladores creían que corregir esto era más importante que adherirse a las
práctica, y POSIX.1‐2008 requiere una salida inequívoca.

Mapa
Históricamente, los mapas de modo de comando solo se aplicaban a los nombres de comando; por ejemplo, si el
personaje 'X' fue mapeado a 'y', El comando fx buscado el 'X' personaje, no el
'y' personaje. POSIX.1‐2008 requiere este comportamiento. Históricamente, entrar ‐V como
el primer carácter de un vi El comando fue un error. Varias implementaciones se han extendido
la semántica de vi tal que ‐V significa que el carácter de comando subsiguiente es
no mapeado. Esto está permitido, pero no requerido, por POSIX.1‐2008. Independientemente, usando
‐V para escapar del segundo carácter o posterior en una secuencia de caracteres que
coincidir con un mapa comando, o cualquier carácter en el modo de entrada de texto, es una práctica histórica, y
evita que las claves introducidas coincidan con un mapa. POSIX.1‐2008 requiere conformidad con
práctica histórica.

Las implementaciones históricas permitieron que los dígitos se usaran como un mapa comando lhs, pero entonces
ignoró el mapa. POSIX.1‐2008 requiere que no se ignoren los dígitos asignados.

La implementación histórica de la mapa el comando no permitió mapa comandos que fueron
más de un carácter de longitud si el primer carácter fuera imprimible. Este comportamiento
está permitido, pero no requerido, por POSIX.1‐2008.

Históricamente, los personajes mapeados se reasignaron a menos que el remap no se configuró la opción de edición, o
el prefijo de los caracteres mapeados coincidió con los caracteres mapeados; por ejemplo, en el
mapa:

:mapa ab ABCD

los caracteres "ab" se utilizaron tal cual y no se reasignaron, pero los personajes "CD" tuvieron
mapeado si es apropiado. Esto puede causar bucles infinitos en el vi mecanismos de mapeo.
POSIX.1‐2008 requiere la conformidad con la práctica histórica, y que dichos bucles se
interrumpible.

Los mapas de entrada de texto tenían los mismos problemas al expandir el lhs para ex ¡mapa! y desmapear!
comando como hizo el ex abreviar y poco abreviado comandos. Ver el FUNDAMENTO de la ex
abreviar mando. POSIX.1‐2008 requiere una modificación similar de alguna práctica histórica
para mapa y desmapear comandos, como se describe para el abreviar y poco abreviado comandos.

Históricamente, los mapas que eran subconjuntos de otros mapas se comporta de manera diferente dependiendo de la
orden en que fueron definidos. Por ejemplo:

:¡mapa! ab Corto
:¡mapa! abecedario Corto

siempre traduciría los personajes "ab" a "corto", independientemente de lo rápido que
personajes "a B C" fueron ingresados. Si se invirtió la orden de entrada:

:¡mapa! abecedario Corto
:¡mapa! ab Corto

los caracteres "ab" haría que el editor se detuviera, esperando a que se completara 'C'
personaje, y es posible que los personajes nunca se asignen a "corto". Por consistencia y
simplicidad de especificación, POSIX.1‐2008 requiere que se utilice la coincidencia más corta
veces.

El tiempo que el editor pasa esperando que los personajes completen el lhs is
no especificado porque las capacidades de temporización de los sistemas a menudo son inexactas y variables, y
puede depender de otros factores como la velocidad de la conexión. El tiempo debe ser
lo suficiente para que el usuario pueda completar la secuencia, pero no lo suficiente para
que el usuario tenga que esperar. Algunas implementaciones de vi han agregado un hora clave opción, que
permite a los usuarios establecer el número de 0,1 segundos que el editor espera para completar
caracteres. Debido a que las teclas de función y cursor del terminal mapeadas tienden a comenzar con una
personaje, y es el final clave vi modo de entrada de texto, mapas comenzando con
Los personajes generalmente están exentos de este período de tiempo de espera o, al menos, el tiempo de espera agotado.
de manera diferente.

Marc
Históricamente, los usuarios podían establecer explícitamente las marcas de `` contexto anterior ''. En
Además, el ex comandos '' y '` y del vi comandos '', ``, `'y '` todos referidos
la misma marca. Además, las marcas de contexto anteriores no se establecieron si el comando, con
que la dirección que establece la marca estaba asociada, falló. POSIX.1‐2008 requiere
conformidad con la práctica histórica. Históricamente, si se borraban las líneas marcadas, la marca
también se eliminó, pero volvería a aparecer si se deshacía el cambio. POSIX.1‐2008 requiere
conformidad con la práctica histórica.

La descripción de los eventos especiales que establecen el ` y ' marcas coincidencias históricas
práctica. Por ejemplo, históricamente el comando / a /, / b / no configuró el ` y ' marcas, pero
el comando / a /, / b / eliminar hice.

Siguiente
Históricamente, cualquier ex El comando se puede ingresar como un +comando argumento a la Next mando,
aunque algunos (por ejemplo, insertar y anexar) eran conocidos por confundir históricos
implementaciones. POSIX.1‐2008 requiere que se permita cualquier comando y que se comporte como
especificado. los Next El comando puede aceptar más de un archivo, por lo que el uso como:

Next `ls [a B C] `

es válido; no necesita ser válido para el editar or leer comandos, por ejemplo, porque
espere solo un nombre de archivo.

Históricamente, la Next El comando se comportó de manera diferente al :rebobinar mando en eso
ignoró la bandera de fuerza si el escribir automáticamente se colocó la bandera. Para mayor coherencia, POSIX.1‐2008 no
no permitir este comportamiento.

Históricamente, la Next comando colocó el cursor como si el archivo nunca se hubiera editado
antes, independientemente. POSIX.1‐2008 no permite este comportamiento, por coherencia con el
editar mando.

Implementaciones que quieran proporcionar una contraparte a la Next comando que editó el
archivo anterior han usado el comando anterior], que no lleva presentar argumento. POSIX.1‐2008
no requiere este comando.

Abierto
Históricamente, la habiertos El comando fallaría si el habiertos No se estableció la opción de edición.
POSIX.1‐2008 no menciona el habiertos opción de edición y no requiere este comportamiento.
Algunas implementaciones históricas no permiten ingresar al modo abierto desde el modo abierto o visual,
solo desde ex modo. Por coherencia, POSIX.1‐2008 no permite este comportamiento.

Históricamente, ingresar al modo abierto desde la línea de comando (es decir, vi + abierto) resultó en
comportamientos anómalos; por ejemplo, el ex archivo y set comandos, y el vi comando
‐G no funcionó. Por coherencia, POSIX.1‐2008 no permite este comportamiento.

Históricamente, la habiertos comando solo permitido "/" caracteres que se utilizarán como búsqueda
delimitador de patrón. Para mantener la coherencia, POSIX.1‐2008 requiere que los delimitadores de búsqueda utilizados
según el s, globaly v también se aceptarán los comandos.

Preservar
El preservar históricamente, el comando no hace que el archivo se considere sin modificar para
los propósitos de futuros comandos que pueden salir del editor. POSIX.1‐2008 requiere
conformidad con la práctica histórica.

La documentación histórica indicó que el correo no se envió al usuario cuando se
ejecutado; sin embargo, las implementaciones históricas enviaron correo en este caso. POSIX.1‐2008
requiere conformidad con las implementaciones históricas.

Imprimir
La redacción de NUL por el Imprimir El comando no se especifica como un caso especial porque el
los desarrolladores estándar no querían exigir ex para admitir caracteres NUL. Históricamente,
Los caracteres se muestran utilizando las asignaciones estándar ARPA, que son las siguientes:

1. Los caracteres imprimibles se dejan solos.

2. Los caracteres de control inferiores a \ 177 se representan como '^' seguido por el personaje
compensado de la '@' carácter en el mapa ASCII; por ejemplo, \ 007 se representa como
'^ G'.

3. \ 177 se representa como '^' seguido por '?'.

La visualización de caracteres con su octavo bit establecido era menos estándar. Existente
las implementaciones usan hexadecimal (0x00), octal (\ 000) y una pantalla de metabits. (Este último
bytes mostrados que tenían su octavo bit configurado como los dos caracteres "M-" seguido por las bases
pantalla de siete bits como se describe arriba.) Este último probablemente tiene el mejor reclamo para
práctica histórica porque se utilizó para la −v opción de 4 BSD y 4 derivados de BSD
versiones de la gato utilidad desde 1980.

POSIX.1‐2008 no requiere un formato de visualización específico.

En la medida de lo posible, se ha evitado la dependencia explícita del juego de caracteres ASCII, por lo que
uso de la frase una `` secuencia de varios caracteres definida por la implementación '' para la pantalla
de caracteres no imprimibles con preferencia al uso histórico de, por ejemplo, "^ Yo"
Para el . Se anima a que las implementaciones se ajusten a la práctica histórica en el
ausencia de una razón de peso para divergir.

Históricamente, todos ex comandos que comienzan con la letra 'pag' se puede ingresar usando
versiones en mayúscula de los comandos; por ejemplo, Impresión], Preservar]y Poner] eran todos
nombres de comando válidos. POSIX.1‐2008 permite, pero no requiere, esta práctica histórica
porque algunas implementaciones utilizan las formas mayúsculas de los comandos para otros fines.

poner
Históricamente, un ex poner comando, ejecutado desde el modo abierto o visual, era el mismo que el
modo abierto o visual P comando, si el búfer se nombró y se cortó en modo carácter, y
lo mismo que el p comando si el búfer fue nombrado y cortado en modo de línea. Si el sin nombre
buffer era la fuente del texto, la línea completa de la que se tomó el texto fue
generalmente poner, y el búfer se manejó como en modo de línea, pero fue posible obtener
comportamiento extremadamente anómalo. Además, utilizando el Q comando para cambiar a ex modo y
luego haciendo un poner a menudo también producía errores, como añadir texto que estaba
no relacionado con el (supuesto) contenido del búfer. Por consistencia y simplicidad de
especificación, POSIX.1‐2008 no permite estos comportamientos. Todo ex poner los comandos son
requerido para operar en modo de línea, y el contenido de los búferes no es alterado por
cambiando el modo del editor.

Leer
Históricamente, un ex leer comando ejecutado desde el modo abierto o visual, ejecutado en un vacío
archivo, dejó una línea vacía como la primera línea del archivo. Por consistencia y simplicidad de
especificación, POSIX.1‐2008 no permite este comportamiento. Históricamente, un leer en abierto
o el modo visual de un programa dejó el cursor en la última línea leída, no en la primera. Para
consistencia, POSIX.1‐2008 no permite este comportamiento.

Implementaciones históricas de ex fueron incapaces de deshacer leer comandos que leen del
salida de un programa. Por coherencia, POSIX.1‐2008 no permite este comportamiento.

Históricamente, la ex y vi mensaje después de un éxito leer or escribir comando especificado
`` caracteres '', no `` bytes ''. POSIX.1‐2008 requiere que el número de bytes sea
se muestra, no el número de caracteres, porque puede ser difícil en multibyte
implementaciones para determinar el número de caracteres leídos. Se fomentan las implementaciones
para aclarar el mensaje que se muestra al usuario.

Históricamente, las lecturas no estaban permitidas en archivos que no fueran de tipo regular, excepto que FIFO
Los archivos se podían leer (probablemente solo porque no existían cuando ex y vi tuvieron
escrito originalmente). Porque el historico ex evaluado ¡leer! y leer ! equivalentemente,
no puede haber una forma opcional de forzar la lectura. POSIX.1‐2008 permite, pero no
requieren, este comportamiento.

Recuperar
Algunas implementaciones históricas del editor permitieron a los usuarios recuperar el búfer de edición
contenido de una sesión de edición anterior y luego salir sin guardar esos contenidos (o
descartándolos explícitamente). La intención de POSIX.1‐2008 de requerir que el búfer de edición
Ser tratado como ya modificado es evitar este error de usuario.

Rewind
Las implementaciones históricas apoyaron la rebobinar comando cuando el usuario estaba editando el
primer archivo de la lista; es decir, el archivo que el rebobinar el comando editaría. POSIX.1‐2008
requiere conformidad con la práctica histórica.

Suplente
Históricamente, los ex aceptado un r opción a la s mando. El efecto de la r la opción era
utilizar la última expresión regular utilizada en cualquier comando como patrón, lo mismo que el ~
mando. los r POSIX.1‐2008 no requiere la opción. Históricamente, el c y g opciones
fueron alternados; por ejemplo, el comando : s / abc / def / fue lo mismo que s / abc / def / ccccgggg.
Para simplificar la especificación, POSIX.1‐2008 no permite este comportamiento.

El comando tilde se usa a menudo para reemplazar el último RE de búsqueda. Por ejemplo, en el
secuencia:

s / rojo / azul /
/verde
~

las ~ comando es equivalente a:

s / verde / azul /

Históricamente, los ex aceptó todos los siguientes formularios:

s / abc / def /
s / abc / def
s / abc /
s / abc

POSIX.1‐2008 requiere la conformidad con esta práctica histórica.

El s comando presume que el '^' El carácter solo ocupa una sola columna en el
monitor. Mucho de ex y vi especificación presume que la solo ocupa un
columna única en la pantalla. No hay conjuntos de caracteres conocidos para los que esto no sea
verdadera.

Históricamente, la posición de la columna final para los comandos sustitutos se basaba en
movimientos de columna; una búsqueda de un patrón seguida de una sustitución dejaría la columna
posición sin cambios, mientras que un comando 0 seguido de una sustitución cambiaría la columna
posición a la primera no . Para lograr coherencia y simplicidad en las especificaciones,
POSIX.1‐2008 requiere que la posición final de la columna siempre se establezca en la primera
no- .

Set
Las implementaciones históricas volvieron a mostrar todas las opciones para cada ocurrencia del todos
palabra clave. POSIX.1‐2008 permite, pero no requiere, este comportamiento.

Etiqueta
No se hace ningún requisito en cuanto a dónde ex y vi deberá buscar el archivo al que hace referencia la etiqueta
entrada. La práctica histórica ha sido buscar el camino que se encuentra en el etiquetas archivo, basado en
el directorio actual. Una extensión útil que se encuentra en algunas implementaciones es buscar basada
en el directorio que contiene el archivo de etiquetas que contenía la entrada también. Ningún requisito es
hecho en cuanto a qué referencia para la etiqueta en el archivo de etiquetas se utiliza. Esto es deliberado, en
para permitir extensiones como múltiples entradas en un archivo de etiquetas para una etiqueta.

Debido a que los usuarios a menudo especifican muchos archivos de etiquetas diferentes, algunos de los cuales no necesitan ser relevantes
o existen en cualquier momento en particular, POSIX.1‐2008 requiere que los mensajes de error sobre el problema
Los archivos de etiquetas se mostrarán solo si no se encuentra la etiqueta solicitada, y luego, solo una vez para
cada vez que el etiqueta se cambia la opción de edición.

El requisito de que el búfer de edición actual no se modifique solo es necesario si el archivo
indicado por la entrada de la etiqueta no es el mismo que el archivo actual (como se define por el actual
nombre de ruta). Históricamente, el archivo se recargaba si el nombre del archivo había cambiado, también
como si el nombre del archivo fuera diferente del nombre de la ruta actual. Por consistencia y simplicidad
de especificación, POSIX.1‐2008 no permite este comportamiento, requiriendo que el nombre sea
el único factor en la decisión.

Históricamente, los vi Solo busqué etiquetas en el archivo actual desde el cursor actual hasta el
final del archivo, y por lo tanto, si el Wrapscan no se configuró la opción, las etiquetas aparecen antes
no se encontró el cursor actual. POSIX.1‐2008 considera esto un error, y las implementaciones
son necesarios para buscar la primera aparición en el archivo, independientemente.

deshacer
El deshacer descripción utiliza deliberadamente la palabra `` modificado ''. El deshacer el comando no es
destinado a deshacer comandos que reemplazan el contenido del búfer de edición, como editar,
Next, etiquetao recuperar.

Posicionamiento del cursor después del deshacer El comando fue inconsistente en el histórico viEspañol
intentando restaurar la posición original del cursor (global, deshacery v comandos), y
a veces, en presencia de mapas, colocar el cursor en la última línea agregada o modificada
en lugar del primero. POSIX.1‐2008 requiere un comportamiento simplificado para mantener la coherencia y
simplicidad de especificación.

Versión
El versión El comando no se puede especificar exactamente ya que no existe una amplia aceptación
definición de lo que debe contener la información de la versión. Se fomentan las implementaciones
hacer algo razonablemente inteligente.

Escribe.
Históricamente, la ex y vi mensaje después de un éxito leer or escribir comando especificado
`` caracteres '', no `` bytes ''. POSIX.1‐2008 requiere que el número de bytes sea
se muestra, no el número de caracteres porque puede ser difícil en multibyte
implementaciones para determinar el número de caracteres escritos. Las implementaciones son
Se anima a aclarar el mensaje que se muestra al usuario.

Se permiten las pruebas definidas por la implementación para que las implementaciones
cheques; por ejemplo, para bloqueos o tiempos de modificación de archivos.

Históricamente, intentar agregar a un archivo inexistente provocaba un error. Se ha dejado
no especificado en POSIX.1‐2008 para permitir implementaciones que permitan escribir tener éxito, para que
la semántica del apéndice son similares a las del histórico csh.

Directores Históricos vi permitido que se escriban búferes de edición vacíos. Sin embargo, dado que el camino vi tiene
tratar con archivos `` vacíos '' era tener siempre una línea en el búfer de edición, no
pase lo que pase, los escribió como archivos de una sola línea vacía. POSIX.1‐2008 no permite
este comportamiento.

Históricamente, los ex devolvió la salida estándar y el error estándar a sus valores cuando ex
se invocó, antes de que se realizaran las escrituras en los programas. Esto podría perturbar la terminal.
configuración además de ser un problema de seguridad para algunos terminales. POSIX.1‐2008 no
permitir esto, requiriendo que la salida del programa sea capturada y mostrada como si fuera ex
Imprimir mando.

definir los benchmarks y KPIs para la estrategia de crecimiento en Paid Media en TikTok. Ventana
Históricamente, el recuento de líneas se establecía en el valor de la mover opción si el tipo
carácter era final de archivo. Esta característica se rompió en la mayoría de las implementaciones históricas durante mucho tiempo.
hace, sin embargo, y no está documentado en ninguna parte. Por esta razón, POSIX.1‐2008 está decididamente
silencio.

Históricamente, la z el mando fue -sensible y z + y z - hizo cosas diferentes
que z+ y z- porque el tipo no se puede distinguir de una bandera. (Los comandos z .
y z = fueron históricamente inválidos.) POSIX.1‐2008 requiere la conformidad con este
práctica.

Históricamente, la z el comando fue más lejos -sensible en que el contar no pudo ser
-delimitado; por ejemplo, los comandos z= 5 y z- 5 también eran inválidos. Porque el
contar no es ambiguo con respecto al carácter de tipo o las banderas, esto no es
permitido por POSIX.1‐2008.

Escapar
Históricamente, los ex Los comandos de filtro solo leen la salida estándar de los comandos, permitiendo
El error estándar aparece en el terminal como de costumbre. El vi utilidad, sin embargo, lea tanto
salida estándar y error estándar. POSIX.1‐2008 requiere el último comportamiento para ambos ex
y vi, por consistencia.

Shift Unidades y Shift Derecha
Históricamente, era posible agregar caracteres de cambio para aumentar el efecto de la
mando; por ejemplo, << superado (o >>> sangrado) las líneas 3 niveles de sangrado
en lugar del 1. POSIX.1‐2008 predeterminado requiere conformidad con la práctica histórica.

-D
Históricamente, el -D comando borró el indicador, proporcionando al usuario una
presentación ininterrumpida de líneas del búfer de edición. POSIX.1‐2008 no lo requiere;
Se anima a las implementaciones a proporcionarlo si es posible. Históricamente, el -D
comando tomó, y luego ignorado, un contar. POSIX.1‐2008 no permite este comportamiento.

Escribe. línea Número
Históricamente, la ex = comando, cuando se ejecuta en ex modo en un búfer de edición vacío, informado
0, y desde el modo abierto o visual, se informó 1. Para lograr coherencia y simplicidad de
especificación, POSIX.1‐2008 no permite este comportamiento.

Implementación
Históricamente, los ex no manejó correctamente la inclusión de comandos de entrada de texto (es decir,
anexar, insertary el cambio) en búferes ejecutados. POSIX.1‐2008 no permite esto
exclusión por coherencia.

Históricamente, el contenido lógico del búfer que se estaba ejecutando no cambiaba si el
el búfer en sí fue modificado por los comandos que se estaban ejecutando; es decir, la ejecución del búfer hizo
No es compatible con el código de modificación automática. POSIX.1‐2008 requiere la conformidad con la práctica histórica.

Históricamente, la @ comando tomó un rango de líneas, y el @ el búfer se ejecutó una vez por
línea, con la línea actual ('.') establecido en cada línea especificada. POSIX.1‐2008 requiere
conformidad con la práctica histórica.

Algunas implementaciones históricas no notaron si ocurrieron errores durante la ejecución del búfer.
Esto, junto con la capacidad de especificar un rango de líneas para el ex @ comando, lo hace
trivial para hacerlos caer core. POSIX.1‐2008 requiere que las implementaciones se detengan
ejecución del búfer si ocurre algún error, si la línea especificada no existe, o si el
El contenido del búfer de edición en sí se reemplaza (por ejemplo, el búfer ejecuta el ex
edit: mando).

Regular Expresiones in ex
La práctica histórica es que los personajes en la parte de reemplazo del último s mando-
es decir, aquellos emparejados ingresando un '~' en la expresión regular, no fueron más
expandido por el motor de expresiones regulares. Entonces, si los caracteres contienen la cadena
"a.," ellos coincidirían 'A' seguido por ".," y no 'A' seguido de cualquier carácter.
POSIX.1‐2008 requiere la conformidad con la práctica histórica.

Editar Opciones in ex
Los siguientes párrafos describen el comportamiento histórico de algunas opciones de edición que fueron
no, por el motivo que sea, incluido en POSIX.1‐2008. Las implementaciones son fuertemente
Se recomienda usar estos nombres solo si la funcionalidad descrita aquí es totalmente compatible.

extendido El extendido La opción de edición se ha utilizado en algunas implementaciones de vi para proporcionar
expresiones regulares extendidas en lugar de expresiones regulares básicas Esta opción
se omitió de POSIX.1‐2008 porque no es una práctica histórica generalizada.

flash El flash La opción de edición históricamente hacía que la pantalla parpadeara en lugar de emitir un pitido.
por error. Esta opción se omitió de POSIX.1‐2008 porque no se encuentra en
algunas implementaciones históricas.

pestañas duras El pestañas duras La opción de edición definió históricamente el número de columnas entre
configuración de la pestaña de hardware. Esta opción se omitió de POSIX.1‐2008 porque fue
se cree que ya no es útil en general.

modelo El modelo (a veces llamado modelos) opción de edición causada históricamente ex or
vi para leer las cinco primeras y últimas líneas del archivo para los comandos del editor. Esta
La opción es un problema de seguridad y se recomienda encarecidamente a los proveedores que la eliminen.
de implementaciones históricas.

habiertos El habiertos La opción de edición históricamente no permitía ex habiertos y visual comandos.
Esta opción de edición se omitió porque estos comandos son requeridos por
POSIX.1‐2008.

optimizar El optimizar La opción de edición ha acelerado históricamente el rendimiento del texto configurando el
terminal para no hacer automático caracteres al imprimir más
de una línea lógica de salida. Esta opción se omitió de POSIX.1‐2008
porque estaba destinado a terminales sin cursores direccionables, que son
rara vez, si es que alguna vez, todavía se utiliza.

gobernante El gobernante La opción de edición se ha utilizado en algunas implementaciones de vi presentar un
regla de fila / columna actual para el usuario. Esta opción se omitió de POSIX.1‐2008
porque no es una práctica histórica muy extendida.

fuente El fuente opción de edición causada históricamente ex or vi para obtener archivos de inicio
que eran propiedad de usuarios distintos del usuario que ejecuta el editor. Esta opcion es
un problema de seguridad, y se recomienda encarecidamente a los proveedores que lo eliminen de sus
implementaciones

tiempo de espera El tiempo de espera La opción de edición habilitó históricamente la función (ahora estándar) de solo
esperando un breve período antes de devolver las claves que podrían ser parte de una macro.
Esta característica se omitió de POSIX.1‐2008 porque su comportamiento ahora es estándar,
no es muy útil y rara vez se documentó.

verboso El verboso La opción de edición se ha utilizado en algunas implementaciones de vi causar vi
para generar mensajes de error para errores comunes; por ejemplo, intentar mover el
cursor más allá del principio o final de la línea en lugar de solo alertar al
pantalla. (El historico vi solo alertó al terminal y no presentó ningún mensaje
por tales errores. La opción del editor histórico breve no selecciono cuando
presentar mensajes de error, solo hizo que los mensajes de error existentes fueran más o menos
detallado.) Esta opción se omitió de POSIX.1‐2008 porque no está muy extendida
práctica histórica; Sin embargo, se anima a los implementadores a utilizarlo si así lo desean.
para proporcionar mensajes de error para usuarios ingenuos.

envuelto El envuelto La opción de edición se ha utilizado en algunas implementaciones de vi para especificar
un margen automático medido desde el margen izquierdo en lugar de desde el derecho
margen. Esto es útil cuando se utilizan varios tamaños de pantalla para editar un
fila india. Esta opción se omitió de POSIX.1‐2008 porque no es
práctica histórica generalizada; sin embargo, se anima a los implementadores a utilizarlo
si agregan esta funcionalidad.

autoindent ai
Históricamente, el comando 0a no hizo ninguna autoindentación, independientemente de la corriente
sangría de la línea 1. POSIX.1‐2008 requiere que cualquier sangría presente en la línea 1 sea
usado.

autoimpresión, ap
Históricamente, la autoimpresión La opción de edición no era completamente coherente o no se basaba únicamente en
modificaciones al búfer de edición. Las excepciones fueron las leer comando (al leer de un
archivo, pero no de un filtro), el anexar, el cambio, insertar, globaly v comandos, todos
que no fueron afectados por autoimpresión, y la etiqueta comando, que fue afectado por
autoimpresión. POSIX.1‐2008 requiere la conformidad con la práctica histórica.

Históricamente, la autoimpresión La opción solo se aplica al último de los múltiples comandos ingresados
utilizando delimitadores; por ejemplo, borrar fue afectado por autoimpresión,
pero eliminar | versión no estaba. POSIX.1‐2008 requiere la conformidad con el historial
práctica.

escritura automática, aw
Anexando el '!' personaje al ex Next comando para evitar realizar una escritura automática
no fue compatible con implementaciones históricas. POSIX.1‐2008 requiere que el comportamiento
coincidir con el otro ex comandos de coherencia.

ignorar caso, ic
Implementaciones históricas de coincidencia que no distingue entre mayúsculas y minúsculas (el ignorar caso opción de edición) plomo
a situaciones contrarias a la intuición en las que se utilizaron caracteres en mayúscula en expresiones de rango.
Históricamente, el proceso fue el siguiente:

1. Tome una línea de texto del búfer de edición.

2. Convierta mayúsculas a minúsculas en la línea de texto.

3. Convierta mayúsculas a minúsculas en expresiones regulares, excepto en la clase de caracteres.
especificaciones.

4. Haga coincidir las expresiones regulares con el texto.

Esto significaría que, con ignorar caso en efecto, el texto:

El gato pueblo on las estera

sería igualado por

/ ^ el /

pero no por:

/ ^ [A − Z] él /

Para mantener la coherencia con otros comandos que implementan expresiones regulares, POSIX.1‐2008 no
no permitir este comportamiento.

párrafos para 
El estándar ISO POSIX ‐ 2: 1993 se convirtió en el predeterminado párrafos y (secciones) editar opciones
definidas por la implementación, argumentando que históricamente estaban orientadas al sistema UNIX troff
formateador de texto, y un `` usuario portátil '' podría usar el {, }, [[, ]], (y ) comandos en
modo abierto o visual y hacer que el cursor se detenga en lugares inesperados. POSIX.1‐2008 especifica
sus valores en la configuración regional POSIX debido a la agrupación inusual (solo funcionan cuando se agrupan
en dos caracteres a la vez) significa que no se pueden utilizar para fines generales
movimiento, independientemente.

solo lectura
Se anima a las implementaciones para proporcionar la mejor información posible al usuario en cuanto a
el estado de solo lectura del archivo, con la excepción de que no deben considerar el
privilegios especiales vigentes del proceso. Esto proporciona a los usuarios una red de seguridad porque
deben forzar la sobrescritura de archivos de solo lectura, incluso cuando se ejecutan con
privilegios.

El solo lectura la especificación de la opción de edición se ajusta en gran medida a la práctica histórica. Lo único
La diferencia es que las implementaciones históricas no notaron que el usuario había establecido el
solo lectura opción de edición en los casos en que el archivo ya estaba marcado como de solo lectura por algún motivo,
y por lo tanto reinicializaría el solo lectura opción de edición la próxima vez que el contenido de
el búfer de edición fue reemplazado. POSIX.1‐2008 no permite este comportamiento.

reporte
El requisito de que las líneas copiadas en un búfer interactúen de manera diferente a las líneas eliminadas es
práctica histórica. Por ejemplo, si el reporte la opción de edición se establece en 3, eliminando 3 líneas
hará que se escriba un informe, pero se deben copiar 4 líneas antes de escribir un informe.

El requisito de que el ex global, v, habiertos, deshacery visual comandos presentar informes
basado en el número total de líneas agregadas o eliminadas durante la ejecución del comando, y que
comandos ejecutados por el global y v los comandos no presentan informes, es histórico
práctica. POSIX.1‐2008 amplía la práctica histórica al requerir que la ejecución del búfer sea
tratado de manera similar. Las razones de esto son dobles. Históricamente, solo el informe del
El último comando ejecutado desde el búfer sería visto por el usuario, ya que cada nuevo informe
sobrescribe el último. Además, los desarrolladores estándar creían que la ejecución del búfer
tenía más en común con global y v comandos de lo que hizo con otros ex comandos, y
debe comportarse de manera similar, por coherencia y simplicidad de especificación.

partido de exhibicion, sm
El tiempo que el cursor pasa en el carácter coincidente no se especifica porque el
Las capacidades de sincronización de los sistemas son a menudo inexactas y variables. El tiempo debe ser largo
lo suficiente para que el usuario se dé cuenta, pero no lo suficiente para que se moleste. Algunos
implementaciones de vi han agregado un hora de partido opción que permite a los usuarios establecer el número
de intervalos de 0,1 segundos, el cursor se detiene en el carácter coincidente.

modo de exhibición
El modo de exhibición La opción se ha utilizado en algunas implementaciones históricas de ex y vi a
muestra el modo de edición actual cuando está en modo abierto o visual. Los modos de edición tienen
generalmente incluye `` comando '' y `` entrada '' y, a veces, otros modos como
`` reemplazar '' y `` cambiar ''. La cadena generalmente se mostraba en la línea inferior del
pantalla en el extremo derecho. Además, un precedente '*' personaje a menudo denotado
si se ha modificado el contenido del búfer de edición. La última pantalla tiene
a veces ha sido parte de la modo de exhibición opción y, a veces, se basa en otra opción. Esta
La opción no estaba disponible en la implementación histórica de 4 BSD de vi, pero fue visto como
generalmente útil, particularmente para usuarios novatos, y es requerido por POSIX.1‐2008.

El SMD taquigrafía para el modo de exhibición opción no estaba presente en todos los históricos
implementaciones del editor. POSIX.1‐2008 lo requiere, por coherencia.

No todas las implementaciones históricas del editor mostraban una cadena de modo para el modo de comando,
diferenciar el modo de comando del modo de entrada de texto por la ausencia de una cadena de modo.
POSIX.1‐2008 permite este comportamiento por coherencia con la práctica histórica, pero
Se recomienda que las implementaciones proporcionen una cadena de visualización para ambos modos.

abrir lento
Históricamente, la abrir lento La opción se configuraba automáticamente si la velocidad en baudios del terminal era menor
de 1200 baudios, o si la velocidad en baudios era de 1200 baudios y la volver a dibujar La opción no estaba configurada. El
abrir lento La opción tuvo dos efectos. Primero, al insertar caracteres en medio de una línea,
los caracteres después del cursor no se adelantarían, pero parecerían sobrescritos.
En segundo lugar, al crear una nueva línea de texto, las líneas después de la línea actual no se
desplazado hacia abajo, pero parece que se sobrescribe. En ambos casos, finalizar el modo de entrada de texto
haría que la pantalla se actualizara para que coincida con el contenido real del búfer de edición.
Finalmente, los terminales que eran lo suficientemente inteligentes hicieron que el editor ignorara la
abrir lento opción. POSIX.1‐2008 permite la mayor parte del comportamiento histórico, extendiendo el histórico
práctica para requerir abrir lento comportamientos si la opción de edición la establece el usuario.

etiquetas
La ruta predeterminada para los archivos de etiquetas no se especifica, ya que las implementaciones pueden tener sus propias
etiquetas implementaciones que no corresponden a las históricas. El valor por defecto etiquetas
El valor de la opción probablemente debería incluir al menos el archivo ./etiquetas.

término
Implementaciones históricas de ex y vi cambios ignorados en el término opción de edición después de la
se cargó la información inicial del terminal. Esto está permitido por POSIX.1‐2008; sin embargo,
Se recomienda que las implementaciones permitan al usuario modificar su tipo de terminal en cualquier
en las transacciones.

breve
Históricamente, la breve La opción de edición proporcionó opcionalmente un error más corto y menos descriptivo.
mensaje, para algunos mensajes de error. Esto está permitido, pero no requerido, por POSIX.1‐2008.
Históricamente, los errores de modo visual más comunes (por ejemplo, intentar mover el cursor más allá
el final de una línea) no dio como resultado un mensaje de error, sino que simplemente alertó al terminal.
Se insta a las implementaciones que deseen proporcionar mensajes a los usuarios novatos a que lo hagan en base a
las editar opción verboso, y no breve.

ventana
En implementaciones históricas, el valor predeterminado para ventana La opción de edición se basó en el
velocidad en baudios de la siguiente manera:

1. Si la velocidad en baudios era inferior a 1200, la editar opción w300 establecer el valor de la ventana; por
ejemplo, la línea:

set w300 = 12

establecería la opción de ventana en 12 si la velocidad en baudios fuera inferior a 1200.

2. Si la velocidad en baudios era igual a 1200, la editar opción w1200 establecer el valor de la ventana.

3. Si la velocidad en baudios era superior a 1200, la editar opción w9600 establecer el valor de la ventana.

El w300, w1200y w9600 Las opciones no aparecen en POSIX.1‐2008 debido a su
dependencia de velocidades de transmisión específicas.

En implementaciones históricas, el tamaño de la ventana mostrada por varios comandos fue
relacionado con, pero no necesariamente el mismo que, el ventana opción de edición. Por ejemplo, el tamaño
de la ventana fue establecido por el ex comando visual 10, pero no cambió el valor de la
ventana opción de edición. Sin embargo, cambiando el valor de la ventana La opción de edición cambió el
número de líneas que se mostraron cuando se volvió a pintar la pantalla. POSIX.1‐2008 no
permitir este comportamiento en aras de la coherencia y la simplicidad de la especificación, y
requiere que todos los comandos que cambian el número de líneas que se muestran lo hagan por
establecer el valor de la ventana opción de edición.

wrapmargin wm
Históricamente, la Margen envolvente La opción no afectó a los mapas que insertaban caracteres que también tenían
asociado contars; por ejemplo :mapa K 5aABC DEF. Desafortunadamente, existen
mapas que dependen de este comportamiento. Para lograr coherencia y simplicidad en las especificaciones,
POSIX.1‐2008 no permite este comportamiento.

Históricamente, los Margen envolvente se calculó utilizando el ancho de visualización de la columna de todos los caracteres
en la pantalla. Por ejemplo, una implementación que usa "^ Yo" representar caracteres
cuando lista se estableció la opción de edición, donde '^' y 'YO' cada uno ocupaba una sola columna en el
pantalla, calcularía el Margen envolvente basado en un valor de 2 para cada . El número
La opción de edición también cambió la longitud efectiva de la línea. POSIX.1‐2008
requiere conformidad con la práctica histórica.

Las versiones anteriores de este estándar permitían implementaciones con bytes distintos a ocho
bits, pero esto ha sido modificado en esta versión.

EL FUTURO DIRECCIONES


Ninguna.

Utilice exposix en línea utilizando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

  • 1
    Phaser
    Phaser
    Phaser es una apertura rápida, gratuita y divertida
    marco de juego HTML5 de origen que ofrece
    Representación de WebGL y Canvas en
    navegadores web de escritorio y móviles. Juegos
    puede ser co ...
    Descargar Phaser
  • 2
    Motor VASSAL
    Motor VASSAL
    VASSAL es un motor de juego para crear
    Versiones electrónicas de tablero tradicional.
    y juegos de cartas. Proporciona soporte para
    representación e interacción de las piezas del juego,
    y ...
    Descargar motor VASSAL
  • 3
    OpenPDF - Bifurcación de iText
    OpenPDF - Bifurcación de iText
    OpenPDF es una biblioteca de Java para crear
    y edición de archivos PDF con LGPL y
    Licencia MPL de código abierto. OpenPDF es el
    LGPL/MPL sucesor de código abierto de iText,
    un ...
    Descargar OpenPDF - Bifurcación de iText
  • 4
    SIG SAGA
    SIG SAGA
    SAGA - Sistema para automatizado
    Análisis geocientíficos - es un análisis geográfico
    Software del sistema de información (GIS) con
    inmensas capacidades para geodatos
    procesamiento y ana ...
    Descargar SIG SAGA
  • 5
    Caja de herramientas para Java / JTOpen
    Caja de herramientas para Java / JTOpen
    IBM Toolbox para Java / JTOpen es un
    biblioteca de clases de Java que soporta el
    programacion cliente/servidor e internet
    modelos a un sistema que ejecuta OS/400,
    i5/OS, o...
    Descargar Toolbox para Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (o D3 para documentos basados ​​en datos)
    es una biblioteca de JavaScript que le permite
    para producir datos dinámicos e interactivos
    visualizaciones en navegadores web. con D3
    tú...
    Descargar D3.js
  • Más "

Comandos de Linux

  • 1
    arbitro
    arbitro
    abidiff - comparar ABI de archivos ELF
    abidiff compara el binario de la aplicación
    Interfaces (ABI) de dos bibliotecas compartidas
    en formato ELF. emite un significado
    informar ...
    Ejecutar abidiff
  • 2
    cumplir
    cumplir
    abidw - serializa el ABI de un ELF
    archivo abidw lee una biblioteca compartida en ELF
    formato y emite una representación XML
    de su ABI a la salida estándar. El
    emitido...
    Ejecutar abidw
  • 3
    copac2xml
    copac2xml
    bibutils - conversión de bibliografía
    utilidades...
    Ejecutar copac2xml
  • 4
    copto
    copto
    copt - optimizador de mirilla SYSNOPIS:
    archivo copt.. DESCRIPCIÓN: copt es un archivo
    optimizador de mirilla de uso general. Él
    lee el código de su entrada estándar y
    escribe un...
    Ejecutar copia
  • 5
    reunir_stx_títulos
    reunir_stx_títulos
    reunir_stx_titles - recopilar título
    declaraciones de documentos Stx ...
    Ejecute reunir_stx_títulos
  • 6
    banco-gatling
    banco-gatling
    banco - punto de referencia http ...
    Ejecutar gatling-banco
  • Más "

Ad