IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

exposix - Online nel cloud

Esegui exposix nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando exposix che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


ex: editor di testo

SINOSSI


ex [-rR] [−s|−v] [-c command] [-t tagstring] [-w Taglia] [filetto...]

DESCRIZIONE


I ex utility è un editor di testo orientato alla riga. Esistono altre due modalità dell'editor:
aperto e visivo, in cui è disponibile l'editing orientato allo schermo. Questo è descritto di più
completamente dal ex aprire ed visivo comandi e dentro vi.

Se un operando è '-', i risultati non sono specificati.

Questa sezione utilizza il termine edit bufferizzare per descrivere l’attuale testo di lavoro. Nessuno specifico
l'implementazione è implicita in questo termine. Tutte le modifiche apportate all'editing vengono eseguite sull'edit
buffer e nessuna modifica ad esso influenzerà alcun file finché un comando dell'editor non scrive il file
file.

Alcuni terminali non hanno tutte le capacità necessarie per supportare il tutto ex
definizione, come i comandi di modifica a schermo intero (visivo modo or aprire modo). quando
questi comandi non possono essere supportati su tali terminali, questa condizione non produrrà un
messaggio di errore come "non è un comando dell'editor" o segnala un errore di sintassi. IL
l'implementazione può accettare i comandi e produrre risultati sullo schermo
il risultato di un tentativo fallito di soddisfare i requisiti di questo volume di
POSIX.1‐2008 o segnala un errore che descrive la carenza relativa al terminale.

VERSIONI


I ex l'utilità deve essere conforme al volume delle definizioni di base di POSIX.1‐2008, Sezione 12.2,
Utilità Sintassi Linee Guida, fatta eccezione per l'uso non specificato di '-', e quello '+' può essere
riconosciuto anche come delimitatore di opzioni '-'.

Sono supportate le seguenti opzioni:

-c command
Specificare un comando iniziale da eseguire nel primo buffer di modifica caricato da
un file esistente (vedi la sezione DESCRIZIONE ESTESA). Le implementazioni possono
supportare più di un singolo -c opzione. In tali implementazioni, il specificato
i comandi devono essere eseguiti nell'ordine specificato sulla riga di comando.

-r Recuperare i file nominati (vedere la sezione DESCRIZIONE ESTESA). Recupero
le informazioni per un file devono essere salvate durante un editor o un arresto anomalo del sistema (ad esempio
esempio, quando l'editor viene terminato da un segnale che l'editor può captare),
o dopo l'uso di un ex preservare comando.

A schianto in questo contesto è un guasto imprevisto del sistema o dell'utilità che
richiede il riavvio del sistema o dell'utilità guasta. Un crash del sistema implica questo
anche tutte le utilità in esecuzione in quel momento si bloccano. Nel caso di un editor o system
crash, il numero di modifiche al buffer di modifica (dal più recente preservare
comando) che verrà ripristinato non è specificato.

Se no filetto vengono forniti gli operandi e il file -t l'opzione non è specificata, tutto il resto
opzioni, il ESCI variabile e qualsiasi .exrc i file verranno ignorati; una lista di
tutti i file recuperabili disponibili all'utente chiamante devono essere scritti e il file
l'editor uscirà normalmente senza ulteriori azioni.

-R Impostato in sola lettura opzione di modifica.

-s Preparare ex per l'uso in batch intraprendendo le seguenti azioni:

* Elimina le richieste di scrittura e i messaggi informativi (ma non diagnostici).

* Ignora il valore di TERMINE e qualsiasi tipo di terminale predefinito di implementazione e
presupporre che il terminale sia di un tipo incapace di supportare modalità aperte o visive;
si può consultare il visivo comando e la descrizione di vi.

* Sopprimi l'uso del file ESCI variabile d'ambiente e la lettura di eventuali
.exrc file; vedere la sezione DESCRIZIONE ESTESA.

* Sopprime il rientro automatico, ignorando il valore di rientro automatico opzione di modifica.

-t tagstring
Modifica il file contenente quanto specificato tagstring; vedere ctag. La funzionalità dei tag
rappresentato da -t tagstring e la etichetta il comando è facoltativo. Lo sarà
fornito su qualsiasi sistema che fornisca anche un'implementazione conforme di ctag;
in caso contrario, l'uso di -t produce risultati indefiniti. Su qualsiasi sistema, lo sarà
un errore per specificare più di un singolo -t opzione.

-v Iniziare in modalità visiva (vedi vi).

-w Taglia Imposta il valore di finestra opzione dell'editor a Taglia.

OPERANDI


Il seguente operando deve essere supportato:

filetto Un percorso di un file da modificare.

STDIN


L'input standard è costituito da una serie di comandi e testo di input, come descritto nel file
sezione DESCRIZIONE ESTESA. L'implementazione può limitare ciascuna riga di input standard a
una lunghezza di {LINE_MAX}.

Se l'ingresso standard non è un dispositivo terminale, sarà come se il -s l'opzione era stata
specificato.

Se una lettura dallo standard input restituisce un errore o se l'editor rileva una fine
condizione del file dallo standard input, sarà equivalente a un SIGHUP asincrono
evento.

INGRESSO FILE


I file di input devono essere file di testo o file che sarebbero file di testo tranne che per quelli incompleti
l'ultima riga che non è più lunga di {LINE_MAX}−1 byte e non contiene NUL
caratteri. Per impostazione predefinita, qualsiasi ultima riga incompleta verrà trattata come se avesse un finale
. La modifica di altre forme di file può facoltativamente essere consentita da ex
implementazioni.

I .exrc i file e i file di origine devono essere file di testo costituiti da ex comandi; vedere il
sezione DESCRIZIONE ESTESA.

Per impostazione predefinita, l'editor leggerà le righe dei file da modificare senza interpretarle
qualsiasi di quelle righe come qualsiasi forma di comando dell'editor.

AMBIENTE VARIABILI


Le seguenti variabili d'ambiente influiranno sull'esecuzione di ex:

COLONNE Sostituisci la dimensione dello schermo orizzontale selezionata dal sistema. Vedi le definizioni di base
volume di POSIX.1‐2008, Capitolo 8, Ambiente Variabili per valori validi e
risultati quando non è impostato o è nullo.

ESCI Determinare un elenco di ex comandi che vengono eseguiti all'avvio dell'editor. Vedi il
Sezione DESCRIZIONE ESTESA per maggiori dettagli sulla fase di inizializzazione.

HOMEPAGE Determinare il nome del percorso di una directory in cui verrà cercata l'inizio di un editor-
up file denominato .exrc; vedere la sezione DESCRIZIONE ESTESA.

LUNGO Fornire un valore predefinito per le variabili di internazionalizzazione non impostate o
nullo. (Vedi il volume Definizioni di base di POSIX.1-2008, Sezione 8.2,
Internazionalizzazione Variabili per il primato dell'internazionalizzazione
variabili utilizzate per determinare i valori delle categorie locali.)

LC_TUTTI Se impostato su un valore di stringa non vuoto, sovrascrive i valori di tutti gli altri
variabili di internazionalizzazione.

LC_COLLATE
Determinare la localizzazione per il comportamento di intervalli, classi di equivalenza e multi-
caratteri che raccolgono elementi all'interno di espressioni regolari.

LC_CTYPE Determinare la localizzazione per l'interpretazione di sequenze di byte di dati di testo
come caratteri (ad esempio, caratteri a byte singolo anziché caratteri multibyte in
argomenti e file di input), il comportamento delle classi di caratteri all'interno di Regular
espressioni, la classificazione dei caratteri come lettere maiuscole o minuscole,
la conversione di maiuscole e minuscole delle lettere e il rilevamento dei confini delle parole.

LC_MESSAGGI
Determinare la localizzazione che dovrebbe essere usata per influenzare il formato e il contenuto di
messaggi di diagnostica scritti nell'errore standard.

LINEE Sostituisci la dimensione dello schermo verticale selezionata dal sistema, utilizzata come numero di linee
in una schermata e la dimensione verticale dello schermo in modalità visiva. Vedi la Base
Volume delle definizioni di POSIX.1‐2008, Capitolo 8, Ambiente Variabili per valido
valori e risultati quando non è impostato o è nullo.

NLSPATH Determinare la posizione dei cataloghi dei messaggi per l'elaborazione di LC_MESSAGGI.

PERCORSO Determina il percorso di ricerca per il comando shell specificato nel file ex editore
comandi !, conchiglia, reade scriveree il comando della modalità aperta e visiva !; vedere
la descrizione della ricerca e dell'esecuzione dei comandi in Sezione 2.9.1.1, Comando
Cerca ed .

SHELL Determinare l'interprete della riga di comando preferito da utilizzare come valore predefinito di
, il conchiglia opzione di modifica.

TERMINE Determinare il nome del tipo di terminale. Se questa variabile non è impostata o è nulla, an
deve essere utilizzato un tipo di terminale predefinito non specificato.

ASINCRONO EVENTI


Il termine seguente viene utilizzato in questa sezione e in quelle successive per specificare comando e
azioni evento asincrone:

completamento di una scrivere
Una scrittura completa è la scrittura dell'intero contenuto del buffer di modifica su un file
di tipo diverso da un dispositivo terminale o il salvataggio del buffer di modifica causato
dall'utente che esegue il ex preservare comando. Scrivere il contenuto dell'edit
buffer in un file temporaneo che verrà rimosso all'uscita dall'editor
essere considerata una scrittura completa.

Al ricevimento dei segnali dovranno essere intraprese le seguenti azioni:

SIGINT Se l'ingresso standard non è un dispositivo terminale, ex non scriverà il file o
tornare alla modalità comando o immissione testo e uscire con un'uscita diversa da zero
stato.

Altrimenti, se si esegue un comando in modalità di immissione testo aperto o visivo, ex in ricezione
di SIGINT si comporterà in modo identico alla ricezione del carattere .

Altrimenti:

1. Se si esegue un ex comando della modalità di immissione del testo, tutte le righe di input che sono state
completamente inseriti verranno risolti nel buffer di modifica, e tutti quelli parzialmente
la riga inserita verrà scartata.

2. Se è presente un comando attualmente in esecuzione, verrà interrotto e verrà visualizzato un messaggio
visualizzato. Se non diversamente specificato dall'art ex or vi descrizioni dei comandi,
non è specificato se compaiono righe modificate dal comando in esecuzione
modificati, o come erano prima di essere modificati dal comando in esecuzione, in
il tampone.

Se il comando attualmente in esecuzione era un comando di movimento, è associato
il comando verrà scartato.

3. Se in modalità comando aperto o visivo, il terminale deve essere allertato.

4. L'editor tornerà quindi alla modalità di comando.

SIGCONT Lo schermo verrà aggiornato se in modalità aperta o visiva.

SIGHUP Se il buffer di modifica è stato modificato dall'ultima scrittura completa, ex deve
tentare di salvare il buffer di modifica in modo che possa essere recuperato in seguito utilizzando il file -r
opzione o il ex recuperare comando. L'editore non scriverà il file né lo restituirà
alla modalità di comando o di immissione testo e terminerà con uno stato di uscita diverso da zero.

SIGTERM Fare riferimento a SIGHUP.

L'azione intrapresa per tutti gli altri segnali non è specificata.

STDOUT


L'output standard deve essere utilizzato solo per scrivere richieste all'utente, a scopo informativo
messaggi e per scrivere righe dal file.

Stderr


L'errore standard deve essere utilizzato solo per i messaggi di diagnostica.

USCITA FILE


L'uscita da ex saranno file di testo.

EXTENDED DESCRIZIONE


Solo il ex la modalità dell'editor è descritta in questa sezione. Vedere vi per ulteriori modifiche
funzionalità disponibili in ex.

Quando si verifica un errore, ex scriverà un messaggio. Se il terminale supporta una modalità standout
(come il video inverso), il messaggio deve essere scritto in modalità standout. Se il terminale
non supporta una modalità straordinaria e l'opzione di modifica campanelli d'errore è impostata un'azione di avviso
deve precedere il messaggio di errore.

Per impostazione predefinita, ex inizierà in modalità comando, che sarà indicata da a : richiesta; Vedere
, il pronto comando. La modalità di immissione del testo può essere attivata da aggiungere, insert, o il cambiamento
comandi; è possibile uscire (e rientrare nella modalità comando) digitando un (".") solo
all'inizio di una riga.

Inizializzazione in ex ed vi
I seguenti simboli vengono utilizzati in questa sezione e in quelle successive per specificare le posizioni nel file
buffer di modifica:

alternato ed corrente nomi di percorso
Due percorsi, denominati corrente ed alternato, sono mantenuti dall'editore. Qualunque ex
i comandi che accettano nomi di file come argomenti li impostano come segue:

1. Se a filetto l'argomento è specificato in ex edit, ex, o recuperare comandi, o se
an ex etichetta Il comando sostituisce il contenuto del buffer di modifica.

UN. Se il comando sostituisce il contenuto del buffer di modifica, il file current
il percorso deve essere impostato su filetto argomento o il file indicato dal tag,
e il nome del percorso alternativo deve essere impostato sul valore precedente di quello corrente
percorso.

B. Altrimenti, il percorso alternativo sarà impostato su filetto discussione.

2. Se a filetto l'argomento è specificato in ex GENERAZIONE comando:

UN. Se il comando sostituisce il contenuto del buffer di modifica, il file current
il percorso deve essere impostato sul primo filetto argomento e il percorso alternativo
deve essere impostato sul valore precedente del percorso corrente.

3. Se a filetto l'argomento è specificato in ex filetto comando, il percorso corrente
sarà impostato su filetto argomento e il percorso alternativo deve essere impostato su
il valore precedente del percorso corrente.

4. Se a filetto l'argomento è specificato in ex read ed scrivere comandi (ovvero, quando
leggendo o scrivendo un file e non nel programma nominato da conchiglia edit
opzione) o a filetto l'argomento è specificato in ex colpire comando:

UN. Se il percorso corrente non ha valore, il percorso corrente sarà impostato su
, il filetto discussione.

B. Altrimenti, il percorso alternativo sarà impostato su filetto discussione.

Se il percorso alternativo è impostato sul valore precedente del percorso corrente quando
il percorso corrente non aveva alcun valore precedente, quindi il percorso alternativo dovrà averlo
nessun valore di conseguenza.

corrente linea
La riga del buffer di modifica a cui fa riferimento il cursore. Descrizione di ogni comando
specifica la riga corrente dopo che il comando è stato eseguito, come corrente linea
APPREZZIAMO. Quando il buffer di modifica non contiene righe, la riga corrente sarà zero; Vedere
Indirizzamento in ex.

corrente colonna
La colonna della riga di visualizzazione corrente occupata dal cursore. (Le colonne saranno
numerati a partire da 1.) Ogni descrizione di comando specifica la colonna corrente
dopo che il comando è stato eseguito, come il corrente colonna valore. Questa colonna è un
ideale colonna che viene ricordata per tutta la vita dell'editor. La visualizzazione vera e propria
la colonna di riga su cui poggia il cursore potrebbe essere diversa dalla colonna corrente;
vedere la discussione sul posizionamento del cursore in Comando descrizioni in vi.

set a diverso da
Una descrizione per il valore di una colonna corrente, il che significa che la colonna corrente dovrà essere
impostato sull'ultima colonna della riga di visualizzazione su cui viene visualizzata qualsiasi parte della prima
non della riga. Se la riga non contiene caratteri diversi da e non da ,
la colonna corrente verrà impostata sull'ultima colonna della riga di visualizzazione su cui si trova
ha visualizzato qualsiasi parte dell'ultimo carattere diverso da nella riga. Se la linea è
vuota, la colonna corrente verrà impostata sulla posizione della colonna 1.

La lunghezza delle righe nel buffer di modifica può essere limitata a {LINE_MAX} byte. In aperto e
modalità visiva, la lunghezza delle righe nel buffer di modifica può essere limitata al numero di
caratteri che si adatteranno al display. Se uno dei limiti viene superato durante la modifica, un
verrà scritto un messaggio di errore. Se uno dei limiti viene superato da una riga letta da un file,
verrà scritto un messaggio di errore e la sessione di modifica potrà essere terminata.

Se l'editor smette di funzionare per qualsiasi motivo diverso da un comando dell'utente e la modifica
buffer è stato modificato dall'ultima scrittura completa, sarà equivalente a un SIGHUP
evento asincrono. Se il sistema va in crash, sarà equivalente ad un SIGHUP asincrono
evento.

Durante l'inizializzazione (prima che il primo file venga copiato nel buffer di modifica o in qualsiasi file user
vengono elaborati i comandi provenienti dal terminale) si verifica quanto segue:

1. Se la variabile di ambiente ESCI è impostato, l'editor eseguirà il file ex comandi
contenuto in quella variabile.

2. Se la ESCI la variabile non è impostata e sono vere tutte le seguenti condizioni:

un. Il HOMEPAGE la variabile di ambiente non è nulla e non è vuota.

B. Il file .exrc nella directory a cui fa riferimento il HOMEPAGE variabile d'ambiente:

io. Esiste

ii. È di proprietà dello stesso ID utente dell'ID utente reale del processo o del file
il processo dispone dei privilegi appropriati

iii. Non è scrivibile da nessun altro oltre al proprietario

l'editore eseguirà il ex comandi contenuti in quel file.

3. Se e solo se tutte le seguenti condizioni sono vere:

UN. Alla directory corrente non fa riferimento il file HOMEPAGE variabile d'ambiente.

B. Un comando nel ESCI variabile d'ambiente o un comando nel file .exrc file nella
directory a cui si fa riferimento HOMEPAGE la variabile d'ambiente imposta l'opzione dell'editor
exrc.

c. Il .exrc file nella directory corrente:

io. Esiste

ii. È di proprietà dello stesso ID utente dell'ID utente reale del processo o di uno di
una serie di ID utente definiti dall'implementazione

iii. Non è scrivibile da nessun altro oltre al proprietario

l'editore tenterà di eseguire il ex comandi contenuti in quel file.

Linee in qualsiasi .exrc file che contengono righe vuote verranno ignorati. Se presente .exrc il file esiste,
ma non viene letto per motivi di proprietà o autorizzazione, sarà un errore.

Dopo il ESCI variabile e qualsiasi .exrc vengono elaborati i file, il primo file specificato da
l'utente dovrà essere modificato come segue:

1. Se l'utente ha specificato il -t opzione, l'effetto sarà come se il ex etichetta il comando era
immesso con l'argomento specificato, con l'eccezione che se l'elaborazione del tag viene eseguita
non si tradurrà in un file da modificare, l'effetto sarà quello descritto al punto 3. di seguito.

2. Altrimenti, se l'utente ha specificato una riga di comando filetto argomenti, l’effetto sarà
come se il ex edit il comando è stato immesso con il primo di questi argomenti come suo filetto
discussione.

3. Altrimenti l'effetto sarà come se il ex edit il comando è stato inserito con a
nome file inesistente come suo filetto discussione. Non è specificato se questa azione avverrà
imposta il percorso corrente. In un'implementazione in cui questa azione non imposta il file
percorso corrente, qualsiasi comando dell'editor che utilizza il percorso corrente fallirà finché non viene visualizzato un file
Il comando dell'editor imposta il percorso corrente.

Se l' -r è stata specificata l'opzione la prima volta che un file nell'elenco di argomenti iniziale o a
file specificato da -t l'opzione viene modificata, se le informazioni di ripristino sono state precedentemente
salvato al riguardo, tali informazioni verranno recuperate e l'editore si comporterà come se il file
il contenuto del buffer di modifica è già stato modificato. Se sono presenti più istanze di
il file da recuperare, verrà recuperato quello salvato più recentemente e un file
messaggio informativo che indica che esistono versioni precedenti del file che possono essere recuperate
sarà scritto. Se non sono disponibili informazioni di ripristino su un file, verrà visualizzato un messaggio informativo
verrà scritto un messaggio in tal senso e la modifica procederà normalmente.

Se l' -c è stata specificata l'opzione, la prima volta che un file già esistente (incluso a
file che potrebbe non esistere ma per il quale sono disponibili informazioni di ripristino, quando il file -r
l'opzione è specificata) sostituisce o inizializza il contenuto del buffer di modifica, quello corrente
sarà impostata sull'ultima riga del buffer di modifica, la colonna corrente sarà impostata su
non- e il ex comandi specificati con il -c l'opzione sarà eseguita. In questo
In questo caso, la riga e la colonna correnti non devono essere impostate come descritto per il comando
associato alla sostituzione o all'inizializzazione del contenuto del buffer di modifica. Tuttavia, se
, il -t opzione o a etichetta il comando è associato a questa azione, il -c comandi di opzione
deve essere eseguito e quindi deve essere eseguito il movimento verso il tag.

L'elenco di argomenti corrente sarà inizialmente impostato sui nomi di file specificati dall'utente su
la riga di comando. Se l'utente non specifica alcun nome di file, l'elenco degli argomenti correnti
sarà vuoto. Se la -t è stata specificata l'opzione, non è specificato se esiste un nome file
risultante dall'elaborazione del tag deve essere anteposto all'elenco degli argomenti corrente. Nel caso
dove il nome del file viene aggiunto come prefisso all'elenco degli argomenti correnti, l'argomento corrente
il riferimento all'elenco sarà impostato su quel nome file. Nel caso in cui il nome del file non venga aggiunto
come prefisso all'elenco di argomenti corrente, il riferimento all'elenco di argomenti corrente dovrà
essere posizionato logicamente prima del primo dei nomi di file specificati sulla riga di comando (per
ad esempio, un successivo ex GENERAZIONE Il comando modificherà il primo nome file dal comando
linea). Se la -t l'opzione non è stata specificata, il riferimento all'elenco di argomenti corrente sarà quello
il primo dei nomi di file sulla riga di comando.

Indirizzamento in ex
Indirizzamento in ex si riferisce alla riga e alla colonna correnti; l'indirizzo di una linea
è il numero di riga in base 1, l'indirizzo di una colonna è il conteggio in base 1 da
inizio della riga. Generalmente, la riga corrente è l'ultima riga interessata da un comando.
Il numero di riga corrente è l'indirizzo della riga corrente. Nella descrizione di ogni comando,
viene descritto l'effetto del comando sul numero di riga corrente e sulla colonna corrente.

Gli indirizzi sono costruiti come segue:

1. Il personaggio "." (punto) si rivolge alla riga corrente.

2. Il personaggio "$" affronterà l'ultima riga del buffer di modifica.

3. Il numero decimale positivo n deve affrontare il nesima riga del buffer di modifica.

4. L'indirizzo "'X" si riferisce alla riga contrassegnata dal carattere del nome del marchio 'X', quale
deve essere una lettera minuscola del set di caratteri portabile, il carattere delle virgolette inverse,
o il carattere di virgoletta singola. Sarà un errore se la linea che è stata segnata non lo è
attualmente presente nel buffer di modifica o il contrassegno non è stato impostato. Le linee possono essere contrassegnate
con la ex marchio or k comandi o il vi m comando.

5. Un'espressione regolare racchiusa tra caratteri ("/") si rivolge alla prima riga
trovato effettuando una ricerca in avanti dalla riga che segue la riga corrente verso la fine di
il buffer di modifica e fermandosi alla prima riga per la quale la riga escludendo il
terminare corrisponde all'espressione regolare. Come affermato in Regolare Espressioni
in ex, un indirizzo costituito da un'espressione regolare nulla delimitata da
caratteri ("//") si rivolge alla riga successiva per la quale la riga escludendo il
terminare corrisponde all'ultima espressione regolare incontrata. Inoltre,
la seconda può essere omessa alla fine di una riga di comando. Se la avvolgere edit
è impostata, la ricerca proseguirà fino all'inizio del buffer di modifica e
continuare fino alla riga corrente inclusa, in modo che l'intero buffer di modifica sia
cercato. All'interno dell'espressione regolare, la sequenza "\/" rappresenterà un valore letterale
invece del delimitatore dell'espressione regolare.

6. Un'espressione regolare racchiusa tra caratteri ('?') affronta il
prima riga trovata effettuando una ricerca all'indietro dalla riga precedente a quella corrente
verso l'inizio del buffer di modifica e fermandosi alla prima riga per la quale il file
la riga che esclude il finale corrisponde all'espressione regolare. Un indirizzo
costituito da un'espressione regolare nulla delimitata da caratteri ("??")
deve indirizzare la riga precedente per la quale la riga esclude la terminazione
corrisponde all'ultima espressione regolare incontrata. Inoltre, la seconda <domanda-
mark> può essere omesso alla fine di una riga di comando. Se la avvolgere l'opzione di modifica è impostata,
la ricerca si svolgerà dall'inizio del buffer di modifica alla fine del file
buffer di modifica e continua fino alla riga corrente inclusa, in modo che l'intera modifica
viene cercato il buffer. All'interno dell'espressione regolare, la sequenza "\?" rappresenterà a
letterale invece del delimitatore RE.

7. A ('+') o un segno meno ('-') seguito da un numero decimale si rivolge
la riga corrente più o meno il numero. UN '+' or '-' non seguito da un decimale
il numero indirizzerà la riga corrente più o meno 1.

Gli indirizzi possono essere seguiti da zero o più offset di indirizzo, facoltativamente -separato.
Gli offset degli indirizzi sono costruiti come segue:

1. Il '+' or '-' immediatamente seguito da un numero decimale aggiunge (sottrae) il
numero indicato di righe verso (da) l'indirizzo. UN '+' or '-' non seguito da a
il numero decimale aggiunge (sottrae) 1 al (da) l'indirizzo.

2. Un numero decimale aggiunge all'indirizzo il numero di righe indicato.

Non deve essere un errore se un valore di indirizzo intermedio è minore di zero o maggiore
rispetto all'ultima riga nel buffer di modifica. Deve essere un errore per il valore dell'indirizzo finale a
essere inferiore a zero o maggiore dell'ultima riga nel buffer di modifica.

I comandi richiedono zero, uno o due indirizzi; vedere le descrizioni di 1 ind ed 2 ind in
Comando descrizioni in ex. Se viene fornito un numero di indirizzi superiore a quello richiesto
un comando che richiede zero indirizzi, sarà un errore. Altrimenti, se superiore a
viene fornito il numero richiesto di indirizzi a un comando, gli indirizzi specificati per primi
saranno valutati e poi scartati fino a quando rimane il numero massimo di indirizzi validi.

Gli indirizzi devono essere separati l'uno dall'altro da a (',') o un (';').
Se non viene specificato alcun indirizzo prima o dopo il separatore o , lo sarà
come se l'indirizzo della riga corrente fosse specificato prima o dopo il separatore. Nel
caso di un separatore , la riga corrente (".") sarà impostato al primo
indirizzo e solo allora verrà calcolato l'indirizzo successivo. Questa funzionalità può essere utilizzata per
determinare la linea di partenza per le ricerche in avanti e all'indietro (vedi regole 5. e 6.).

Un ('%') equivarrà all'inserimento dei due indirizzi "1,$".

Qualsiasi carattere di delimitazione tra indirizzi, separatori di indirizzi o indirizzi
le compensazioni saranno scartate.

Comando linea parsing in ex
Il seguente simbolo viene utilizzato in questa sezione e in quelle successive per descrivere il comportamento di analisi:

fuga Se un carattere viene indicato come ``-escape'' o ``‐V-
sfuggito'', significherà che il carattere ha acquisito o perso un significato speciale
in quanto preceduto, rispettivamente, da un o ‐V
carattere. Se non diversamente specificato, il carattere di escape verrà scartato
in quel momento e non verranno ulteriormente presi in considerazione per alcuno scopo.

L'analisi della riga di comando verrà eseguita nei passaggi seguenti. Per ogni passaggio, caratteri
già valutato verrà ignorato; cioè, la frase "personaggio principale" si riferisce
il carattere successivo che non è stato ancora valutato.

1. I caratteri iniziali devono essere saltati.

2. I caratteri iniziali devono essere saltati.

3. Se il carattere iniziale è un carattere tra virgolette doppie, i caratteri fino a e
incluso il successivo senza -escape deve essere scartato, e qualsiasi
i caratteri successivi verranno analizzati come un comando separato.

4. Verranno valutati i caratteri iniziali interpretabili come indirizzi; Vedere
Indirizzamento in ex.

5. I caratteri iniziali devono essere saltati.

6. Se il carattere successivo è un carattere o un :

UN. Se il carattere successivo è un :

io. Se ex è in modalità aperta o visiva, la riga corrente sarà impostata sull'ultima
indirizzo specificato, se presente.

ii. Altrimenti, se l'ultimo comando termina con un carattere ,
non verrà intrapresa alcuna azione; ad esempio, il comando "||" deve
eseguire due comandi impliciti, non tre.

iii. Altrimenti, passo 6.b. si applica.

B. Altrimenti, il comando implicito sarà the stampare comando. L'ultimo #, pe l
flag specificati in any ex il comando sarà ricordato e si applicherà a questo
comando implicito. Eseguendo il ex numero, stampare, o stratagemma il comando imposterà il
ricordati i flag a #, niente e l, rispettivamente, più eventuali altri flag
specificato per tale esecuzione del numero, stampare, o stratagemma comando.

If ex attualmente non sta eseguendo a globale or v comando e nessun indirizzo o conteggio
è specificato, la riga corrente verrà incrementata di 1 prima che il comando venga eseguito
eseguito. Se l'incremento della riga corrente comporterebbe un indirizzo successivo a
ultima riga nel buffer di modifica, il comando fallirà e l'incremento no
accadere.

C. Il carattere o deve essere scartato e qualsiasi successivo
i caratteri devono essere analizzati come un comando separato.

7. Il nome del comando deve essere composto dal carattere successivo (se il carattere non lo è
alfabetico), oppure il carattere successivo ed eventuali caratteri alfabetici successivi (se il
carattere è alfabetico), con le seguenti eccezioni:

UN. Comandi costituiti da qualsiasi prefisso dei caratteri nel nome del comando delete,
seguito immediatamente da uno qualsiasi dei personaggi 'l', 'P', '+', '-', o '#' deve essere
interpretato come a delete comando, seguito da un , seguito dai caratteri
che non facevano parte del prefisso del delete comando. Il numero massimo di
i caratteri devono corrispondere al nome del comando delete; per esempio, "del" deve
non essere trattato come "de" seguito dalla bandiera l.

B. Comandi che consistono nel personaggio 'K', seguito da un carattere che può essere
utilizzato come nome di un marchio, sarà equivalente al comando marchio seguito da a
, seguito dal carattere che seguiva il 'K'.

C. Comandi che consistono nel personaggio 'S', seguito dai caratteri che potrebbero essere
interpretate come opzioni valide per il s comando, sarà l'equivalente del s
comando, senza alcun modello o valore di sostituzione, seguito da un ,
seguito dai caratteri dopo il 'S'.

8. Il nome del comando deve essere abbinato ai possibili nomi del comando e ad un comando
il nome che contiene un prefisso corrispondente ai caratteri specificati dall'utente sarà il
comando eseguito. Nel caso di comandi in cui i caratteri specificati dall'utente
potrebbe essere ambiguo, il comando eseguito sarà il seguente:

┌───┬────────┬┬───┬───────┬┬───┬───────┐
aaggiungere ?nGENERAZIONE ?tt
cil cambiamento ?pstampare ?udisfare
chil cambiamento ?prstampare ?undisfare
eedit ?rread ?vv
mcambiano ?reread ?wscrivere
mamarchio ?ss ││ │ │
└───┴────────┴┴───┴───────┴┴───┴───────┘
Le estensioni di implementazione i cui nomi causano ambiguità simili non devono essere controllate
per una corrispondenza finché non saranno presenti tutte le possibili corrispondenze per i comandi specificati da POSIX.1‐2008
stato controllato.

9. Se il comando è a ! comando, o se il comando è a read comando seguito da zero
o più caratteri e a !o se il comando è a scrivere comando seguito da
uno o più caratteri e a !, il resto del comando includerà tutto
caratteri fino a un senza -escape. Il sarà
scartato e tutti i caratteri successivi devono essere analizzati come separati ex comando.

10. Altrimenti, se il comando è an edit, ex, o GENERAZIONE comando o a visivo comando mentre
in modalità aperta o visiva, la parte successiva del comando deve essere analizzata come segue:

un. Qualunque '!' il carattere immediatamente successivo al comando verrà saltato e farà parte
del comando.

B. Eventuali caratteri iniziali verranno saltati e faranno parte del comando.

C. Se il carattere successivo è a '+', caratteri fino al primo senza -escape
o senza escape devono essere saltati e far parte del
comando.

D. Il resto del comando sarà determinato dalle fasi specificate nel paragrafo
12

11. Altrimenti, se il comando è a globale, aprire, s, o v comando, la parte successiva del file
il comando deve essere analizzato come segue:

UN. Eventuali caratteri iniziali verranno saltati e faranno parte del comando.

B. Se il carattere successivo non è un carattere alfanumerico, virgolette doppie, ,
Carattere o :

io. Il carattere successivo verrà utilizzato come delimitatore del comando.

ii. Se il comando è a globale, aprire, o v comando, caratteri fino al primo
senza -escape o primo delimitatore senza -escape
carattere, deve essere saltato e far parte del comando.

iii. Se il comando è un s comando, caratteri fino al primo
non--escape , o il secondo senza--escape
carattere delimitatore, deve essere saltato e far parte del comando.

C. Se il comando è a globale or v comando, caratteri fino al primo
non--escape deve essere saltato e far parte del comando.

D. Altrimenti, il resto del comando sarà determinato dai passaggi specificati in
paragrafo 12.

12. Altrimenti:

UN. Se il comando fosse a carta geografica, annulla mappa, abbreviare, o non abbreviato comando, personaggi
fino al primo , o double- senza ‐V-escape
il carattere citazione deve essere saltato e far parte del comando.

B. Altrimenti, i caratteri fino al primo senza -escape,
o il carattere virgolette doppie devono essere saltati e far parte del file
comando.

C. Se il comando fosse un aggiungere, il cambiamento, o insert comando e il passaggio 12.b. conclusa
in corrispondenza di un carattere , qualsiasi carattere successivo, fino a quello successivo
non--escape deve essere utilizzato come testo di input per il comando.

D. Se il comando termina con un carattere tra virgolette doppie, tutti i caratteri successivi,
fino al successivo senza -escape, verrà scartato.

e. Il carattere finale o deve essere scartato ed eventuali
i caratteri successivi devono essere analizzati come separati ex comando.

Gli argomenti del comando devono essere analizzati come descritto dalla sinossi e dalla descrizione di ciascuno
individuale ex comando. Questa analisi non deve essere sensibile a , ad eccezione di !
argomento, che deve seguire il nome del comando senza l'intervento di caratteri , e
dove altrimenti sarebbe ambiguo. Per esempio, contare ed bandiera non è necessario che lo siano gli argomenti
-separato perché "d22p" non è ambiguo, ma filetto argomenti per il ex GENERAZIONE
il comando deve essere separato da uno o più caratteri . Qualsiasi nel comando
argomenti a favore del abbreviare, non abbreviato, carta geograficae annulla mappa i comandi possono essere ‐V-
sfuggito, nel qual caso non deve essere utilizzato come delimitatore di argomento. Qualsiasi
nell'argomento del comando per qualsiasi altro comando può essere -escape, nel qual caso
che non deve essere utilizzato come delimitatore di argomento.

All'interno degli argomenti del comando per il abbreviare, non abbreviato, carta geograficae annulla mappa comandi, qualsiasi
il carattere può essere ‐V-escape. Tutti questi caratteri sfuggiti verranno trattati
letteralmente e non avrà alcun significato speciale. All'interno degli argomenti del comando per tutti gli altri ex
comandi che non sono espressioni regolari o stringhe sostitutive, qualsiasi carattere che lo sia
altrimenti hanno un significato speciale possono essere sottoposti a escape . I caratteri escape saranno
trattati letteralmente, senza significato speciale, come caratteri di espansione della shell o '!', '%'e
'#' caratteri di espansione. Vedere Regolare Espressioni in ex ed Sostituzione String in ex per
descrizioni degli argomenti del comando che sono espressioni regolari o stringhe sostitutive.

Senza -escape '%' personaggi che compaiono in filetto argomenti a qualsiasi ex il comando dovrà
essere sostituito dal percorso corrente; senza fuga '#' i caratteri saranno sostituiti da
percorso alternativo. Sarà un errore se '%' or '#' i caratteri appaiono senza caratteri di escape in un
argomento e i valori corrispondenti non sono impostati.

Senza -escape '!' caratteri negli argomenti di entrambi i ex ! comando o
la modalità aperta e visiva ! comando o negli argomenti del comando ex read comando, dove il
il primo non dopo il nome del comando è a '!' carattere, o negli argomenti al
ex scrivere comando dove il nome del comando è seguito da uno o più caratteri e
il primo non dopo il nome del comando è a '!' carattere, sarà sostituito con
dopo tutto, gli argomenti dell'ultimo di questi tre comandi come apparivano senza caratteri di escape
'%', '#'e '!' i personaggi sono stati sostituiti. Sarà un errore se '!' caratteri
appaiono senza caratteri di escape in uno di questi comandi e non è stata eseguita alcuna esecuzione precedente di uno di essi
di questi comandi.

Se si verifica un errore durante l'analisi o l'esecuzione di un file ex comando:

* Verrà scritto un messaggio informativo in tal senso. Esecuzione del ex command
si fermerà e il cursore (ad esempio, la riga e la colonna correnti) non si fermerà
ulteriormente modificato.

* Se la ex il comando è il risultato di un'espansione della mappa, tutti i personaggi di quella mappa
l'espansione dovrà essere scartata, salvo quanto diversamente specificato dal carta geografica comando.

* Altrimenti, se il ex il comando è risultato dall'elaborazione di un file ESCI ambiente
variabile, a .exrc file, un file :fonte comando, a -c opzione o a +command specificato a un
ex edit, ex, GENERAZIONE, o visivo comando, nessun ulteriore comando dall'origine del file
i comandi devono essere eseguiti.

* Altrimenti, se il ex comando risultante dall'esecuzione di un buffer o a globale or v
comando, nessun ulteriore comando causato dall'esecuzione del buffer o del file globale or v
il comando dovrà essere eseguito.

* Altrimenti, se il ex il comando non è stato terminato da un , tutti i caratteri fino a
e includere il successivo senza -escape deve essere scartato.

Ingresso Editing in ex
Il seguente simbolo viene utilizzato in questa sezione e nelle seguenti per specificare il comando
azioni:

parola Nella locale POSIX, una parola consiste di una sequenza massima di lettere, cifre,
e trattini bassi, delimitati alle due estremità da caratteri diversi dalle lettere,
cifre, caratteri di sottolineatura o all'inizio o alla fine di una riga o nel buffer di modifica.

Quando si accettano caratteri di input dall'utente, in entrambi ex modalità di comando o ex immissione del testo
modalità, ex dovrà abilitare l'elaborazione dell'input in modalità canonica, come definito nelle Interfacce di sistema
volume di POSIX.1-2008.

Se dentro ex modalità di immissione del testo:

1. Se la numero l'opzione di modifica è impostata, ex richiederà l'input utilizzando il numero di riga che
verrebbe assegnato alla riga se inserita, nel formato specificato per il file ex
numero comando.

2. Se la rientro automatico l'opzione di modifica è impostata, ex richiederà l'input utilizzando rientro automatico
personaggi, come descritti da rientro automatico opzione di modifica. rientro automatico i personaggi devono
seguire il numero di riga, se presente.

Se dentro ex modalità di comando:

1. Se la pronto è impostata l'opzione di modifica, verrà richiesto l'input per l'utilizzo di un singolo ':'
carattere; in caso contrario, non vi sarà alcuna richiesta.

I caratteri immessi nelle sezioni seguenti avranno i seguenti effetti sul file
linea di ingresso.

Scorrere
Sinossi:
eof

Vedi la descrizione del sty eof personaggio sty.

Se dentro ex modalità di comando:

Se l' eof carattere è il primo carattere immesso nella riga, la riga sarà
valutato come se contenesse due caratteri: un ‐D e un .

Altrimenti, il eof il carattere non avrà alcun significato speciale.

Se dentro ex modalità di immissione del testo:

Se il cursore segue un rientro automatico personaggio, il rientro automatico personaggi in
verrà modificata in modo che una parte del successivo carattere di immissione del testo lo sia
visualizzato nella prima colonna della riga successiva alla precedente ampiezza di spostamento opzione di modifica
limite della colonna e all'utente verrà richiesto nuovamente l'input per la stessa riga.

Altrimenti, se il cursore segue a '0', che segue un rientro automatico carattere e
, il '0' era il carattere di immissione del testo precedente, il '0' e tutti rientro automatico
i caratteri nella riga verranno scartati e all'utente verrà richiesto nuovamente di inserirli
ingresso per la stessa linea.

Altrimenti, se il cursore segue a '^', che segue un rientro automatico carattere e
, il '^' era il carattere di immissione del testo precedente, il '^' e tutti rientro automatico
i caratteri nella riga verranno scartati e all'utente verrà richiesto nuovamente di inserirli
ingresso per la stessa linea. Inoltre, il rientro automatico livello per la riga di input successiva
deve essere derivato dalla stessa linea da cui il rientro automatico livello per la corrente
è stata derivata la linea di input.

Altrimenti, se non ci sono rientro automatico o inserire caratteri di testo nella riga, il eof
il carattere verrà scartato.

Altrimenti, il eof il carattere non avrà alcun significato speciale.


Sinossi:

-J

Se dentro ex modalità di comando:

Causa l'analisi della riga di comando; ‐J deve essere mappato su
per questo scopo.

Se dentro ex modalità di immissione del testo:

Termina la linea corrente. Se non sono presenti caratteri diversi da rientro automatico
caratteri sulla riga, tutti i caratteri sulla riga verranno scartati.

Richiede l'immissione di testo su una nuova riga dopo la riga corrente. Se la rientro automatico edit
l'opzione è impostata, un numero appropriato di rientro automatico i caratteri verranno aggiunti come a
prefisso alla linea come descritto da ex rientro automatico opzione di modifica.


Sinossi:


Consenti l'inserimento di un successivo o ‐J come carattere letterale, rimuovendo
qualsiasi significato speciale che potrebbe avere per l'editor durante la modalità di immissione del testo. La
il carattere deve essere mantenuto e valutato quando la riga di comando viene analizzata, o mantenuta e
incluso quando il testo di input diventa parte del buffer di modifica.

‐V
Sinossi:
-V

Consenti l'immissione di qualsiasi carattere successivo come carattere letterale, rimuovendo qualsiasi carattere speciale
il che significa che potrebbe essere necessario all'editor durante la modalità di immissione del testo. Il carattere -V
deve essere scartato prima che la riga di comando venga analizzata o che il testo di input diventi parte del file
buffer di modifica.

Se la funzionalità "successivo letterale" viene eseguita dal sistema sottostante, lo è
definito dall'implementazione se un carattere diverso da ‐V esegue questa funzione.

‐W
Sinossi:
-W

Scarta ‐W e la parola precedente nella riga di input, inclusa qualsiasi
Caratteri che seguono la parola e precedono ‐W. Se la "parola
la funzionalità erase'' viene eseguita dal sistema sottostante ed è definita dall'implementazione
se un carattere diverso da ‐W esegue questa funzione.

Comando descrizioni in ex
I seguenti simboli vengono utilizzati in questa sezione per rappresentare i modificatori dei comandi. Alcuni
questi modificatori possono essere omessi, nel qual caso verranno utilizzati i valori predefiniti specificati.

1 ind Un indirizzo a riga singola, fornito in una qualsiasi delle forme descritte in Indirizzamento in ex;
il valore predefinito sarà la riga corrente ("."), se non diversamente specificato.

Se l'indirizzo della linea è zero, si tratterà di un errore, se non diversamente specificato nel
le seguenti descrizioni dei comandi.

Se il buffer di modifica è vuoto e l'indirizzo viene specificato con un comando other
di =, aggiungere, insert, aprire, metti , read, o visivo, o l'indirizzo non è zero,
sarà un errore.

2 ind Due indirizzi che specificano un intervallo inclusivo di linee. Se non ci sono indirizzi
specificato, il valore predefinito per 2 ind sarà solo la riga corrente (".,."), salvo che
diversamente specificato nelle seguenti descrizioni dei comandi. Se un indirizzo è
specificato, 2 ind deve specificare solo quella riga, se non diversamente specificato nel
seguenti descrizioni dei comandi.

Sarà un errore se il primo indirizzo è maggiore del secondo indirizzo.

Se il buffer di modifica è vuoto e i due indirizzi vengono specificati con un comando
diverso dal !, scrivere, wq, o colpire comandi, o uno degli indirizzi non è zero, it
sarà un errore.

contare Un numero decimale positivo. Se contare è specificato, sarà equivalente a
specificando un indirizzo aggiuntivo al comando, se non diversamente specificato da
le seguenti descrizioni dei comandi. L'indirizzo aggiuntivo sarà uguale a
ultimo indirizzo specificato nel comando (esplicitamente o per impostazione predefinita) più
contare-1.

Se ciò risulterebbe in un indirizzo maggiore dell'ultima riga della modifica
buffer, verrà corretto in modo che corrisponda all'ultima riga del buffer di modifica.

bandiere Uno o più personaggi '+', '-', '#', 'P', o 'l' (ell). La bandiera
i caratteri possono essere separati da e in qualsiasi ordine o combinazione. IL
caratteri '#', 'P'e 'l' farà sì che le righe vengano scritte nel formato
specificato dal stampare comando con il valore specificato bandiere.

Le righe da scrivere sono le seguenti:

1. Tutte le righe del buffer di modifica scritte durante l'esecuzione del file ex &, ~, stratagemma,
numero, aprire, stampare, s, visivoe z i comandi devono essere scritti come specificato
by bandiere.

2. Dopo il completamento di un ex comando con un flag come argomento, il
la riga corrente dovrà essere scritta come specificato da bandiere, a meno che la riga corrente
era l'ultima riga scritta dal comando.

I personaggi '+' ed '-' causare il valore della riga corrente dopo il
esecuzione del ex comando da regolare tramite l'indirizzo di offset come descritto in
Indirizzamento in ex. Questo aggiustamento avverrà prima della linea attuale
scritto come descritto al punto 2. sopra.

L'impostazione predefinita per bandiere non sarà nessuno.

bufferizzare Una delle numerose aree denominate per contenere il testo. I buffer denominati sono specificati
dai caratteri alfanumerici della locale POSIX. Ce ne sarà anche uno
Buffer "senza nome". Quando non viene specificato alcun buffer per i comandi dell'editor che utilizzano a
buffer, deve essere utilizzato il buffer senza nome. Comandi che memorizzano il testo nei buffer
memorizzerà il testo com'era prima che il comando avesse effetto e lo memorizzerà
il testo che appare prima nel file prima del testo che appare più tardi nel file,
indipendentemente da come è stata specificata l'area del testo. Comandi in cui archiviare il testo
i buffer memorizzeranno il testo nel buffer senza nome così come qualsiasi altro specificato
tampone.

In ex comandi, i nomi dei buffer vengono specificati come nome stesso. In aperto o
comandi in modalità visiva, il nome è preceduto da virgolette doppie ('"') personaggio.

Se il nome del buffer specificato è un carattere maiuscolo e il contenuto del buffer
devono essere modificati, il buffer deve essere aggiunto anziché esserlo
sovrascritto. Se il buffer non viene modificato, specificando il nome del buffer in
minuscolo e maiuscolo avranno risultati identici.

Dovranno essere presenti anche buffer denominati con i numeri da 1 a 9. In modalità aperta e visiva
modalità, se è presente un'area di testo che include caratteri di più di una singola riga
in fase di modifica da parte del vi c or d comandi, il carattere di movimento associato
, il c or d comandi specifica che il testo del buffer deve essere in modalità riga oppure il file
comandi %, `, /, ?, (, ), N, n, {, o } sono usati per definire un'area di testo per
, il c or d comandi, il contenuto dei buffer da 1 a 8 verrà spostato nel file
buffer denominato dal valore numericamente maggiore successivo, il contenuto del buffer 9
verrà scartato e la regione di testo verrà copiata nel buffer 1. This
dovrà essere in aggiunta alla copia del testo in un buffer specificato dall'utente o senza nome
buffer o entrambi. I buffer numerici possono essere specificati come buffer di origine per open
e comandi della modalità visiva; tuttavia, specificando un buffer numerico come scrittura
il target di un comando in modalità aperta o visiva avrà risultati non specificati.

Il testo di ciascun buffer avrà la caratteristica di trovarsi in una riga o nell'altra
modalità carattere. L'aggiunta di testo a un buffer non vuoto imposterà la modalità in modo che corrisponda
la caratteristica del testo che viene aggiunto. L'aggiunta di testo a un buffer deve
causare la creazione di almeno una riga aggiuntiva nel buffer. Tutto il testo
memorizzato nei buffer da ex i comandi dovranno essere in modalità linea. IL ex comandi che
utilizzare i buffer come origine del testo specificare individualmente come buffer di diverso
vengono gestite le modalità Ogni comando in modalità aperta o visiva che utilizza buffer per any
scopo specifica individualmente la modalità del testo memorizzato nel buffer e
come vengono gestiti i buffer delle diverse modalità.

filetto Testo del comando utilizzato per derivare un nome di percorso. Il valore predefinito sarà quello corrente
percorso, come definito in precedenza, nel qual caso, se non è ancora presente alcun percorso corrente
stato stabilito, si tratterà di un errore, salvo laddove espressamente indicato nel
descrizioni dei singoli comandi che seguono. Se il testo del comando ne contiene
dei personaggi '~', '{', '[', '*', '?', "$", '"', virgolette rovesciate, virgolette singole,
e , sarà sottoposto al processo di ``espansioni della shell'',
come descritto sotto; se risulta più di un singolo percorso e il comando
se ne aspetta solo uno, sarà un errore.

Il processo di espansione della shell nell'editor deve essere eseguito come segue. IL ex
l'utility passerà due argomenti al programma indicato dall'opzione di modifica della shell;
il primo sarà -c, e il secondo sarà la stringa "eco" e il comando
testo come argomento singolo. L'output standard e l'errore standard di quello
il comando sostituirà il testo del comando.

! Un carattere che può essere aggiunto al nome del comando per modificarne il funzionamento, come
dettagliate nelle descrizioni dei singoli comandi. Ad eccezione di ex
read, scriveree ! comandi, il '!' il carattere fungerà da modificatore solo se
non ci sono caratteri tra esso e il nome del comando.

ricordato Ricerca direzione
I vi comandi N ed n iniziare la ricerca in avanti o all'indietro
il buffer di modifica in base a una direzione di ricerca ricordata, che è inizialmente
non impostato ed è impostato da ex globale, v, se etichetta comandi e il vi / ed ?
comandi.

Abbreviare
Sinossi:
ab[breviare][ss RHS]

If ss ed RHS non sono specificati, scrivi l'elenco attuale delle abbreviazioni e non fare nulla
altri accessori.

Le implementazioni possono limitare il set di caratteri accettati in ss or RHS, salvo che
i caratteri stampabili e i caratteri non saranno soggetti a limitazioni. Ulteriori
le restrizioni devono essere definite dall'implementazione.

In entrambe ss ed RHS, qualsiasi carattere può essere preceduto da un ‐V, nel qual caso il
il carattere non deve essere utilizzato per delimitare ss da RHS, e l'escape ‐V sarà
scartato.

Nella modalità di immissione testo aperta e visiva, se si tratta di un carattere non di parola o senza escape
mediante l'inserimento di un carattere ‐V dopo un carattere di parola, deve essere effettuato un controllo per a
set di caratteri corrispondenti ss, nell'input di testo immesso durante questo comando. Se è
trovato, l'effetto sarà come se RHS è stato inserito al posto di ss.

Il set di caratteri controllati è definito come segue:

1. Se non sono stati inseriti caratteri prima della parola e dei caratteri non verbali o
che ha attivato il controllo, l'insieme di caratteri sarà costituito dal carattere parola.

2. Se il carattere inserito prima della parola e dei caratteri non-parola o quello
attivato il controllo è un carattere di parola, l'insieme di caratteri è composto da
caratteri inseriti immediatamente prima dei caratteri di attivazione che sono parole
caratteri, più il carattere della parola attivante.

3. Se il carattere inserito prima della parola e dei caratteri non-parola o quello
attivato il controllo non è un carattere di parola, il set di caratteri deve essere composto
i caratteri che sono stati inseriti prima dei caratteri di attivazione che non sono nessuno dei due
Caratteri né caratteri di parola, più il carattere di parola attivante.

Non è specificato se il ss argomento inserito per il ex abbreviare ed non abbreviato
viene sostituito in questo modo. Indipendentemente dal fatto che avvenga o meno la sostituzione,
l'effetto del comando sarà come se la sostituzione non fosse avvenuta.

Corrente linea: Invariato.

Corrente colonna: Invariato.

Aggiungere
Sinossi:
[1 ind] a[ppend][!]

entrare ex modalità di immissione del testo; il testo immesso deve essere posizionato dopo la riga specificata. Se linea
viene specificato zero, il testo verrà posizionato all'inizio del buffer di modifica.

Questo comando sarà influenzato da numero ed rientro automatico modificare le opzioni; seguendo il
nome del comando con '!' causerà il rientro automatico impostazione dell'opzione di modifica da attivare
solo la durata di questo comando.

Corrente linea: Imposta sull'ultima riga di input; se non è stata immessa alcuna riga, impostare su specificato
o alla prima riga del buffer di modifica se è stata specificata una riga pari a zero, o zero se
il buffer di modifica è vuoto.

Corrente colonna: impostato su non .

argomenti
Sinossi:
ar[gs]

Scrivere l'elenco di argomenti corrente, con la voce dell'elenco di argomenti corrente, se presente, in mezzo '['
ed ']' caratteri.

Corrente linea: Invariato.

Corrente colonna: Invariato.

Cambiamento di
Sinossi:
[2 ind] c[hange][!][contare]

entrare ex modalità di immissione del testo; il testo in input sostituirà le righe specificate. Quello specificato
le linee verranno copiate nel buffer senza nome, che diventerà un buffer in modalità linea.

Questo comando sarà influenzato da numero ed rientro automatico modificare le opzioni; seguendo il
nome del comando con '!' causerà il rientro automatico impostazione dell'opzione di modifica da attivare
solo la durata di questo comando.

Corrente linea: Imposta sull'ultima riga di input; se non è stata inserita alcuna riga, imposta la riga precedente
il primo indirizzo, o alla prima riga del buffer di modifica se non ci sono righe precedenti
il primo indirizzo o a zero se il buffer di modifica è vuoto.

Corrente colonna: impostato su non .

Cambiamento di elenco
Sinossi:
chd[ir][!][elenco]
cd[!][elenco]

Cambia la directory di lavoro corrente in elenco.

Se no elenco viene specificato l'argomento e il file HOMEPAGE la variabile di ambiente è impostata su un valore non
valore nullo e non vuoto, elenco dovrà utilizzare per impostazione predefinita il valore indicato nel file HOMEPAGE
variabile d'ambiente. Se la HOMEPAGE la variabile d'ambiente è vuota o non è definita, the
valore predefinito di elenco è definito dall'implementazione.

Se no '!' viene aggiunto al nome del comando e da allora il buffer di modifica è stato modificato
l'ultima scrittura completa e il percorso corrente non inizia con a "/", lo sarà
un errore.

Corrente linea: Invariato.

Corrente colonna: Invariato.

Copia
Sinossi:
[2 ind] co[py] 1 ind [bandiere]
[2 ind] t 1 ind [bandiere]

Copia le righe specificate dopo la riga di destinazione specificata; la riga zero lo specifica
le righe verranno posizionate all'inizio del buffer di modifica.

Corrente linea: Imposta sull'ultima riga copiata.

Corrente colonna: impostato su non .

Elimina
Sinossi:
[2 ind] d[scegliere][bufferizzare][contare][bandiere]

Elimina le righe specificate in un buffer (per impostazione predefinita il buffer senza nome), che deve
diventare un buffer in modalità linea.

I flag possono seguire immediatamente il nome del comando; Vedere Comando linea parsing in ex.

Corrente linea: Imposta sulla riga successiva a quelle cancellate o sull'ultima riga nella modifica
buffer se la riga supera la fine del buffer di modifica o a zero se il buffer di modifica lo è
vuoto.

Corrente colonna: impostato su non .

Modifica
Sinossi:
e[DIT][!][+command][filetto]
ex[!][+command][filetto]

Se no '!' viene aggiunto al nome del comando e da allora il buffer di modifica è stato modificato
l'ultima scrittura completa, sarà un errore.

If filetto è specificato, sostituisce il contenuto corrente del buffer di modifica con quello corrente
contenuti di filettoe imposta il percorso corrente su filetto. Se filetto non è specificato, sostituire
il contenuto corrente del buffer di modifica con il contenuto corrente del file denominato da
nome del percorso corrente. Se per qualsiasi motivo non è possibile accedere al contenuto corrente del file,
il buffer di modifica sarà vuoto.

I +command l'opzione deve essere -delimitata; caratteri all'interno di +command può
essere preceduti da un carattere . IL +command deve essere
interpretato come un ex comando immediatamente dopo che il contenuto del buffer di modifica è stato
sostituiti e la riga e la colonna correnti sono state impostate.

Se il buffer di modifica è vuoto:

Corrente linea: Imposta su 0.

Corrente colonna: Imposta su 1.

Altrimenti, se eseguito mentre si è dentro ex modalità di comando o se il +command l'argomento è specificato:

Corrente linea: Imposta sull'ultima riga del buffer di modifica.

Corrente colonna: impostato su non .

Altrimenti, se filetto viene omesso o restituisce il percorso corrente:

Corrente linea: Imposta sulla prima riga del buffer di modifica.

Corrente colonna: impostato su non .

Altrimenti, se filetto è uguale all'ultimo file modificato, la riga e la colonna devono essere impostate
come segue; se il file è stato precedentemente modificato, la riga e la colonna possono essere impostate come segue:

Corrente linea: impostato sull'ultimo valore mantenuto durante l'ultima modifica del file. Se questo valore è
non una riga valida nel nuovo buffer di modifica, impostata sulla prima riga del buffer di modifica.

Corrente colonna: se la riga corrente era impostata sull'ultimo valore mantenuto quando il file era l'ultimo
modificato, impostato sull'ultimo valore mantenuto quando il file è stato modificato l'ultima volta. Altrimenti, o se il
l'ultimo valore non è una colonna valida nel nuovo buffer di modifica, impostata su non .

Altrimenti:

Corrente linea: Imposta sulla prima riga del buffer di modifica.

Corrente colonna: impostato su non .

Compila il
Sinossi:
f[s][filetto]

Se un filetto viene specificato l'argomento, il percorso alternativo verrà impostato su quello corrente
percorso e il percorso corrente deve essere impostato su filetto.

Scrivi un messaggio informativo. Se il file ha un percorso corrente, deve essere incluso
in questo messaggio; in caso contrario, il messaggio indicherà che non esiste alcun percorso corrente.
Se il buffer di modifica contiene righe, il numero di riga corrente e il numero di righe nel file
il buffer di modifica sarà incluso in questo messaggio; in caso contrario, il messaggio lo indicherà
il buffer di modifica è vuoto. Se il buffer di modifica è stato modificato dall'ultimo completamento
scrivi, questo fatto sarà incluso in questo messaggio. Se la in sola lettura l'opzione di modifica è impostata,
questo fatto sarà incluso in questo messaggio. Il messaggio potrebbe contenere altri non specificati
informazioni.

Corrente linea: Invariato.

Corrente colonna: Invariato.

globali
Sinossi:
[2 ind] g[lobal] /modello/ [comandi]
[2 ind] v/modello/ [comandi]

Facoltativo '!' carattere dopo il globale il comando sarà lo stesso dell'esecuzione del comando v
comando.

If modello è vuoto (ad esempio, "//") o non specificata, l'ultima espressione regolare utilizzata
nel comando dell'editor deve essere utilizzato come modello. modello può essere delimitato da
caratteri (mostrati nella sinossi), così come qualsiasi carattere non alfanumerico o non
diversi da , , o virgolette doppie.

Se non vengono specificate righe, le righe verranno impostate per default sull'intero file.

I globale ed v i comandi sono logicamente operazioni a due passaggi. Per prima cosa, segna le linee all'interno
le righe specificate per le quali corrisponde la riga escludendo il finale
(globale) o non corrisponde (v or globale!) il modello specificato. In secondo luogo, esegui il file ex
comandi impartiti da comandi, con la riga corrente (".") impostato su ciascuna riga contrassegnata. Se uno
si verifica un errore durante questo processo oppure il contenuto del buffer di modifica viene sostituito (ad esempio
esempio, da parte di ex edit: comando) verrà scritto un messaggio di errore e non più comandi
derivanti dall'esecuzione di tale comando verranno trattati.

multiplo ex i comandi possono essere specificati inserendo più comandi su una singola riga utilizzando
una per delimitarli, o uno per riga, eseguendo l'escape di ogni con a
.

Se non viene specificato alcun comando:

1. Se dentro ex modalità di comando, sarà come se il stampare il comando è stato specificato.

2. In caso contrario non verrà eseguito alcun comando.

Per la aggiungere, il cambiamentoe insert comandi, il testo immesso deve essere incluso come parte di
il comando e il finale possono essere omessi se il comando termina l'elenco di
comandi. Il aprire ed visivo i comandi possono essere specificati come uno dei comandi, in cui
In questo caso ogni riga contrassegnata farà sì che l'editor entri in modalità aperta o visiva. Se aperto o
si esce dalla modalità visiva utilizzando il comando vi Q comando, la riga corrente verrà impostata su quella successiva
riga contrassegnata e reinserire la modalità aperta o visiva, finché non viene visualizzato l'elenco delle righe contrassegnate
esausto.

I globale, ve disfare i comandi non possono essere utilizzati in comandi. Le linee contrassegnate possono essere cancellate
dai comandi eseguiti per le righe che si trovano prima nel file rispetto alle righe contrassegnate. In
in questo caso non verrà eseguito alcun comando per le righe cancellate.

Se la direzione di ricerca ricordata non è impostata, il globale ed v i comandi lo imposteranno su
inoltrare.

I stampa automatica ed rientro automatico le opzioni di modifica saranno inibite per tutta la durata del g or
v comando.

Corrente linea: Se nessun comando viene eseguito, imposta sull'ultima riga contrassegnata. Altrimenti, come
specificato per l'eseguito ex comandi.

Corrente colonna: Se non viene eseguito alcun comando, imposta su non-; altrimenti, come specificato
per l'individuo ex comandi.

inserire
Sinossi:
[1 ind] i[inserire][!]

entrare ex modalità di immissione del testo; il testo immesso deve essere posizionato prima della riga specificata. Se la
linea è zero o 1, il testo verrà posizionato all'inizio del buffer di modifica.

Questo comando sarà influenzato da numero ed rientro automatico modificare le opzioni; seguendo il
nome del comando con '!' causerà il rientro automatico impostazione dell'opzione di modifica da attivare
solo la durata di questo comando.

Corrente linea: Imposta sull'ultima riga di input; se non è stata inserita alcuna riga, imposta la riga precedente
la riga specificata o alla prima riga del buffer di modifica se non sono presenti righe
che precede la riga specificata o zero se il buffer di modifica è vuoto.

Corrente colonna: impostato su non .

Registrati
Sinossi:
[2 ind] j[Ciao][!][contare][bandiere]

If contare è specificato:

Se non è stato specificato alcun indirizzo, il join il comando si comporterà come se 2 ind sono stati i
linea corrente e la linea corrente più contare (.,.+ contare).

Se è stato specificato un indirizzo, il join il comando si comporterà come se 2 ind sono stati i
indirizzo specificato e l'indirizzo specificato più contare (addr,addr + contare).

Se sono stati specificati due indirizzi, il join il comando si comporterà come se fosse un comando aggiuntivo
indirizzo, uguale all'ultimo indirizzo più contare -1 (ind1,ind2,ind2 + contare -1),
è stato specificato.

Se ciò risulterebbe in un secondo indirizzo maggiore dell'ultima riga della modifica
buffer, verrà corretto in modo che sia uguale all'ultima riga del buffer di modifica.

Se no contare è specificato:

Se non è stato specificato alcun indirizzo, il join il comando si comporterà come se 2 ind sono stati i
la riga corrente e la riga successiva (.,. +1).

Se è stato specificato un indirizzo, il join il comando si comporterà come se 2 ind sono stati i
indirizzo specificato e la riga successiva (addr,addr + 1).

Unisci il testo delle righe specificate in un'unica riga, che sostituirà
le righe specificate.

Se un '!' il carattere viene aggiunto al nome del comando, il join sarà senza
modifica di qualsiasi linea, indipendentemente dalla locale corrente.

Altrimenti, nella locale POSIX, imposta la riga corrente sulla prima delle righe specificate,
e poi, per ogni riga successiva, procedere come segue:

1. Eliminare i caratteri iniziali dalla riga da unire.

2. Se la riga da unire ora è vuota, eliminala e salta i passaggi da 3 a 5.

3. Se la riga corrente termina con un o con il primo carattere della riga da unire
è un ')' carattere, unisci le righe senza ulteriori modifiche.

4. Se l'ultimo carattere della riga corrente è a ".", unisci le righe con due
personaggi tra di loro.

5. Altrimenti, unisci le righe con un singolo tra di loro.

Corrente linea: Imposta sulla prima riga specificata.

Corrente colonna: impostato su non .

Lista
Sinossi:
[2 ind] l[è][contare][bandiere]

Questo comando sarà equivalente a ex comando:

[2 ind] p[Rint][contare] l[bandiere]

See Stampa.

Mappa
Sinossi:
carta geografica[!][ss RHS]

If ss ed RHS non sono specificati:

1. Se '!' è specificato, scrive l'elenco corrente delle mappe della modalità di immissione testo.

2. Altrimenti, scrivere l'elenco corrente delle mappe in modalità comando.

3. Non fare altro.

Le implementazioni possono limitare il set di caratteri accettati in ss or RHS, salvo che
i caratteri stampabili e i caratteri non saranno soggetti a limitazioni. Ulteriori
le restrizioni devono essere definite dall'implementazione. In entrambe ss ed RHS, qualsiasi personaggio può esserlo
escape con ‐V, nel qual caso il carattere non deve essere utilizzato per delimitare ss
da RHS, e il -V in fuga deve essere scartato.

Se il personaggio '!' è aggiunto al carta geografica nome del comando, la mappatura sarà effettiva
durante la modalità di immissione del testo aperta o visiva anziché aprire or visivo modalità di comando. Questo permette
ss averne due diversi carta geografica definizioni contemporaneamente: una per la modalità comando e una
per la modalità di immissione del testo.

Per le mappature in modalità comando:

Quando il ss viene inserito come qualsiasi parte di a vi comando in modalità aperta o visiva (ma non
come parte degli argomenti del comando), l'azione sarà come se il
corrispondente RHS era stato inserito.

Se viene eseguito l'escape di qualsiasi carattere nel comando, diverso dal primo, utilizzando a
‐V carattere, quel carattere non deve far parte di una corrispondenza con un ss.

Non è specificato se le implementazioni supporteranno carta geografica comandi dove ss
è lungo più di un singolo carattere, dove il primo carattere di ss is
stampabile.

If ss contiene più di un carattere e il primo carattere è '#', Seguita da
una sequenza di cifre corrispondente ad un tasto funzione numerato, quindi quando questo
viene digitato il tasto funzione a cui deve essere assegnato RHS. Caratteri diversi dalle cifre
a seguito di una '#' il carattere rappresenta anche il tasto funzione nominato dai caratteri
nel ss seguendo la '#' e può essere mappato su RHS. Non è specificato come
vengono nominati i tasti funzione o quali tasti funzione sono supportati.

Per le mappature della modalità di immissione testo:

Quando il ss viene inserito come qualsiasi parte di testo inserita nell'immissione di testo aperta o visiva
modalità, l'azione sarà come se fosse corrispondente RHS era stato inserito.

Se qualsiasi carattere nel testo di input viene sottoposto a escape utilizzando un carattere -V, quello
il carattere non deve far parte di una corrispondenza con un ss.

Non è specificato se il ss testo inserito per il successivo carta geografica or annulla mappa comandi
viene sostituito con il RHS testo ai fini della visualizzazione sullo schermo; indipendentemente da
se il display appare o meno come se fosse il corrispondente RHS è stato inserito il testo,
l'effetto del comando sarà come se il ss è stato inserito il testo.

Se solo una parte del ss viene inserito, non è specificato quanto tempo attenderà l'editor
caratteri aggiuntivi, possibilmente corrispondenti, prima di trattare i caratteri già immessi come
non corrispondente a ss.

I RHS i caratteri stessi saranno soggetti a rimappatura, se non diversamente specificato da
, il rimappare opzione di modifica, tranne che se i caratteri in ss si presentano come caratteri di prefisso in
RHS, tali caratteri non verranno rimappati.

Sui terminali in modalità blocco, non è necessario che la mappatura avvenga immediatamente (ad esempio, potrebbe verificarsi
dopo che il terminale trasmette un gruppo di caratteri al sistema), ma dovrà riuscirci
gli stessi risultati come se fosse avvenuto immediatamente.

Corrente linea: Invariato.

Corrente colonna: Invariato.

Mark
Sinossi:
[1 ind] ma[rk] carattere
[1 ind] k carattere

Le implementazioni dovranno supportare carattere valori di una singola lettera minuscola del POSIX
locale, virgolette singole e virgolette singole; il supporto di altri personaggi lo è
definito dall'implementazione.

Se si esegue il vi m comando, imposta il segno specificato sulla riga corrente e in base 1
carattere numerato a cui fa riferimento la colonna corrente, se presente; altrimenti, posizione della colonna 1.

Altrimenti, imposta prima il segno specificato sulla riga specificata e la numerazione in base 1
non- non- nella riga, se presente; altrimenti, l'ultimo non nel file
linea, se presente; altrimenti, posizione della colonna 1.

La boa rimarrà associata alla linea fino a quando la boa non verrà ripristinata o la linea lo sarà
cancellato. Se una riga eliminata viene ripristinata da una successiva disfare comando, eventuali segni precedentemente
associati alla linea, che non sono stati ripristinati, verranno anch'essi ripristinati. Qualsiasi utilizzo di
un segno non associato ad una riga corrente nel buffer di modifica sarà un errore.

i segni ` ed ' dovrà essere impostato come descritto in precedenza, immediatamente prima del successivo
gli eventi si verificano nell'editor:

1. L'impiego di "$" come ex indirizzo

2. L'uso di un numero decimale positivo come an ex indirizzo

3. L'uso di un comando di ricerca come file ex indirizzo

4. L'uso di un riferimento al marchio come an ex indirizzo

5. L'uso dei seguenti comandi in modalità aperta e visiva: ‐], %, (, ), [, ], {,
}

6. L'uso dei seguenti comandi in modalità aperta e visiva: ', G, H, L, M, z se l'
la riga corrente cambierà come risultato del comando

7. L'uso dei comandi in modalità aperta e visiva: /, ?, N, `, n se la linea corrente o
la colonna cambierà come risultato del comando

8. L'uso del ex comandi della modalità: z, disfare, globale, v

Per le regole 1., 2., 3. e 4., il ` ed ' i contrassegni non devono essere impostati se il ex il comando è
analizzato come specificato dalla regola 6.a. In Comando linea parsing in ex.

Per le regole 5., 6. e 7., il ` ed ' i contrassegni non devono essere impostati se i comandi vengono utilizzati come
comandi di movimento in modalità aperta e visiva.

Per le regole 1., 2., 3., 4., 5., 6., 7. e 8., il ` ed ' i contrassegni non devono essere impostati se il
il comando fallisce.

I ` ed ' i contrassegni devono essere impostati come descritto in precedenza, ogni volta che si modifica il contenuto
buffer vengono sostituiti (compresa la modifica del buffer iniziale), se in open o visual
modalità o, se in ex modalità e il buffer di modifica non è vuoto, prima di qualsiasi comando o movimento
(compresi comandi o movimenti specificati dal -c or -t opzioni o il +command
argomento) vengono eseguiti nel buffer di modifica. Se in modalità aperta o visiva, i marchi devono essere
impostato come se si stesse eseguendo il vi m comando; altrimenti, come se si stesse eseguendo il ex marchio comando.

Quando si passa da ex modalità per aprire o modalità visiva, se il ` ed ' i segni non lo sono già
impostare il ` ed ' i contrassegni devono essere impostati come descritto in precedenza.

Corrente linea: Invariato.

Corrente colonna: Invariato.

Sposta
Sinossi:
[2 ind] m[uovere] 1 ind [bandiere]

Sposta le righe specificate dopo la riga di destinazione specificata. Una destinazione della linea zero
specifica che le righe devono essere posizionate all'inizio del buffer di modifica. Lo sarà
un errore se la linea di destinazione rientra nell'intervallo di linee da spostare.

Corrente linea: Imposta sull'ultima delle righe spostate.

Corrente colonna: impostato su non .

Avanti
Sinossi:
n[ext][!][+command][filetto ...]

Se no '!' viene aggiunto al nome del comando e da allora il buffer di modifica è stato modificato
l'ultima scrittura completa, sarà un errore, a meno che il file non venga scritto con successo come
specificato dal scrittura automatica opzione.

Se vengono specificati uno o più file:

1. Impostare l'elenco degli argomenti sui nomi file specificati.

2. Impostare il riferimento dell'elenco di argomenti corrente in modo che sia la prima voce nell'elenco di argomenti.

3. Impostare il percorso corrente sul primo nome file specificato.

Altrimenti:

1. Sarà un errore se non ci sono più nomi di file nell'elenco degli argomenti dopo il
nome del file a cui si fa attualmente riferimento.

2. Impostare il nome del percorso corrente e il riferimento dell'elenco di argomenti corrente al nome del file successivo
il nome del file a cui si fa attualmente riferimento nell'elenco degli argomenti.

Sostituisci il contenuto del buffer di modifica con il contenuto del file nominato dal corrente
nome del percorso. Se per qualsiasi motivo non è possibile accedere al contenuto del file, il buffer di modifica
sarà vuoto.

Questo comando sarà influenzato da scrittura automatica ed writeany modificare le opzioni.

I +command l'opzione sarà -delimitato; è possibile sfuggire ai personaggi
precedendoli con a carattere. IL +command deve essere interpretato come un ex
comando immediatamente dopo che il contenuto del buffer di modifica è stato sostituito e il file
la riga e la colonna correnti sono state impostate.

Corrente linea: Impostare come descritto per edit comando.

Corrente colonna: Impostare come descritto per edit comando.

Numero
Sinossi:
[2 ind] nu[Mber][contare][bandiere]
[2 ind] #[contare][bandiere]

Questi comandi saranno equivalenti a ex comando:

[2 ind] p[Rint][contare] #[bandiere]

See Stampa.

Apri
Sinossi:
[1 ind] o[penna] /modello/ [bandiere]

Non è necessario che questo comando sia supportato su terminali in modalità blocco o terminali con insufficiente
capacità. Se l'input standard, l'output standard o l'errore standard non sono terminali
dispositivi, i risultati non sono specificati.

Entra in modalità aperta.

È possibile omettere il delimitatore finale modello alla fine della riga di comando. Se
modello è vuoto (ad esempio, "//") o non specificata, l'ultima espressione regolare utilizzata in
l'editor sarà utilizzato come modello. Il modello può essere delimitato da
caratteri (mostrati nella sinossi), nonché qualsiasi carattere alfanumerico o non altro che
, , o virgolette doppie.

Corrente linea: Imposta sulla linea specificata.

Corrente colonna: impostato su non .

Conserva
Sinossi:
pre[servire]

Salvare il buffer di modifica in un formato che possa essere successivamente recuperato utilizzando il file -r opzione o per
usando il ex recuperare comando. Dopo che il file è stato conservato, verrà inviato un messaggio di posta
inviato all'utente. Questo messaggio sarà leggibile richiamando il file posta x utilità. Il
il messaggio conterrà il nome del file, l'orario di conservazione e un ex command
che potrebbe essere utilizzato per recuperare il file. Ulteriori informazioni potrebbero essere incluse nella mail
messaggio.

Corrente linea: Invariato.

Corrente colonna: Invariato.

Stampa
Sinossi:
[2 ind] p[Rint][contare][bandiere]

Scrivi le righe indirizzate. Il comportamento non è specificato se il numero di colonne su
display è inferiore al numero di colonne necessarie per scrivere un singolo carattere nel file
righe in fase di scrittura.

Caratteri non stampabili, ad eccezione di , deve essere scritto come definito dall'implementazione
sequenze multicarattere.

Se l' # flag è specificato o il numero è impostata l'opzione di modifica, ogni riga deve essere preceduta
dal numero di riga nel seguente formato:

"%6d ", <linea numero>

Se l' l flag è specificato o il stratagemma l'opzione di modifica è impostata:

1. I caratteri elencati nel volume Definizioni di base di POSIX.1‐2008, Table 5-1,
Fuga sequenze ed Associated Azioni sarà scritto come escape corrispondente
sequenza.

2. Caratteri non stampabili non presenti nel volume delle Definizioni di base di POSIX.1‐2008, Table
5-1, Fuga sequenze ed Associated Azioni deve essere scritto come un ottale di tre cifre
numero (preceduto ) per ogni byte del carattere (più significativo
byte prima).

3. La fine di ciascuna riga è contrassegnata con a "$"e letterale "$" personaggi all'interno del
la riga deve essere scritta preceduta .

Le file lunghe dovranno essere piegate; la lunghezza alla quale avviene la piegatura non è specificata, ma dovrebbe
essere appropriato per il terminale di uscita, considerando il numero di colonne del terminale.

Se una linea è piegata e il l flag non è specificato e il stratagemma l'opzione di modifica non è impostata,
non è specificato se un carattere a più colonne nella posizione di piegatura è separato;
non dovrà essere scartato.

Corrente linea: Imposta sull'ultima riga scritta.

Corrente colonna: Invariato se la riga corrente è invariata; in caso contrario, impostare su non- .

Mettere
Sinossi:
[1 ind] pu[t][bufferizzare]

Aggiunge testo dal buffer specificato (per impostazione predefinita, il buffer senza nome) al buffer specificato
linea; la riga zero specifica che il testo sarà posizionato all'inizio della modifica
respingente. Ogni porzione di riga nel buffer diventerà una nuova riga nel buffer di modifica,
indipendentemente dalla modalità del buffer.

Corrente linea: Imposta sull'ultima riga immessa nel buffer di modifica.

Corrente colonna: impostato su non .

smettere
Sinossi:
q[uit][!]

Se no '!' viene aggiunto al nome del comando:

1. Se il buffer di modifica è stato modificato dall'ultima scrittura completa, sarà un
errore.

2. Se nell'elenco degli argomenti sono presenti nomi di file dopo il nome di file a cui si fa attualmente riferimento,
e l'ultimo comando non era a smettere, wq, colpire, o ZZ (Vedi uscita) comando, sarà un
errore.

Altrimenti, termina la sessione di modifica.

Leggi
Sinossi:
[1 ind] r[ead][!][filetto]

If '!' non è il primo non- per seguire il nome del comando, una copia di quello specificato
il file verrà aggiunto al buffer di modifica dopo la riga specificata; la riga zero specifica
che la copia verrà posizionata all'inizio del buffer di modifica. Il numero di linee e
i byte letti dovranno essere scritti. Se no filetto è nominato, il percorso corrente sarà il
predefinito. Se non esiste un percorso corrente, allora filetto diventerà il percorso corrente. Se
non esiste un percorso corrente o filetto operando, sarà un errore. Specificando a filetto che
non è di tipo regolare avrà risultati non specificati.

Altrimenti, se filetto è preceduto da '!', il resto della riga dopo il '!' deve avere '%',
'#'e '!' caratteri espansi come descritto in Comando linea parsing in ex.

I ex l'utilità passerà quindi due argomenti al programma nominato dalla modifica della shell
opzione; il primo sarà -c e il secondo sarà l'argomentazione ampliata al read
comando come argomento singolo. L'input standard del programma deve essere impostato su
input standard del ex programma quando è stato invocato. L'errore standard e la norma
l'output del programma verrà aggiunto al buffer di modifica dopo la riga specificata.

Ogni riga nel file copiato o nell'output del programma (come delimitato da personaggi o
la fine del file o dell'output se non è immediatamente preceduto da a ), sarà
una riga separata nel buffer di modifica. Eventuali occorrenze di E
le coppie nell'output verranno trattate come singole caratteri.

Il significato speciale di '!' seguendo la read il comando può essere sovrascritto eseguendo l'escape
con a carattere.

Corrente linea: Se non vengono aggiunte righe al buffer di modifica, invariato. Altrimenti, se aperto
o modalità visiva, impostata sulla prima riga inserita nel buffer di modifica. Altrimenti, imposta su
l'ultima riga immessa nel buffer di modifica.

Corrente colonna: impostato su non .

Recuperare
Sinossi:
rec[ancora][!] filetto

Se no '!' viene aggiunto al nome del comando e da allora il buffer di modifica è stato modificato
l'ultima scrittura completa, sarà un errore.

Se no filetto viene specificato l'operando, verrà utilizzato il percorso corrente. Se non c'è
percorso corrente o filetto operando, sarà un errore.

Se non sono state precedentemente salvate informazioni di ripristino su filetto, le recuperare il comando dovrà
comportarsi in modo identico a edit comando e verrà inviato un messaggio informativo in tal senso
essere scritto.

Altrimenti, imposta il percorso corrente su filettoe sostituisci il contenuto corrente della modifica
buffer con il contenuto recuperato di filetto. Se sono presenti più istanze del file
da recuperare, verrà recuperato quello salvato più recentemente e un file informativo
messaggio che indica che esistono versioni precedenti del file che possono essere recuperate
scritto. L'editor si comporterà come se il contenuto del buffer di modifica fosse già stato
modificata.

Corrente filetto: Impostare come descritto per edit comando.

Corrente colonna: Impostare come descritto per edit comando.

Riavvolgere
Sinossi:
rew[ind][!]

Se no '!' viene aggiunto al nome del comando e da allora il buffer di modifica è stato modificato
l'ultima scrittura completa, sarà un errore, a meno che il file non venga scritto con successo come
specificato dal scrittura automatica opzione.

Se l'elenco degli argomenti è vuoto, sarà un errore.

Il riferimento all'elenco di argomenti corrente e il nome del percorso corrente devono essere impostati al primo posto
nome file nell'elenco degli argomenti.

Sostituisci il contenuto del buffer di modifica con il contenuto del file nominato dal corrente
nome del percorso. Se per qualsiasi motivo non è possibile accedere al contenuto del file, il buffer di modifica
sarà vuoto.

Questo comando sarà influenzato da scrittura automatica ed writeany modificare le opzioni.

Corrente linea: Impostare come descritto per edit comando.

Corrente colonna: Impostare come descritto per edit comando.

Impostato
Sinossi:
se[t][opzione[=[APPREZZIAMO]] ...][noopzione ...][opzione? ...][contro tutti i]

Quando non vengono specificati argomenti, scrivi il valore di termine opzione di modifica e quelle opzioni
i cui valori sono stati modificati rispetto alle impostazioni predefinite; quando l'argomento contro tutti i is
specificato, scrivere tutti i valori delle opzioni.

Fornire un nome di opzione seguito dal carattere '?' causerà il valore corrente di quello
opzione da scrivere. IL '?' può essere separato dal nome dell'opzione con zero o più
caratteri. IL '?' sarà necessario solo per le opzioni con valore booleano. Booleano
alle opzioni possono essere assegnati valori dal modulo set opzione per accenderli o set noopzione girare
loro fuori; le opzioni stringa e numeriche possono essere assegnate dal modulo set opzione=APPREZZIAMO. Qualsiasi
i caratteri nelle stringhe possono essere inclusi così come sono precedendoli ciascuno con un
scappare . È possibile impostare o elencare più di un'opzione con un singolo comando set
specificando più argomenti, ciascuno separato dal successivo da uno o più
caratteri.

See Modifica Opzioni in ex per dettagli su opzioni specifiche.

Corrente linea: Invariato.

Corrente colonna: Invariato.

Conchiglia
Sinossi:
SH[braccio]

Richiamare il programma indicato nel file conchiglia opzione di modifica con il singolo argomento -i (interattivo
modalità). La modifica verrà ripresa all'uscita dal programma.

Corrente linea: Invariato.

Corrente colonna: Invariato.

Fonte
Sinossi:
così[Urcan a] filetto

Leggi ed esegui ex comandi da filetto. Le righe nel file che sono righe vuote devono essere
ignorato.

Corrente linea: Come specificato per l'individuo ex comandi.

Corrente colonna: Come specificato per l'individuo ex comandi.

Sostituire
Sinossi:
[2 ind] s[sostituto][/modello/sostitu/[Opzioni][contare][bandiere]]
[2 ind] &[Opzioni][contare][bandiere]]
[2 ind] ~[Opzioni][contare][bandiere]]

Sostituisci la prima istanza del modello modello dalla stringa sostitu su ciascuno specificato
linea. (Vedere Regolare Espressioni in ex ed Sostituzione String in ex.) Qualsiasi non alfabetico,
non- delimitatore diverso da , '|', , oppure è possibile utilizzare le virgolette doppie
invece di "/". i caratteri possono essere utilizzati per sfuggire ai delimitatori,
personaggi e altri caratteri speciali.

È possibile omettere il delimitatore finale modello o da sostitu alla fine del comando
linea. Se entrambi modello ed sostitu non sono specificati o sono vuoti (ad esempio, "//"), La
ultimo s il comando dovrà essere ripetuto. Se solo modello non è specificato o è vuoto, l'ultimo
l'espressione regolare utilizzata nell'editor verrà utilizzata come modello. Se solo sostitu non è
specificato o è vuoto, il modello non sarà sostituito da nulla. Se l'intero
il modello di sostituzione è '%', l'ultimo modello di sostituzione di an s deve essere utilizzato il comando.

Inserendo a In sostitu (che richiede una fuga In ex modo
e una fuga ‐V in aperto o vi mode) dividerà la linea in quel punto,
creando una nuova riga nel buffer di modifica. IL saranno scartati.

If Opzioni include la lettera 'G' (globale), tutte le istanze non sovrapposte del modello
nella riga verrà sostituito.

If Opzioni include la lettera 'C' (Conferma), quindi prima di ogni sostituzione la linea dovrà
essere scritto; la riga scritta rifletterà tutte le sostituzioni precedenti. Sulla seguente
linea, i caratteri devono essere scritti sotto i caratteri della riga che sono
prima di modello da sostituire, e '^' caratteri scritti sotto i caratteri
Incluso nella modello da sostituire. IL ex l'utilità dovrà quindi attendere una risposta da
l'utente. La risposta affermativa determinerà l'esecuzione della sostituzione, mentre qualsiasi altra risposta
l'input non dovrà effettuare la sostituzione. Una risposta affermativa è costituita da una riga
con la risposta affermativa (come definita dalla locale attuale) all'inizio del
linea. Questa riga sarà soggetta a modifica allo stesso modo della ex riga di comando.

Se interrotto (vedi sezione EVENTI ASINCRONO), le eventuali modifiche confermate dal
l'utente sarà conservato nel buffer di modifica dopo l'interruzione.

Se la direzione di ricerca ricordata non è impostata, il s il comando lo imposterà su Inoltro.

Nella seconda sinossi, il & il comando ripeterà la sostituzione precedente, come se il &
il comando è stato sostituito da:

s/modello/sostitu/

where modello ed sostitu sono quelli specificati in precedenza s, &, o ~ comando.

Nella terza sinossi, il ~ il comando ripeterà la sostituzione precedente, come se il '~'
sono stati sostituiti da:

s/modello/sostitu/

where modello sarà l'ultima espressione regolare specificata all'editore, e sostitu deve
provenire dalla sostituzione precedente (incluso & ed ~) comando.

Questi comandi saranno influenzati dal LC_MESSAGGI variabile d'ambiente.

Corrente linea: Impostato sull'ultima riga in cui è avvenuta una sostituzione o, invariato se no
avvenuta la sostituzione.

Corrente colonna: impostato su non .

Sospendere
Sinossi:
su[spendere][!]
st[op][!]

Consentire al controllo di tornare al processo di chiamata; ex si sospenderà come se lo avesse fatto
ricevuto il segnale SIGTSTP. La sospensione avverrà solo se è abilitato il controllo del lavoro
la shell invocante (vedere la descrizione di set -m).

Questi comandi saranno influenzati dal scrittura automatica ed writeany modificare le opzioni.

L'attuale sosp carattere (vedi sty) sarà equivalente a sospendere comando.

Etichetta
Sinossi:
ta[g][!] tagstring

I risultati non sono specificati se il formato di un file di tag non è quello specificato dal file ctag
utilità (vedi ctag) descrizione.

I etichetta il comando dovrà cercare tagstring nei file di tag a cui fa riferimento il file etichetta edit
opzione, nell'ordine in cui sono specificate, fino al riferimento a tagstring è stato trovato. File
dovranno essere cercati dall'inizio alla fine. Se non viene trovato alcun riferimento, si tratterà di un errore
e verrà scritto un messaggio di errore in tal senso. Se il riferimento non viene trovato, o se
si verifica un errore durante l'elaborazione di un file a cui si fa riferimento nel file etichetta opzione di modifica, sarà un file
errore e verrà scritto un messaggio di errore al primo verificarsi di tale errore.

Altrimenti, se il file dei tag contiene un modello, il modello verrà trattato come un modello normale
espressione utilizzata nell'editor; ad esempio, ai fini del s comando.

Se l' tagstring si trova in un file con un nome diverso dal percorso corrente, impostare il file
percorso corrente con il nome di quel file e sostituisci il contenuto del buffer di modifica
con il contenuto di quel file. In questo caso, se no '!' viene aggiunto al nome del comando,
e il buffer di modifica è stato modificato dall'ultima scrittura completa, si tratterà di un errore,
a meno che il file non venga scritto con successo come specificato dal file scrittura automatica opzione.

Questo comando sarà influenzato da scrittura automatica, etichetta, lunghezza del tage writeany edit
opzioni.

Corrente linea: Se il file dei tag conteneva un numero di riga, impostarlo su quel numero di riga. Se la
numero di riga è maggiore dell'ultima riga nel buffer di modifica, verrà visualizzato un messaggio di errore
scritto e la riga corrente deve essere impostata come specificato per il edit comando.

Se il file dei tag conteneva un modello, impostalo sulla prima occorrenza del modello nel file
file. Se non viene trovato alcun modello corrispondente, verrà scritto un messaggio di errore e il messaggio corrente
la linea deve essere impostata come specificato per il edit comando.

Corrente colonna: se il file dei tag conteneva un riferimento al numero di riga e quel numero di riga
non era più grande dell'ultima riga nel buffer di modifica o se il file dei tag conteneva un file
modello e il modello è stato trovato, impostato su non- . Altrimenti, imposta come specificato per
, il edit comando.

Non abbreviato
Sinossi:
una[bbrev] ss

If ss non è una voce nell'attuale elenco delle abbreviazioni (vedi Abbreviare), lo sarà
un errore. Altrimenti cancella ss dall'elenco delle abbreviazioni.

Corrente linea: Invariato.

Corrente colonna: Invariato.

Disfare
Sinossi:
u[ndo]

Annulla le modifiche apportate dall'ultimo comando che ha modificato il contenuto della modifica
tampone, compreso disfare. A tal fine, il globale, v, apriree visivo comandi, e
vengono considerati i comandi risultanti dalle esecuzioni del buffer e dalle espansioni dei caratteri mappati
singoli comandi.

Se nessuna azione annullabile ha preceduto il disfare comando, sarà un errore.

Se l' disfare il comando ripristina le linee contrassegnate, anche il contrassegno verrà ripristinato
a meno che non sia stato reimpostato successivamente alla cancellazione delle righe.

Corrente linea:

1. Se nel file vengono aggiunte o modificate righe, impostare sulla prima riga aggiunta o modificata.

2. Impostare sulla riga prima della prima riga eliminata, se esiste.

3. Impostare su 1 se il buffer di modifica non è vuoto.

4. Impostato su zero.

Corrente colonna: impostato su non .

Annulla mappa
Sinossi:
unm[ap][!] ss

If '!' viene aggiunto al nome del comando e if ss non è una voce nell'elenco di testo
definizioni della mappa della modalità di input, sarà un errore. Altrimenti cancella ss dalla lista di
definizioni della mappa della modalità di immissione del testo.

Se no '!' viene aggiunto al nome del comando e if ss non è una voce nell'elenco di
definizioni della mappa della modalità di comando, sarà un errore. Altrimenti cancella ss dalla lista di
definizioni della mappa in modalità comando.

Corrente linea: Invariato.

Corrente colonna: Invariato.

Versione
Sinossi:
ve[sione]

Scrivi un messaggio contenente le informazioni sulla versione per l'editor. Il formato del messaggio
non è specificato.

Corrente linea: Invariato.

Corrente colonna: Invariato.

Visivo
Sinossi:
[1 ind] vi[suo][Digitare][contare][bandiere]

If ex è attualmente in modalità aperta o visiva, la sinossi e il comportamento del comando visivo
sarà lo stesso di edit comando, come specificato da Modifica.

Altrimenti non è necessario che questo comando sia supportato sui terminali in modalità blocco o sui terminali con
capacità insufficienti. Se l'input standard, l'output standard o l'errore standard non lo sono
dispositivi terminali, i risultati non sono specificati.

If contare è specificato, il valore di finestra l'opzione di modifica deve essere impostata su contare (come
descritto in finestra). Se la '^' è stato specificato anche il carattere tipo, the finestra edit
l'opzione deve essere impostata prima di essere utilizzata dal carattere tipo.

Entra in modalità visiva. Se Digitare non è specificato, sarà come se a Digitare of '+' Prima
specificato. Il Digitare provocherà i seguenti effetti:

+ Posiziona l'inizio della riga specificata nella parte superiore del display.

- Posiziona la fine della riga specificata nella parte inferiore del display.

. Posiziona l'inizio della riga specificata al centro del display.

^ Se la riga specificata è inferiore o uguale al valore di finestra opzione di modifica,
imposta la linea su 1; in caso contrario, decrementa la riga del valore di finestra edit
opzione meno 1. Posiziona l'inizio di questa riga il più vicino possibile alla fine del
visualizzate il più possibile, pur visualizzando il valore di finestra edit
numero di righe dell'opzione.

Corrente linea: Imposta sulla linea specificata.

Corrente colonna: impostato su non .

Scrivi
Sinossi:
[2 ind] w[rito][!][>>][filetto]
[2 ind] w[rito][!][filetto]
[2 ind] wq[!][>>][filetto]

Se non vengono specificate righe, le righe verranno impostate per default sull'intero file.

Il comando wq sarà equivalente a a scrivere comando seguito da a smettere comando; wq!
deve essere equivalente a scrivere! seguito da smettere. In entrambi i casi, se il scrivere command
fallisce, il smettere non sarà tentato.

Se il nome del comando non è seguito da uno o più personaggi, o filetto non è
preceduto da a '!' personaggio, il scrivere deve essere in un file.

1. Se la >> è specificato un argomento e il file esiste già, le righe saranno
aggiunto al file invece di sostituirne il contenuto. Se la >> l'argomento è
specificato e il file non esiste già, non è specificato se il file write
procederà come se il >> l'argomento non è stato specificato o se la scrittura fallisce.

2. Se la in sola lettura l'opzione di modifica è impostata (vedi in sola lettura), La scrivere fallirà.

3. Se filetto è specificato e non è il percorso corrente e il file esiste, the scrivere
fallirà.

4. Se filetto non è specificato, verrà utilizzato il percorso corrente. Se non c'è corrente
nome del percorso, il scrivere il comando fallirà.

5. Se viene utilizzato il percorso corrente e il nome percorso corrente è stato modificato da filetto
or read comandi e il file esiste, il scrivere fallirà. Se la scrivere is
successo, successivo scriveres non fallirà per questo motivo (a meno che il file current
il nome del percorso viene nuovamente modificato).

6. Se l'intero buffer di modifica non viene scritto e il file da scrivere esiste, il file
scrivere fallirà.

Per le regole 1., 2., 3. e 5., il scrivere può essere forzato aggiungendo il carattere '!' a
il nome del comando.

Per le regole 2., 3. e 5., il scrivere può essere forzato impostando il file writeany opzione di modifica.

Ulteriori test definiti dall'implementazione possono causare il scrivere fallire.

Se il buffer di modifica è vuoto, verrà scritto un file senza alcun contenuto.

Verrà scritto un messaggio informativo annotando il numero di righe e byte scritti.

Altrimenti, se il comando è seguito da uno o più caratteri e il file è
preceduto da '!', il resto della riga dopo il '!' deve avere '%', '#'e '!'
caratteri espansi come descritto in Comando linea parsing in ex.

I ex l'utility passerà quindi due argomenti al programma indicato da conchiglia edit
opzione; il primo sarà -c e il secondo sarà l'argomentazione ampliata al scrivere
comando come argomento singolo. Le righe specificate verranno scritte nello standard input
del comando. L'errore standard e l'output standard del programma, se presenti, saranno
scritto come descritto per il stampare comando. Se l'ultimo carattere in quell'output non è a
, UN sarà scritto alla fine dell'output.

Il significato speciale di '!' seguendo la scrivere il comando può essere sovrascritto eseguendo l'escape
con a carattere.

Corrente linea: Invariato.

Corrente colonna: Invariato.

Scrivi ed uscita
Sinossi:
[2 ind] x[it][!][filetto]

Se il buffer di modifica non è stato modificato dall'ultimo completamento scrivere, colpire deve essere
equivalente al smettere comando, o se a '!' viene aggiunto al nome del comando, a uscire!.

Altrimenti, colpire deve essere equivalente a wq comando, o se a '!' è aggiunto al
nome del comando, a wq!.

Corrente linea: Invariato.

Corrente colonna: Invariato.

strattone
Sinossi:
[2 ind] ya[nk][bufferizzare][contare]

Copia le righe specificate nel buffer specificato (per impostazione predefinita, il buffer senza nome), which
diventerà un buffer in modalità linea.

Corrente linea: Invariato.

Corrente colonna: Invariato.

Regola Finestra
Sinossi:
[1 ind] z[!][Digitare ...][contare][bandiere]

Se non viene specificata alcuna riga, la riga corrente sarà quella predefinita; Se Digitare è omesso come
bene, il valore della linea corrente deve essere prima incrementato di 1. Se si incrementa il valore current
line farebbe sì che sia maggiore dell'ultima riga nel buffer di modifica, sarà un
errore.

Se ci sono caratteri tra i Digitare argomento e il precedente z nome del comando
o facoltativa '!' carattere, sarà un errore.

If contare è specificato, il valore di finestra l'opzione di modifica deve essere impostata su contare (come
descritto in finestra). Se contare viene omesso, il valore predefinito sarà 2 volte il valore di
scorrere opzione di modifica o se ! è stato specificato il numero di righe sul display meno 1.

If Digitare è omesso, allora contare dovranno essere scritte le righe che iniziano con la riga specificata.
Altrimenti, contare righe che iniziano con la riga specificata da Digitare l'argomento sarà
scritto.

I Digitare argomento cambierà le righe da scrivere. I possibili valori di Digitare le zone
segue:

− La riga specificata deve essere decrementata del seguente valore:

(((numero of ``−'' personaggi) x contare) −1)

Se il calcolo dovesse risultare in un numero inferiore a 1, si tratterà di un errore. Scrivere
righe dal buffer di modifica, a partire dal nuovo valore di riga, fino a contare linee o
l'ultima riga nel buffer di modifica è stata scritta.

+ La riga specificata verrà incrementata del seguente valore:

(((numero of ``+'' personaggi) −1) x contare) +1

Se il calcolo risulterebbe in un numero maggiore dell'ultima riga nella modifica
buffer, sarà un errore. Scrivi le righe dal buffer di modifica, iniziando da new
valore della linea, fino a quando contare righe o l'ultima riga nel buffer di modifica è stata
scritto.

=,. Se più di un singolo "." or '=' è specificato, sarà un errore. Il seguente
dovranno essere adottate misure:

1. Se contare è zero, non verrà scritto nulla.

2. Scrivi il maggior numero possibile di N righe prima della riga corrente nel buffer di modifica come
esistere. Se contare or '!' è stato specificato, N deve essere:

(contare −1) /2

Altrimenti, N deve essere:

(contare −3) /2

If N è un numero inferiore a 3, non deve essere scritta alcuna riga.

3. Se '=' è stato specificato come carattere tipo, scrivere una riga composta da
più piccolo del numero di colonne nel display diviso per due, o 40 '-'
caratteri.

4. Scrivere la riga corrente.

5. Ripetere il passaggio 3.

6. Scrivi il maggior numero possibile di N righe dopo la riga corrente nel buffer di modifica come esistono.
N deve essere definito come nella fase 2. Se N è un numero inferiore a 3, nessuna riga deve esserlo
scritto. Se contare è inferiore a 3, non verrà scritta alcuna riga.

^ La riga specificata verrà decrementata del seguente valore:

(((numero of ``^'' personaggi) + 1) x contare) −1

Se il calcolo dovesse risultare in un numero inferiore a 1, si tratterà di un errore. Scrivere
righe dal buffer di modifica, a partire dal nuovo valore di riga, fino a contare linee o
l'ultima riga nel buffer di modifica è stata scritta.

Corrente linea: Impostato sull'ultima riga scritta, a meno che il tipo non lo sia =, in tal caso, impostare su
la riga specificata.

Corrente colonna: impostato su non .

Fuga
Sinossi:
! command
[addr]! command

Il contenuto della riga dopo il '!' deve avere '%', '#'e '!' caratteri espansi
come descritto in Comando linea parsing in ex. Se l'espansione provoca il testo della riga
per cambiare, verrà rivisualizzato, preceduto da un singolo '!' carattere.

I ex l'utility eseguirà il programma indicato da conchiglia opzione di modifica. Ne passeranno due
argomenti del programma; il primo sarà -c, e il secondo sarà quello espanso
argomenti per il ! comando come argomento singolo.

Se non viene specificata alcuna riga, lo standard input, l'output standard e l'errore standard del file
il programma deve essere impostato su input standard, output standard ed errore standard del file ex
programma quando è stato invocato. Inoltre, in caso di modifica verrà scritto un messaggio di avviso
il buffer è stato modificato dall'ultima scrittura completa e il file avvertire l'opzione di modifica è impostata.

Se vengono specificate delle righe, verranno passate al programma come input standard e il file
l'output standard e l'errore standard del programma sostituiranno quelle righe nella modifica
respingente. Ogni riga nell'output del programma (come delimitato da personaggi o la fine
dell'output se non è immediatamente preceduto da a ), sarà una riga separata
nel buffer di modifica. Eventuali occorrenze di E coppie in uscita
sarà trattato come single caratteri. Le righe specificate verranno copiate
il buffer senza nome prima che vengano sostituiti e il buffer senza nome diventerà una linea-
buffer di modalità.

Se dentro ex modalità, una singola '!' carattere verrà scritto al termine del programma.

Questo comando sarà influenzato da conchiglia ed avvertire modificare le opzioni. Se non ci sono linee
specificato, questo comando sarà influenzato da scrittura automatica ed writeany modificare le opzioni. Se
sono specificate linee, questo comando sarà influenzato da stampa automatica opzione di modifica.

Corrente linea:

1. Se non vengono specificate righe, invariato.

2. Altrimenti, impostare sull'ultima riga letta, se vengono lette delle righe.

3. Altrimenti, impostare sulla riga prima della prima riga delle righe specificate, se quella riga
esiste.

4. Altrimenti, imposta sulla prima riga del buffer di modifica se il buffer di modifica non è vuoto.

5. Altrimenti impostare a zero.

Corrente colonna: Se non vengono specificate righe, invariato. Altrimenti, imposta su non- .

Shift sinistra
Sinossi:
[2 ind] <[<...][contare][bandiere]

Sposta le righe specificate all'inizio della riga; il numero di posizioni di colonna da avere
spostato sarà il numero di caratteri di comando moltiplicato per il valore di ampiezza di spostamento edit
opzione. Solo leader i caratteri verranno cancellati o trasformati in altri
personaggi in movimento; gli altri personaggi non saranno influenzati.

Le righe da spostare verranno copiate nel buffer senza nome, che diventerà una riga
buffer di modalità.

Questo comando sarà influenzato da stampa automatica opzione di modifica.

Corrente linea: Imposta sull'ultima riga nelle righe specificate.

Corrente colonna: impostato su non .

Shift La giusta
Sinossi:
[2 ind] >[> ...][contare][bandiere]

Sposta le righe specificate lontano dall'inizio della riga; il numero di posizioni delle colonne
da spostare sarà il numero di caratteri di comando moltiplicato per il valore di ampiezza di spostamento
opzione di modifica. Lo spostamento sarà effettuato aggiungendo caratteri come prefisso
la linea o cambiare l'interlinea personaggi in altri caratteri. Righe vuote
non sarà cambiato.

Le righe da spostare verranno copiate nel buffer senza nome, che diventerà una riga
buffer di modalità.

Questo comando sarà influenzato da stampa automatica opzione di modifica.

Corrente linea: Imposta sull'ultima riga nelle righe specificate.

Corrente colonna: impostato su non .

-D
Sinossi:
-D

Scrivi il prossimo n linee, dove n è il minimo dei valori di scorrere opzione di modifica e
il numero di righe dopo la riga corrente nel buffer di modifica. Se la riga corrente è la
l'ultima riga del buffer di modifica sarà un errore.

Corrente linea: Imposta sull'ultima riga scritta.

Corrente colonna: impostato su non .

Scrivi linea Numero
Sinossi:
[1 ind] = [bandiere]

If linea non è specificato, verrà impostato automaticamente sull'ultima riga nel buffer di modifica. Scrivi la
numero di riga della riga specificata.

Corrente linea: Invariato.

Corrente colonna: Invariato.

Eseguire
Sinossi:
[2 ind] @ bufferizzare
[2 ind] * bufferizzare

Se non è specificato alcun buffer o è specificato come '@' or '*', l'ultimo buffer eseguito sarà
usato. Se non è stato eseguito alcun buffer precedente, si tratterà di un errore.

Per ogni riga specificata dagli indirizzi, impostare la riga corrente (".") a quanto specificato
riga ed eseguire il contenuto del nome bufferizzare (come erano all'epoca i @ command
è stato giustiziato) come ex comandi. Per ogni riga di un buffer in modalità riga e tutte tranne l'ultima
riga di un buffer in modalità carattere, il ex il parser dei comandi si comporterà come se la linea fosse
terminato con a .

Se si verifica un errore durante questo processo o se una riga specificata dagli indirizzi non si verifica
esistere quando la riga corrente verrebbe impostata su di essa o se viene specificata più di una singola riga
dagli indirizzi e il contenuto del buffer di modifica viene sostituito (ad esempio, dal file ex
edit: comando) verrà scritto un messaggio di errore e non verranno più generati comandi risultanti dal file
l'esecuzione di questo comando verrà elaborata.

Corrente linea: Come specificato per l'individuo ex comandi.

Corrente colonna: Come specificato per l'individuo ex comandi.

Regolare Espressioni in ex
I ex l'utilità deve supportare le espressioni regolari che sono un superset del regolare di base
espressioni descritte nel volume Base Definitions di POSIX.1‐2008, Sezione 9.3, Standard
Regolare Espressioni. Un'espressione regolare nulla ("//") sarà equivalente all'ultimo
espressione regolare incontrata.

Le espressioni regolari possono essere utilizzate negli indirizzi per specificare righe e, in alcuni comandi (for
esempio, il sostituirlo comando), per specificare le parti di una riga da sostituire.

I seguenti costrutti possono essere utilizzati per migliorare le espressioni regolari di base:

\< Corrisponde all'inizio di a parola. (Vedi la definizione di parola a inizio
Comando descrizioni in ex.)

\> Corrisponde alla fine di a parola.

~ Abbina la parte di ricambio dell'ultima sostituirlo comando. IL ('~')
è possibile eseguire l'escape del carattere in un'espressione regolare per diventare un carattere normale
nessun significato speciale. IL saranno scartati.

Quando l'opzione editor magia non è impostato, verranno utilizzati solo i caratteri con significati speciali
be '^' all'inizio di uno schema, "$" alla fine di un modello e . IL
caratteri ".", '*', '['e '~' devono essere trattati come caratteri ordinari a meno che non siano preceduti
da a ; quando preceduto da a riacquisteranno il loro significato speciale,
o nel caso di , essere trattato come un singolo . caratteri
utilizzato per sfuggire ad altri caratteri verrà scartato.

Sostituzione String in ex
Il personaggio "&" ('\&' se l'opzione dell'editor magia non è impostato) nella stringa di sostituzione
starà per il testo corrispondente al modello da sostituire. Il personaggio '~' ('\~' if
magia non è impostato) sarà sostituito dalla parte sostitutiva della precedente sostituirlo
comando. La sequenza '\n', Dove n è un numero intero, deve essere sostituito dal testo corrispondente
dalla corrispondente espressione di riferimento all'indietro. Se il corrispondente riferimento all'indietro
l'espressione non corrisponde, quindi i caratteri '\n' sarà sostituito dalla stringa vuota.

Le corde '\l', "\u", '\L'e '\U' può essere utilizzato per modificare il caso degli elementi in
stringa di sostituzione (utilizzando il file '\&' or "\"cifra). La stringa '\l' ("\u") deve
fa sì che il carattere che segue venga convertito in minuscolo (maiuscolo). La stringa '\L'
('\U') farà sì che tutti i caratteri successivi ad esso vengano convertiti in minuscolo
(maiuscolo) man mano che vengono inseriti dalla sostituzione fino alla stringa '\e' or '\E'o
viene incontrata la fine della stringa di sostituzione.

Altrimenti, qualsiasi carattere che segue a sarà trattato come tale in senso letterale
carattere e la fuga saranno scartati.

Un esempio di conversione dei casi con il file s comando è il seguente:

:p
I gatto sat on , il stuoia.
:s/\<.at\>/\u&/gp
I Gatto Sab. on , il Stuoia.
:s/S\(.*\)M/S\U\1\eM/p
I Gatto SAB ON LA Stuoia.

Modifica Opzioni in ex
I ex l'utilità ha una serie di opzioni che ne modificano il comportamento. Queste opzioni hanno
impostazioni predefinite, che possono essere modificate utilizzando il set comando.

Le opzioni sono booleane se non diversamente specificato.

indentazione automatica, ai
[Predefinito non settato]

If rientro automatico è impostato, ogni riga in modalità input dovrà essere rientrata (usando prima tanti
caratteri possibili, come determinato dall'opzione dell'editor tabulazione, e quindi utilizzando
caratteri) da allineare con un'altra riga, come segue:

1. Se in modalità aperta o visiva e l'immissione del testo fa parte di un comando orientato alla riga (vedi
la DESCRIZIONE ESTESA in vi), allinearlo alla prima colonna.

2. Altrimenti, se in modalità aperta o visiva, il rientro per ciascuna riga deve essere impostato come
segue:

UN. Se una riga è stata precedentemente inserita come parte di questo comando, verrà impostata su
rientro dell'ultima riga inserita per impostazione predefinita o come altrimenti specificato
IL -D carattere dentro Ingresso Moda Comandi in vi.

B. Altrimenti, verrà impostato sul rientro della riga corrente precedente, se
Qualunque; altrimenti, alla prima colonna.

3. Per il ex a, ie c comandi, il rientro per ciascuna riga deve essere impostato come segue:

UN. Se una riga è stata precedentemente inserita come parte di questo comando, verrà impostata su
rientro dell'ultima riga inserita per impostazione predefinita o come altrimenti specificato
, il eof personaggio Scorrere.

B. Altrimenti, se il comando è the ex a comando, verrà impostato sulla linea
aggiunto dopo, se presente; altrimenti alla prima colonna.

C. Altrimenti, se il comando è the ex i comando, verrà impostato sulla linea
inserito prima, se presente; altrimenti alla prima colonna.

D. Altrimenti, se il comando è the ex c comando, sarà impostato sul rientro
della linea sostituita.

stampa automatica, ap
[Predefinito set]

If stampa automatica è impostato, la riga corrente verrà scritta dopo ciascuna ex comando che modifica
il contenuto del buffer di modifica corrente e dopo ciascuno etichetta comando per il quale il tag
è stato trovato il modello di ricerca o il numero dello slogan era valido, a meno che:

1. Il comando è stato eseguito in modalità aperta o visiva.

2. Il comando è stato eseguito come parte di a globale or v comando o @ esecuzione del buffer.

3. Il comando era la forma di read comando che legge un file nel buffer di modifica.

4. Il comando era il aggiungere, il cambiamento, o insert comando.

5. Il comando non è stato terminato da a .

6. La riga corrente sarà scritta da un flag specificato nel comando; Per esempio,
delete # scriverà la riga corrente come specificato per il modificatore flag nel file delete
comando e non come specificato dal comando stampa automatica opzione di modifica.

scrittura automatica, aw
[Predefinito non settato]

If scrittura automatica è impostato e il buffer di modifica è stato modificato completamente dall'ultima volta
scritto su qualsiasi file, il contenuto del buffer di modifica verrà scritto come se il file ex scrivere
il comando era stato specificato senza argomenti, prima di ogni comando interessato da
scrittura automatica l'opzione di modifica viene eseguita. Aggiunta del carattere '!' al nome del comando di any
della ex comandi tranne '!' ne impediranno la scrittura. Se la scrittura fallisce, sarà un
errore e il comando non verrà eseguito.

abbellire, bf
[Predefinito non settato]

If abbellire è impostato, tutti i caratteri non stampabili, diversi da , , E
feed> caratteri, verranno eliminati dal testo letto dai file.

elenco, dir
[Predefinito definito dall'implementazione]

Il valore di questa opzione specifica la directory in cui deve trovarsi il buffer dell'editor
posizionato. Se questa directory non è scrivibile dall'utente, l'editor verrà chiuso.

edcompatibile, ed
[Predefinito non settato]

Causa la presenza di g ed c suffissi sui comandi sostitutivi da ricordare, e
attivato ripetendo i suffissi.

campanelli d'errore, eb
[Predefinito non settato]

Se c'è l'editore ex modalità e il terminale non supporta una modalità standout (come
video inverso) e campanelli d'errore è impostato, i messaggi di errore devono essere preceduti da un avviso
terminale.

exrc
[Predefinito non settato]

If exrc è impostato, ex accederà a qualsiasi .exrc file nella directory corrente, come descritto in
Inizializzazione in ex ed vi. Se exrc non è impostato, ex ignorerà qualsiasi .exrc file nella
directory corrente durante l'inizializzazione, a meno che la directory corrente non sia quella denominata da
HOMEPAGE variabile d'ambiente.

ignora maiuscole e minuscole, ic
[Predefinito non settato]

If ignoracaso è impostato, i caratteri che hanno rappresentazioni maiuscole e minuscole devono
far sì che tali rappresentazioni siano considerate equivalenti ai fini dell’espressione regolare
confronto.

I ignoracaso l'opzione di modifica influenzerà tutte le espressioni regolari ricordate; Per esempio,
disinserire il ignoracaso l'opzione di modifica causerà un successivo vi n comando da cercare
l'ultima espressione regolare di base con distinzione tra maiuscole e minuscole.

stratagemma
[Predefinito non settato]

If stratagemma è impostato, modifica le righe del buffer scritte mentre sei dentro ex la modalità di comando deve essere scritta come
specificato per il stampare comando con il l flag specificato. In modalità aperta o visiva, ciascuno
la riga del buffer di modifica verrà visualizzata come specificato per il file ex stampare comando con il l bandiera
specificato. In modalità di immissione testo aperta o visiva, quando il cursore non si ferma su nessuno
carattere nella riga, si poggerà su "$" segnando la fine della linea.

magia
[Predefinito set]

If magia è impostato, modifica l'interpretazione dei caratteri nelle espressioni regolari e
stringhe di sostituzione sostitutive (vedi Regolare Espressioni in ex ed Sostituzione String in
ex).

Messaggio
[Predefinito set]

If Messaggio è impostato, il permesso per altri di utilizzare il file scrivere or parlare comandi su cui scrivere
il terminale deve essere acceso mentre è in modalità aperta o visiva. Il comando a livello di shell Messaggio
n avrà la precedenza su qualsiasi impostazione del ex Messaggio opzione; cioè, se Messaggio y Prima
rilasciato prima dell'avvio dell'editor (o in un escape della shell), come ad esempio:

:!mesg y

, il Messaggio opzione ex sopprimerà i messaggi in arrivo, ma il Messaggio l'opzione non lo farà
abilita i messaggi in arrivo se Messaggio n è stato rilasciato.

numero, nu
[Predefinito non settato]

If numero è impostato, modifica le righe del buffer scritte mentre sei dentro ex la modalità di comando deve essere scritta con
numeri di riga, nel formato specificato dal file stampare comando con il # flag specificato. In
ex modalità di immissione testo, ogni riga sarà preceduta dal numero di riga che avrà nel file
file.

In modalità aperta o visiva, ciascuna riga del buffer di modifica verrà visualizzata con una riga precedente
numero, nel formato specificato dal ex stampare comando con il # flag specificato. Questo
il numero di riga non sarà considerato parte della riga ai fini della valutazione del
colonna corrente; ovvero, la posizione della colonna 1 sarà la prima posizione della colonna dopo
formato specificato dal stampare comando.

paragrafi, per
[Predefinito nella locale POSIX IPLPPPQPP LIpplpipbp]

I paragrafi l'opzione di modifica definirà i limiti di paragrafo aggiuntivi per open e
comandi della modalità visiva. IL paragrafi l'opzione di modifica può essere impostata su una stringa di caratteri
composto da zero o più coppie di caratteri. Sarebbe un errore impostarlo su un valore dispari
numero di caratteri

pronto
[Predefinito set]

If pronto è impostato, ex l'immissione in modalità comando verrà richiesta con a (':'); Quando
non impostato, non verrà scritta alcuna richiesta.

in sola lettura
[Predefinito vedere testo]

Se l' in sola lettura è impostata l'opzione di modifica, la modalità di sola lettura deve essere abilitata (vedi Scrivi). Il
in sola lettura l'opzione di modifica deve essere inizializzata per essere impostata se si verifica una delle seguenti condizioni
vero:

* È stata specificata l'opzione della riga di comando −R.

* Esecuzione di azioni equivalenti a accesso() funzione chiamata con quanto segue
argomenti indica che il file non dispone dell'autorizzazione di scrittura:

1. Il percorso corrente viene utilizzato come file sentiero discussione.

2. La costante W_OK è usato come amode discussione.

I in sola lettura l'opzione di modifica può essere inizializzata per essere impostata per altri, definiti dall'implementazione
motivi. IL in sola lettura l'opzione di modifica non deve essere inizializzata per essere annullata in base a qualsiasi speciale
privilegi dell'utente o del processo. IL in sola lettura l'opzione di modifica dovrà essere reinizializzata ciascuna
volta in cui il contenuto del buffer di modifica viene sostituito (ad esempio, da un edit or GENERAZIONE
comando) a meno che l'utente non lo abbia impostato esplicitamente, nel qual caso rimarrà impostato fino al
l'utente lo disimposta esplicitamente. Una volta disattivato, verrà nuovamente inizializzato ogni volta
il contenuto del buffer di modifica viene sostituito.

ridisegnare
[Predefinito non settato]

L'editor simula un terminale intelligente su un terminale stupido. (Poiché è probabile che ciò accada
richiedono una grande quantità di output al terminale, è utile solo con trasmissione elevata
velocità.)

rimappare
[Predefinito set]

If rimappare è impostato, la traduzione della mappa consentirà mappe definite in termini di altre mappe;
la traduzione continuerà fino all'ottenimento del prodotto finale. Se non impostato, solo un passaggio
dovrà essere effettuata la traduzione.

rapporto
[Predefinito 5]

Il valore di questo rapporto l'opzione di modifica specifica il numero di righe da aggiungere, copiare,
cancellato o modificato nel buffer di modifica provocherà la scrittura di un messaggio informativo
all'utente. Le seguenti condizioni causeranno un messaggio informativo. Il messaggio
deve contenere il numero di righe aggiunte, copiate, cancellate o modificate, ma è altrimenti
non specificato.

* Un ex or vi comando dell'editor, diverso da aprire, disfare, o visivo, che almeno modifica
il valore di rapporto opzione di modifica numero di righe e che non fa parte di un file ex
globale or v comando, o ex or vi esecuzione del buffer, causerà un messaggio informativo
messaggio da scrivere.

* Un ex strattone or vi y or Y comando, che copia almeno il valore del file rapporto edit
più 1 numero di righe e che non fa parte di un file ex globale or v comando, o
ex or vi esecuzione del buffer, provocherà la scrittura di un messaggio informativo.

* Un ex globale, v, aprire, disfare, o visivo comando o ex or vi esecuzione del buffer, che aggiunge
o cancella un totale di almeno il valore di rapporto opzione di modifica numero di righe,
e che non fa parte di un ex globale or v comando, o ex or vi esecuzione del buffer,
provocherà la scrittura di un messaggio informativo. (Ad esempio, se 3 righe fossero
aggiunte e 8 righe cancellate durante un ex visivo comando, 5 sarebbe il numero confrontato
contro la rapporto opzione di modifica dopo il completamento del comando.)

scorrere, scr
[Predefinito (numero di righe sul display −1)/2]

Il valore del scorrere l'opzione di modifica determinerà il numero di righe fatte scorrere dal file ex
‐D e z comandi. Per il vi ‐D e ‐U comanda, così sarà
il numero iniziale di righe da scorrere quando non è precedente ‐D o -Comando U
è stato eseguito.

sezioni
[Predefinito nella locale POSIX NHSHH HUnhsh]

I sezioni l'opzione di modifica definirà i confini della sezione aggiuntiva per la sezione aperta e
comandi della modalità visiva. IL sezioni l'opzione di modifica può essere impostata su una stringa di caratteri composta da
di zero o più coppie di caratteri; sarà un errore impostarlo su un numero dispari di
caratteri.

conchiglia, sh
[Predefinito dalla variabile di ambiente SHELL]

Il valore di questa opzione sarà una stringa. Il valore predefinito sarà preso da SHELL
variabile d'ambiente. Se la SHELL la variabile d'ambiente è nulla o vuota, il sh (Vedi sh)
l'utilità sarà l'impostazione predefinita.

larghezza di spostamento, sw
[Predefinito 8]

Il valore di questa opzione darà la larghezza in colonne del livello di rientro utilizzato
durante l'autoindentazione e dai comandi di spostamento (< ed >).

spettacolo, sm
[Predefinito non settato]

La funzionalità descritta per il spettacolo l'opzione di modifica non deve essere supportata su block-
terminali in modalità mode o terminali con capacità insufficienti.

If spettacolo viene impostato, in modalità aperta o visiva, quando a ')' or '}' viene digitato, se la corrispondenza
'(' or '{' è attualmente visibile sul display, la corrispondenza '(' or '{' saranno contrassegnati
spostando il cursore nella sua posizione per un periodo di tempo non specificato.

showmode
[Predefinito non settato]

If showmode è impostato, in modalità aperta o visiva, la modalità corrente in cui si trova l'editor
essere visualizzato sull'ultima riga del display. La modalità di comando e la modalità di immissione del testo devono essere
differenziato; potrebbero esserlo altre modalità non specificate e informazioni definite dall'implementazione
visualizzato.

slowopen
[Predefinito non settato]

If slowopen è impostato durante le modalità di immissione testo aperta e visiva, l'editor non si aggiornerà
parti del display diverse da quelle colonne di riga che visualizzano i caratteri
inserito dall'utente (vedi Ingresso Moda Comandi in vi).

tabstop, ts
[Predefinito 8]

Il valore di questa opzione di modifica specificherà il confine della colonna utilizzato da a nel
visualizzazione (vedi stampa automatica, ap ed Ingresso Moda Comandi in vi).

lunghezza tag, tl
[Zero predefinito]

Il valore di questa opzione di modifica deve specificare il numero massimo di caratteri presenti
considerato significativo nel nome del tag specificato dall'utente e nel nome del tag dai tag
file. Se il valore è zero, tutti i caratteri in entrambi i nomi dei tag saranno significativi.

tag
[Predefinito vedere testo]

Il valore di questa opzione di modifica deve essere una stringa di -percorsi delimitati dei file
usato dal etichetta comando. Il valore predefinito non è specificato.

termine
[Predefinito dalla variabile di ambiente TERMINE]

Il valore di questa opzione di modifica sarà una stringa. Il valore predefinito sarà preso da TERMINE
variabile nell'ambiente. Se la TERMINE la variabile d'ambiente è vuota o nulla, il
il valore predefinito non è specificato. L'editor utilizzerà il valore di questa opzione di modifica per determinare
il tipo di dispositivo di visualizzazione.

I risultati non vengono specificati se l'utente modifica successivamente il valore dell'opzione di modifica del termine
inizializzazione dell'editor.

conciso
[Predefinito non settato]

If conciso è impostato, i messaggi di errore potrebbero essere meno dettagliati. Tuttavia, fatta eccezione per questo avvertimento,
i messaggi di errore non sono specificati. Inoltre, non tutti i messaggi di errore necessitano di modifiche
diverse impostazioni di questa opzione.

avvertire
[Predefinito set]

If avvertire è impostato e il contenuto del buffer di modifica è stato modificato da allora
ultima scritta completamente, l'editore scriverà un messaggio di avvertimento prima di essa !
comandi (vedi Fuga).

finestra
[Predefinito vedere testo]

Un valore utilizzato in modalità aperta e visiva, dal -Gruppo musicale -F comandi e, in
modalità visiva, per specificare il numero di righe visualizzate quando lo schermo viene ridisegnato.

Se l' -w l'opzione della riga di comando non è specificata, il valore predefinito deve essere impostato su
valore del LINEE variabile d'ambiente. Se la LINEE la variabile d'ambiente è vuota o
null, il valore predefinito sarà il numero di righe sul display meno 1.

Impostazione del finestra opzione di modifica su zero o su un valore maggiore del numero di righe in
il display meno 1 (esplicitamente o basato sul -w opzione o il LINEE ambiente
variabile) causerà il finestra opzione di modifica da impostare sul numero di righe nel file
visualizzare meno 1.

La velocità di trasmissione della linea terminale può modificare l'impostazione predefinita in un'implementazione definita
maniera.

margine avvolgente, wm
[Predefinito 0]

Se il valore di questa opzione di modifica è zero, non avrà alcun effetto.

Se non è nella locale POSIX, l'effetto di questa opzione di modifica è definito dall'implementazione.

Altrimenti dovrà specificare un numero di colonne a partire dal margine finale del terminale.

Durante le modalità di immissione di testo aperta e visiva, per ciascun carattere per il quale qualsiasi parte del file
il carattere viene visualizzato in una colonna inferiore a wrapmargin colonne dal finale
margine della riga di visualizzazione, l’editor si comporterà nel seguente modo:

1. Se il personaggio che attiva questo evento è a , esso e tutto ciò immediatamente precedente
caratteri sulla riga corrente immessi durante l'esecuzione della riga corrente
comando di immissione del testo, verrà scartato e l'editor si comporterà come se l'utente lo avesse fatto
inserito un singolo Invece. Inoltre, se il successivo carattere immesso dall'utente è
UN , anch'esso verrà scartato.

2. Altrimenti, se ce ne sono uno o più immediatamente i caratteri della riga corrente
che precede l'ultimo gruppo di caratteri non inseriti inseriti caratteri immessi durante
l'esecuzione del comando di immissione del testo corrente, il i personaggi saranno
sostituito come se l'utente ne avesse inserito uno singolo Invece.

Se l' rientro automatico viene impostata l'opzione di modifica e vengono eseguiti gli eventi descritti in 1. o 2.,
Qualunque i caratteri in corrispondenza o dopo il cursore nella riga corrente verranno scartati.

Il margine finale sarà determinato dal sistema o sovrascritto dall'utente, come
descritto per COLONNE nella sezione VARIABILI D'AMBIENTE e nel volume Definizioni Base
di POSIX.1‐2008, Capitolo 8, Ambiente Variabili.

wrapscan, ws
[Predefinito set]

If avvolgere è impostato, cerca (il ex / or ? indirizzi o modalità aperta e visiva /, ?, N,
ed n comandi) deve avvolgere l'inizio o la fine del buffer di modifica; quando non impostato,
le ricerche si interromperanno all'inizio o alla fine del buffer di modifica.

scriviqualsiasi cosa, wa
[Predefinito non settato]

If writeany è impostato, alcuni dei controlli eseguiti durante l'esecuzione del file ex scrivere comandi
saranno inibiti, come descritto nell'opzione editor scrittura automatica.

EXIT STATUS


Devono essere restituiti i seguenti valori di uscita:

0 Completamento riuscito.

>0 Si è verificato un errore.

CONSEGUENZE OF ERRORI


Quando si riscontra un errore e l'input standard non è un file del dispositivo terminale, ex
non scriverà il file né tornerà alla modalità comando o immissione testo e terminerà con
uno stato di uscita diverso da zero.

Altrimenti, quando si incontra un errore irreversibile, sarà equivalente a un SIGHUP
evento asincrono.

Altrimenti, quando viene riscontrato un errore, l'editor si comporterà come specificato in Comando
linea parsing in ex.

I i seguenti sezioni sono Informativo.

APPLICAZIONI USO


Se viene ricevuto un segnale SIGSEGV mentre ex sta salvando un file, il file potrebbe non essere
salvato con successo.

I GENERAZIONE il comando può accettare più di un file, quindi utilizzi come:

GENERAZIONE `ls [abc]*`

è valido; non sarebbe valido per il edit or read comandi, ad esempio, perché loro
aspettarsi che si verifichino solo un file e risultati non specificati.

ESEMPI


Nessuno.

FONDAMENTO LOGICO


I ex/vi la specifica si basa sulla pratica storica trovata in 4 BSD e System
V implementazioni di ex ed vi.

A limitato editore (sia quello storico rosso utilità e modifiche a ex) erano
considerato e rifiutato per l'inclusione. Nessuna delle due opzioni forniva quel livello di sicurezza
gli utenti potrebbero aspettarsi.

È riconosciuto che ex la modalità visiva e le funzionalità correlate sarebbero difficili in caso contrario
impossibile, da implementare in modo soddisfacente su un terminale in modalità blocco o su un terminale senza
qualsiasi forma di indirizzamento del cursore; pertanto, non è un requisito obbligatorio che tali funzionalità
dovrebbe funzionare su tutti i terminali. È intenzione, tuttavia, che an ex implementazione
dovrebbe fornire l'insieme completo di funzionalità su tutti i terminali in grado di supportarle.

Opzioni
I -c sostituzione per +command è stato ispirato dal -e possibilità di sete. Storicamente, tutto
tali comandi (vedi edit ed GENERAZIONE così) sono stati eseguiti dall'ultima riga della modifica
respingente. Ciò significava, ad esempio, questo "+/modello" fallirebbe a meno che il avvolgere opzione
era stabilito. POSIX.1‐2008 richiede la conformità alla pratica storica. IL +command opzione è
non più specificato da POSIX.1‐2008 ma potrebbe essere presente in alcune implementazioni.
Storicamente, alcune implementazioni limitavano il ex comandi che potrebbero essere elencati come parte
degli argomenti della riga di comando. Per coerenza, POSIX.1‐2008 non li consente
restrizioni.

Nelle implementazioni storiche dell'editor, il -R opzione (e il in sola lettura opzione di modifica)
impediva solo la sovrascrittura dei file; l'aggiunta ai file era ancora consentita, la mappatura
liberamente nel csh noclobber variabile. Alcune implementazioni, tuttavia, non sono seguite
questo semantico, e in sola lettura non consente neanche l'aggiunta. POSIX.1‐2008 segue il
quest'ultima pratica, ritenendo che sia un significato più ovvio e intuitivo di in sola lettura.

I -s L'opzione sopprime tutti i feedback interattivi dell'utente ed è utile per modificare gli script
nei lavori batch. L'elenco degli effetti specifici è una pratica storica. Il tipo di terminale
"Incapace di supportare modalità aperte e visive" è stato storicamente definito "stupido".

I -t l'opzione era necessaria perché il file ctag l'utilità appare in POSIX.1‐2008 e in
l'opzione è disponibile in tutte le implementazioni storiche di ex.

Storicamente ex ed vi utenze accettate a -x opzione, che ha basato la crittografia su
l'algoritmo trovato nello storico cripta utilità. Il -x opzione per la crittografia e il file
associato cripta utilità, sono stati omessi perché l'algoritmo utilizzato non era specificabile e
le leggi sul controllo delle esportazioni di alcune nazioni rendono difficile l'esportazione di crittografia
tecnologia. Inoltre, storicamente non ha fornito il livello di sicurezza offerto agli utenti
potrebbe aspettarsi.

Standard Ingresso
Una condizione di fine file non è equivalente a un carattere di fine file. Una fine comune
carattere del file, ‐D, è storicamente an ex comando.

Non esisteva una lunghezza massima della linea nelle implementazioni storiche di ex. Nello specifico, come esso
è stato analizzato in blocchi, gli indirizzi avevano una lunghezza massima diversa rispetto ai nomi dei file.
Inoltre, la dimensione massima del buffer di riga è stata dichiarata come BUFSIZ, che aveva lunghezze diverse
su sistemi diversi. Questa versione ha selezionato il valore di {LINE_MAX} per imporre un valore ragionevole
restrizione sull'uso portatile di ex e per aiutare gli autori di suite di test nel loro sviluppo
test realistici che esercitano questo limite.

Ingresso File
È stata una decisione esplicita degli sviluppatori standard che a essere aggiunto a qualsiasi
file che ne manca uno. Si credeva che questa caratteristica di ex ed vi è stato invocato dagli utenti in
per creare file di testo privi di finale più portatile. Questo è riconosciuto
ciò richiederà un'opzione o un'estensione specificata dall'utente per le implementazioni che lo consentono ex
ed vi per modificare file di tipo diverso dal testo se tali file non sono altrimenti identificati da
il sistema. Si è convenuto che la possibilità di modificare file di tipo arbitrario può essere utile,
ma non si è ritenuto necessario imporre che an ex or vi essere necessaria l'implementazione
per gestire file diversi dai file di testo.

Il paragrafo nella sezione FILE DI INPUT, ``Per impostazione predefinita, ...'', ha lo scopo di chiudere a
problema di sicurezza di lunga data ex ed vi; quello della "modeline" o "modelines"
opzione di modifica. Questa funzionalità consente qualsiasi riga nelle prime o nelle ultime cinque righe del file
contenente le corde "ex:" or "vi:" (e, a quanto pare, "ei:" or "vx:") per essere una linea
contenente i comandi dell'editor e ex interpreta tutto il testo fino a quello successivo ':' O
come comando. Considera le conseguenze, ad esempio, dell'utilizzo da parte di un utente ignaro ex or
vi come editor quando si risponde a un messaggio di posta in cui una riga come:

ex:! rm -rf :

è apparso nelle righe della firma. Gli sviluppatori standard credevano fortemente che un editor
per impostazione predefinita non dovrebbe interpretare alcuna riga di un file. I venditori sono fortemente invitati a cancellare
questa funzionalità dalle loro implementazioni di ex ed vi.

asincrono Eventi
Lo scopo della frase "scrittura completa" è che venga scritto l'intero buffer di modifica
allo stoccaggio stabile. La nota relativa ai file temporanei è destinata alle implementazioni che
utilizzare file temporanei per eseguire il backup dei buffer di modifica senza nome dall'utente.

Storicamente, SIGQUIT è stato ignorato da ex, ma era l'equivalente di Q comando in visuale
modalità; cioè, è uscito dalla modalità visiva ed è entrato ex modalità. POSIX.1‐2008 lo consente, ma lo fa
non richiedono questo comportamento. Storicamente, SIGINT veniva spesso utilizzato da vi utenti da terminare
modalità di immissione del testo ( ‐C è spesso più facile da inserire rispetto a ). Alcune implementazioni
of vi ha avvisato il terminale di questo evento e alcuni no. POSIX.1‐2008 lo richiede
SIGINT si comporta in modo identico a e che il terminale non venga avvisato.

Storicamente, la sospensione del ex editor durante la modalità di immissione del testo era simile a SIGINT, come
le righe completate venivano conservate, ma le righe parziali venivano scartate e l'editor tornava a
modalità di comando. POSIX.1‐2008 tace su questo tema; le implementazioni sono incoraggiate a
seguire la pratica storica, ove possibile.

Storicamente vi l'editor non ha trattato SIGTSTP come un evento asincrono, e lo è stato
quindi impossibile sospendere l'editor in modalità di inserimento testo visivo. Ce ne sono due principali
ragioni per questo. Il primo è che SIGTSTP è un segnale di trasmissione sui sistemi UNIX e il
catena di eventi in cui la shell execè un'applicazione che allora execs vi di solito causato
confusione per lo stato terminale se SIGTSTP è stato consegnato al gruppo di processi nel file
modo predefinito. Il secondo era che la maggior parte delle implementazioni di UNIX maledizioni il pacchetto ha fatto
non gestire SIGTSTP in modo sicuro e la ricezione di SIGTSTP nel momento sbagliato potrebbe causarli
fare un incidente. POSIX.1‐2008 tace su questo tema; le implementazioni sono incoraggiate a trattare
sospensione come evento asincrono, se possibile.

Storicamente, le modifiche al buffer di modifica apportate prima che SIGINT interrompessero un'operazione
sono stati mantenuti; ovvero, un valore compreso tra zero e tutte le righe da modificare
stato modificato quando è arrivato il SIGINT. Queste modifiche non sono state scartate dal
arrivo di SIGINT. POSIX.1‐2008 consente questo comportamento, sottolineando che il disfare il comando è
necessario per poter annullare questi comandi parzialmente completati.

L'azione intrapresa per segnali diversi da SIGINT, SIGCONT, SIGHUP e SIGTERM è
non specificato perché alcune implementazioni tentano di salvare il buffer di modifica in uno stato utile
quando vengono ricevuti altri segnali.

Standard Errore
Nel ex/vi, i messaggi diagnostici sono quei messaggi segnalati a seguito di un tentativo fallito
invocare ex or vi, come opzioni non valide o risorse insufficienti o un'anomalia
condizione di terminazione. I messaggi di diagnostica non devono essere confusi con i messaggi di errore
generati da comandi utente inappropriati o illegali.

Inizializzazione in ex ed vi
Se uno ex comando (diverso da cd, chdir, o source) ha un argomento nome file, uno o entrambi
verranno impostati i percorsi alternativo e corrente. Informalmente, sono impostati come segue:

1. Se la ex Il comando è uno che sostituisce il contenuto del buffer di modifica e it
ha esito positivo, il percorso corrente verrà impostato sull'argomento nome file (il primo
argomento nomefile nel caso di GENERAZIONE comando) e il percorso alternativo sarà
impostato sul percorso corrente precedente, se ce n'era uno.

2. Nel caso dei file leggere/scrivere i moduli del file read ed scrivere comandi, se presenti
nessun percorso corrente, il percorso corrente verrà impostato sull'argomento nome file.

3. Altrimenti, il percorso alternativo verrà impostato sull'argomento nome file.

Per esempio, edit: foo ed :recuperare foo, in caso di successo, imposta il nome del percorso corrente e,
se esisteva un percorso corrente precedente, il percorso alternativo. I comandi :Scrivi,
!comandoe edit: non impostare né il percorso corrente né quello alternativo. Se la edit: foo
se il comando dovesse fallire per qualche motivo, verrebbe impostato il percorso alternativo. IL read ed
scrivere i comandi impostano il percorso alternativo sul loro filetto argomento, a meno che l'attuale
il percorso non è impostato, nel qual caso impostano il percorso corrente sul loro filetto argomenti.
Il percorso alternativo non è stato storicamente impostato dal file :fonte comando. POSIX.1‐2008
richiede il rispetto della pratica storica. Implementazioni che aggiungono comandi che richiedono
si consiglia di impostare nomi di file come argomenti per impostare il nome di percorso alternativo come descritto qui.

Storicamente, ex ed vi leggi le .exrc file nella $ HOME directory due volte, se l'editor
è stato giustiziato nel $ HOME directory. POSIX.1‐2008 vieta questo comportamento.

Storicamente, i 4 BSD ex ed vi leggi le $ HOME e locale .exrc file se fossero di proprietà
dall'ID reale dell'utente o dal file sourceany è stata impostata un'opzione, indipendentemente dalle altre
considerazioni. Questo era un problema di sicurezza perché è possibile installare UNIX normale
comandi di sistema all'interno di a .exrc file. POSIX.1‐2008 non specifica il sourceany opzione,
e le implementazioni storiche sono incoraggiate a eliminarlo.

I .exrc i file devono essere di proprietà dell'ID reale dell'utente e non possono essere scrivibili da nessun altro
rispetto al proprietario. L'eccezione dei privilegi appropriati ha lo scopo di consentire agli utenti di farlo
acquisire privilegi speciali, ma continuare a utilizzare il .exrc file nelle loro directory home.

System V versione 3.2 e successive vi le implementazioni hanno aggiunto l'opzione [no]esrc. Il comportamento
è quello locale .exrc i file sono di sola lettura se il file exrc l'opzione è impostata. L'impostazione predefinita per
exrc l'opzione era disattivata, quindi per impostazione predefinita local .exrc i file non sono stati letti. Il problema era questo
l'intenzione di risolvere era che System V consentiva agli utenti di distribuire file, quindi non esiste
possibile test di proprietà o di scrivibilità per garantire che il file sia sicuro. Questo è ancora un
problema di sicurezza sui sistemi in cui gli utenti possono distribuire file, ma non c'è nulla
in più che POSIX.1‐2008 può fare. L'eccezione definita dall'implementazione è destinata a
consentire ai gruppi di avere locali .exrc file condivisi dagli utenti, creando pseudo-utenti
possedere i file condivisi.

POSIX.1‐2008 non menziona l'intero sistema ex ed vi file di avvio. Mentre esistono in
diverse implementazioni di ex ed vi, non sono presenti in nessuna implementazione
considerata pratica storica da POSIX.1‐2008. Implementazioni che dispongono di tali file
dovrebbero usarli solo se sono di proprietà dell'ID utente reale o di un utente appropriato (ad esempio
root su sistemi UNIX) e se non sono scrivibili da nessun utente diverso dal proprio
proprietario. I file di avvio a livello di sistema devono essere letti prima del file ESCI variabile, $HOME/.exrc,
o locale .exrc i file vengono valutati.

Storicamente, qualsiasi ex il comando potrebbe essere inserito nel file ESCI variabile o il .exrc file,
sebbene quelli che richiedono che il buffer di modifica contenga già righe di testo in genere
ha causato la caduta delle implementazioni storiche dell'editor core. POSIX.1‐2008 lo richiede
in qualsiasi ex il comando sia consentito in ESCI variabile e .exrc file, per semplicità di
specifiche e coerenza, anche se molti di essi ovviamente falliranno in molti
circostanze.

L'inizializzazione del contenuto del buffer di modifica utilizza la frase "l'effetto deve".
essere'' per quanto riguarda vari ex comandi. L'intento di questa frase è il buffer di modifica
i contenuti caricati durante la fase di inizializzazione non vengano persi; cioè, caricando la modifica
buffer dovrebbe fallire se il file .exrc file ha letto il contenuto di un file e non lo ha fatto
successivamente scrivere il buffer di modifica. Un ulteriore intento di questa frase è specificarlo
la riga e la colonna correnti iniziali sono impostate come specificato per l'individuo ex comandi.

Storicamente -t l'opzione si comportava come se la ricerca dei tag fosse un +command; cioè, lo era
eseguito dall'ultima riga del file specificato dal tag. Ciò ha portato alla ricerca
failing if the pattern was a forward search pattern and the avvolgere edit option was not
set. POSIX.1‐2008 does not permit this behavior, requiring that the search for the tag
pattern be performed on the entire file, and, if not found, that the current line be set
to a more reasonable location in the file.

Historically, the empty edit buffer presented for editing when a file was not specified by
the user was unnamed. This is permitted by POSIX.1‐2008; however, implementations are
encouraged to provide users a temporary filename for this buffer because it permits them
l'impiego di ex commands that use the current pathname during temporary edit sessions.

Historically, the file specified using the -t option was not part of the current argument
list. This practice is permitted by POSIX.1‐2008; however, implementations are encouraged
to include its name in the current argument list for consistency.

Storicamente -c command was generally not executed until a file that already exists
was edited. POSIX.1‐2008 requires conformance to this historical practice. Commands that
potrebbe causare il -c command to be executed include the ex comandi edit, GENERAZIONE, recuperare,
riavvolgeree etichetta, e il vi commands <control>‐^ and <control>‐]. Historically, reading a
file into an edit buffer did not cause the -c command to be executed (even though it might
set the current pathname) with the exception that it did cause the -c command to be
executed if: the editor was in ex mode, the edit buffer had no current pathname, the edit
buffer was empty, and no read commands had yet been attempted. For consistency and
simplicity of specification, POSIX.1‐2008 does not permit this behavior.

Storicamente -r option was the same as a normal edit session if there was no recovery
information available for the file. This allowed users to enter:

vi -r *.C

and recover whatever files were recoverable. In some implementations, recovery was
attempted only on the first file named, and the file was not entered into the argument
list; in others, recovery was attempted for each file named. In addition, some historical
implementations ignored -r if -t was specified or did not support command line filetto
arguments with the -t option. For consistency and simplicity of specification,
POSIX.1‐2008 disallows these special cases, and requires that recovery be attempted the
first time each file is edited.

Storicamente, vi initialized the ` ed ' marks, but ex did not. This meant that if the
first command in ex mode was visivo or if an ex command was executed first (for example,
vi + 10 filetto), vi was entered without the marks being initialized. Because the standard
developers believed the marks to be generally useful, and for consistency and simplicity
of specification, POSIX.1‐2008 requires that they always be initialized if in open or
visual mode, or if in ex mode and the edit buffer is not empty. Not initializing it in ex
mode if the edit buffer is empty is historical practice; however, it has always been
possible to set (and use) marks in empty edit buffers in open and visual mode edit
sessioni.

Indirizzamento
Storicamente, ex ed vi accepted the additional addressing forms '\/' ed '\?'. Li avevamo
equivalente "//" ed "??", respectively. They are not required by POSIX.1‐2008, mostly
because nobody can remember whether they ever did anything different historically.

Storicamente, ex ed vi permitted an address of zero for several commands, and permitted
, il % address in empty files for others. For consistency, POSIX.1‐2008 requires support
for the former in the few commands where it makes sense, and disallows it otherwise. In
addition, because POSIX.1‐2008 requires that % be logically equivalent to "1,$"è similare a quella del
also supported where it makes sense and disallowed otherwise.

Storicamente % address could not be followed by further addresses. For consistency
and simplicity of specification, POSIX.1‐2008 requires that additional addresses be
supportato.

All of the following are valid indirizzi:

+++ Tre righe dopo la riga corrente.

/re/− One line before the next occurrence of re.

-2 Due righe prima della riga corrente.

3 −−−− 2 Line one (note intermediate negative address).

1 2 3 Riga sei.

È possibile fornire un numero qualsiasi di indirizzi ai comandi che prendono indirizzi; Per esempio,
"1,2,3,4,5p" stampa le righe 4 e 5, perché due è il maggior numero valido di indirizzi
accettato dal stampare comando. Questo, in combinazione con il delimitatore,
consente agli utenti di creare comandi basati su modelli ordinati nel file. Ad esempio, il
command 3;/foo/;+2print visualizzerà la prima riga dopo la riga 3 che contiene il motivo
foo, più le due righe successive. Nota che l'indirizzo 3; must be evaluated before being
discarded because the search origin for the /pippo/ comando dipende da questo.

Historically, values could be added to addresses by including them after one or more
<blank> characters; for example, 3 - 5p wrote the seventh line of the file, and /pippo/ 5
was the same as /foo/+5. However, only absolute values could be added; for example,
5 /pippo/ was an error. POSIX.1‐2008 requires conformance to historical practice. Address
offsets are separately specified from addresses because they could historically be
provided to visual mode search commands.

Historically, any missing addresses defaulted to the current line. This was true for
leading and trailing <comma>-delimited addresses, and for trailing <semicolon>-delimited
addresses. For consistency, POSIX.1‐2008 requires it for leading <semicolon> addresses as
bene.

Storicamente, ex ed vi accettato il '^' character as both an address and as a flag offset
for commands. In both cases it was identical to the '-' character. POSIX.1‐2008 does not
require or prohibit this behavior.

Historically, the enhancements to basic regular expressions could be used in addressing;
per esempio, '~', '\<'e '\>'. POSIX.1‐2008 requires conformance to historical
practice; that is, that regular expression usage be consistent, and that regular
expression enhancements be supported wherever regular expressions are used.

Comando linea parsing in ex
Direttori Storici ex command parsing was even more complex than that described here. POSIX.1‐2008
requires the subset of the command parsing that the standard developers believed was
documented and that users could reasonably be expected to use in a portable fashion, and
that was historically consistent between implementations. (The discarded functionality is
obscure, at best.) Historical implementations will require changes in order to comply
with POSIX.1‐2008; however, users are not expected to notice any of these changes. Most
of the complexity in ex parsing is to handle three special termination cases:

1. il !, globale, v, and the filter versions of the read ed scrivere commands are delimited
by <newline> characters (they can contain <vertical-line> characters that are usually
shell pipes).

2. il ex, edit, GENERAZIONEe visivo in open and visual mode commands all take ex comandi,
optionally containing <vertical-line> characters, as their first arguments.

3. il s command takes a regular expression as its first argument, and uses the
delimiting characters to delimit the command.

Historically, <vertical-line> characters in the +command argomento del ex, edit, GENERAZIONE,
vie visivo commands, and in the modello ed sostituzione parti del s command, did
not delimit the command, and in the filter cases for read ed scrivere, e il !, globale,
ed v commands, they did not delimit the command at all. For example, the following
commands are all valid:

:edit +25 | s/abc/ABC/ file.c
:s/ | /PIPE/
:read !spell % | columnate
:global/pattern/p | l
:s/a/b/ | s/c/d | set

Historically, empty or <blank> filled lines in .exrc file e sourced files (as well as
ESCI variabili e ex command scripts) were treated as default commands; that is, stampare
commands. POSIX.1‐2008 specifically requires that they be ignored when encountered in
.exrc ed sourced files to eliminate a common source of new user error.

Storicamente, ex commands with multiple adjacent (or <blank>-separated) vertical lines
were handled oddly when executed from ex mode. For example, the command ||| <carriage-
return>, when the cursor was on line 1, displayed lines 2, 3, and 5 of the file. In
addition, the command | would only display the line after the next line, instead of the
next two lines. The former worked more logically when executed from vi mode, and displayed
lines 2, 3, and 4. POSIX.1‐2008 requires the vi behavior; that is, a single default
command and line number increment for each command separator, and trailing <newline>
characters after <vertical-line> separators are discarded.

Storicamente, ex permitted a single extra <colon> as a leading command character; for
esempio, :g/pattern/:p was a valid command. POSIX.1‐2008 generalizes this to require that
any number of leading <colon> characters be stripped.

Historically, any prefix of the delete command could be followed without intervening
<blank> characters by a flag character because in the command d p, p è interpretato come
bufferizzare p. POSIX.1‐2008 requires conformance to historical practice.

Storicamente k command could be followed by the mark name without intervening <blank>
characters. POSIX.1‐2008 requires conformance to historical practice.

Storicamente s command could be immediately followed by flag and option characters;
per esempio, s/e/E/|s|sgc3p was a valid command. However, flag characters could not stand
alone; for example, the commands sp ed s l would fail, while the command per favore ed s gl
would succeed. (Obviously, the '#' flag character was used as a delimiter character if it
followed the command.) Another issue was that option characters had to precede flag
characters even when the command was fully specified; for example, the command s/e/E/pg
would fail, while the command s/e/E/gp would succeed. POSIX.1‐2008 requires conformance to
pratica storica.

Historically, the first command name that had a prefix matching the input from the user
was the executed command; for example, ve, vere a all executed the versione comando.
Commands were in a specific order, however, so that a abbinato aggiungerenon, abbreviare.
POSIX.1‐2008 requires conformance to historical practice. The restriction on command
search order for implementations with extensions is to avoid the addition of commands such
that the historical prefixes would fail to work portably.

implementazioni storiche di ex ed vi did not correctly handle multiple ex comandi,
separated by <vertical-line> characters, that entered or exited visual mode or the editor.
Because implementations of vi exist that do not exhibit this failure mode, POSIX.1‐2008
non lo consente.

The requirement that alphabetic command names consist of all following alphabetic
characters up to the next non-alphabetic character means that alphabetic command names
must be separated from their arguments by one or more non-alphabetic characters, normally
a <blank> or '!' character, except as specified for the exceptions, the delete, ke s
comandi.

Historically, the repeated execution of the ex difetto stampare commands (<control>‐D, eof,
<newline>, <carriage-return>) erased any prompting character and displayed the next lines
without scrolling the terminal; that is, immediately below any previously displayed lines.
This provided a cleaner presentation of the lines in the file for the user. POSIX.1‐2008
does not require this behavior because it may be impossible in some situations; however,
implementations are strongly encouraged to provide this semantic if possible.

Historically, it was possible to change files in the middle of a command, and have the
rest of the command executed in the new file; for example:

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

was a valid command, and the substitution was attempted in the newly edited file.
POSIX.1‐2008 requires conformance to historical practice. The following commands are
examples that exercise the ex analizzatore:

eco "pippo" | bar' > file1; eco 'foo/bar' > file2;
vi
edit: +1 | s/|/PIPE/ | w file1 | e file2 | 1 | s/\//SLASH/ | wq

Historically, there was no protection in editor implementations to avoid ex globale, v, @,
or * commands changing edit buffers during execution of their associated commands. Because
this would almost invariably result in catastrophic failure of the editor, and
implementations exist that do exhibit these problems, POSIX.1‐2008 requires that changing
the edit buffer during a globale or v command, or during a @ or * command for which there
will be more than a single execution, be an error. Implementations supporting multiple
edit buffers simultaneously are strongly encouraged to apply the same semantics to
switching between buffers as well.

I ex command quoting required by POSIX.1‐2008 is a superset of the quoting in historical
implementations of the editor. For example, it was not historically possible to escape a
<blank> in a filename; for example, edit: foo\\\ bar would report that too many filenames
had been entered for the edit command, and there was no method of escaping a <blank> in
the first argument of an edit, ex, GENERAZIONE, o visivo command at all. POSIX.1‐2008 extends
historical practice, requiring that quoting behavior be made consistent across all ex
commands, except for the carta geografica, annulla mappa, abbreviaree non abbreviato commands, which
historically used <control>‐V instead of <backslash> characters for quoting. For those
four commands, POSIX.1‐2008 requires conformance to historical practice.

Backslash quoting in ex is non-intuitive. <backslash>-escapes are ignored unless they
escape a special character; for example, when performing filetto argument expansion, the
stringa "\\%" è equivalente '\%', not "\<corrente pathname>". This can be confusing for
users because <backslash> is usually one of the characters that causes shell expansion to
be performed, and therefore shell quoting rules must be taken into consideration.
Generally, quoting characters are only considered if they escape a special character, and
a quoting character must be provided for each layer of parsing for which the character is
special. As another example, only a single <backslash> is necessary for the '\l' sequenza
in substitute replacement patterns, because the character 'l' is not special to any
parsing layer above it.

<control>‐V quoting in ex is slightly different from backslash quoting. In the four
commands where <control>‐V quoting applies (abbreviare, non abbreviato, carta geograficae annulla mappa), any
character may be escaped by a <control>‐V whether it would have a special meaning or not.
POSIX.1-2008 richiede la conformità alla pratica storica.

Historical implementations of the editor did not require delimiters within character
classes to be escaped; for example, the command :s/[/]// sulla corda "xxx/yyy" sarebbe
elimina il "/" from the string. POSIX.1‐2008 disallows this historical practice for
consistency and because it places a large burden on implementations by requiring that
knowledge of regular expressions be built into the editor parser.

Historically, quoting <newline> characters in ex commands was handled inconsistently. In
most cases, the <newline> character always terminated the command, regardless of any
preceding escape character, because <backslash> characters did not escape <newline>
characters for most ex commands. However, some ex commands (for example, s, carta geograficae
abbreviazione) permitted <newline> characters to be escaped (although in the case of carta geografica
ed abbreviazione, <control>‐V characters escaped them instead of <backslash> characters).
This was true in not only the command line, but also .exrc ed sourced files. For example,
il comando:

carta geografica = foo<control-V><newline>bar

would succeed, although it was sometimes difficult to get the <control>‐V and the inserted
<newline> passed to the ex parser. For consistency and simplicity of specification,
POSIX.1‐2008 requires that it be possible to escape <newline> characters in ex commands at
all times, using <backslash> characters for most ex commands, and using <control>‐V
caratteri per il carta geografica ed abbreviazione commands. For example, the command
stamparestratagemma is required to be parsed as the single command stamparestratagemma.
While this differs from historical practice, POSIX.1‐2008 developers believed it unlikely
that any script or user depended on the historical behavior.

Historically, an error in a command specified using the -c option did not cause the rest
della -c commands to be discarded. POSIX.1‐2008 disallows this for consistency with
mapped keys, the @, globale, sourcee v comandi, il ESCI variabile d'ambiente, e
, il .exrc File.

Ingresso Editing in ex
One of the common uses of the historical ex editor is over slow network connections.
Editors that run in canonical mode can require far less traffic to and from, and far less
processing on, the host machine, as well as more easily supporting block-mode terminals.
For these reasons, POSIX.1‐2008 requires that ex be implemented using canonical mode input
processing, as was done historically.

POSIX.1‐2008 does not require the historical 4 BSD input editing characters ``word erase''
or ``literal next''. For this reason, it is unspecified how they are handled by ex,
although they must have the required effect. Implementations that resolve them after the
line has been ended using a <newline> or <control>‐M character, and implementations that
rely on the underlying system terminal support for this processing, are both conforming.
Implementations are strongly urged to use the underlying system functionality, if at all
possible, for compatibility with other system text input interfaces.

Historically, when the eof character was used to decrement the rientro automatico livello, il
cursor moved to display the new end of the rientro automatico characters, but did not move the
cursor to a new line, nor did it erase the <control>‐D character from the line.
POSIX.1‐2008 does not specify that the cursor remain on the same line or that the rest of
the line is erased; however, implementations are strongly encouraged to provide the best
possible user interface; that is, the cursor should remain on the same line, and any
<control>‐D character on the line should be erased.

POSIX.1‐2008 does not require the historical 4 BSD input editing character ``reprint'',
traditionally <control>‐R, which redisplayed the current input from the user. For this
reason, and because the functionality cannot be implemented after the line has been
terminated by the user, POSIX.1‐2008 makes no requirements about this functionality.
Implementations are strongly urged to make this historical functionality available, if
possibile.

Historically, <control>‐Q did not perform a literal next function in ex, as it did in vi.
POSIX.1‐2008 requires conformance to historical practice to avoid breaking historical ex
script e .exrc File.

eof
Se il eof character immediately modifies the rientro automatico characters in the prompt is
left unspecified so that implementations can conform in the presence of systems that do
not support this functionality. Implementations are encouraged to modify the line and
redisplay it immediately, if possible.

The specification of the handling of the eof character differs from historical practice
solo in quello eof characters are not discarded if they follow normal characters in the text
input. Historically, they were always discarded.

Comando descrizioni in ex
Historically, several commands (for example, globale, v, visivo, s, scrivere, wq, strattone, !, <,
>, &e ~) were executable in empty files (that is, the default address(es) were 0), or
permitted explicit addresses of 0 (for example, 0 was a valid address, or 0,0 was a valid
range). Addresses of 0, or command execution in an empty file, make sense only for
commands that add new text to the edit buffer or write commands (because users may wish to
write empty files). POSIX.1‐2008 requires this behavior for such commands and disallows it
otherwise, for consistency and simplicity of specification.

A count to an ex command has been historically corrected to be no greater than the last
line in a file; for example, in a five-line file, the command 1,6stampa would fail, but the
command 1print300 would succeed. POSIX.1‐2008 requires conformance to historical practice.

Historically, the use of flags in ex commands could be obscure. General historical
practice was as described by POSIX.1‐2008, but there were some special cases. For
esempio, il stratagemma, numeroe stampare commands ignored trailing address offsets; for
esempio, 3p +++# would display line 3, and 3 would be the current line after the execution
of the command. The aprire ed visivo commands ignored both the trailing offsets and the
trailing flags. Also, flags specified to the aprire ed visivo commands interacted badly
con la stratagemma edit option, and setting and then unsetting it during the open/visual
session would cause vi to stop displaying lines in the specified format. For consistency
and simplicity of specification, POSIX.1‐2008 does not permit any of these exceptions to
the general rule.

POSIX.1‐2008 uses the word copia in several places when discussing buffers. This is not
intended to imply implementation.

Storicamente, ex users could not specify numeric buffers because of the ambiguity this
would cause; for example, in the command 3 delete 2, it is unclear whether 2 is a buffer
nome o a contare. POSIX.1‐2008 requires conformance to historical practice by default, but
does not preclude extensions.

Historically, the contents of the unnamed buffer were frequently discarded after commands
that did not explicitly affect it; for example, when using the edit command to switch
files. For consistency and simplicity of specification, POSIX.1‐2008 does not permit this
comportamento.

I ex utility did not historically have access to the numeric buffers, and, furthermore,
deleting lines in ex did not modify their contents. For example, if, after doing a delete
in vi, the user switched to ex, did another delete, and then switched back to vi, le
contents of the numeric buffers would not have changed. POSIX.1‐2008 requires conformance
to historical practice. Numeric buffers are described in the ex utility in order to
confine the description of buffers to a single location in POSIX.1‐2008.

The metacharacters that trigger shell expansion in filetto arguments match historical
practice, as does the method for doing shell expansion. Implementations wishing to provide
users with the flexibility to alter the set of metacharacters are encouraged to provide a
shellmeta string edit option.

Storicamente, ex commands executed from vi refreshed the screen when it did not strictly
need to do so; for example, :!date > / Dev / null does not require a screen refresh because
the output of the UNIX quando command requires only a single line of the screen.
POSIX.1‐2008 requires that the screen be refreshed if it has been overwritten, but makes
no requirements as to how an implementation should make that determination.
Implementations may prompt and refresh the screen regardless.

Abbreviare
Historical practice was that characters that were entered as part of an abbreviation
replacement were subject to carta geografica expansions, the spettacolo edit option, further
abbreviation expansions, and so on; that is, they were logically pushed onto the terminal
input queue, and were not a simple replacement. POSIX.1‐2008 requires conformance to
historical practice. Historical practice was that whenever a non-word character (that had
not been escaped by a <control>‐V) was entered after a word character, vi would check for
abbreviations. The check was based on the type of the character entered before the word
character of the word/non-word pair that triggered the check. The word character of the
word/non-word pair that triggered the check and all characters entered before the trigger
pair that were of that type were included in the check, with the exception of <blank>
characters, which always delimited the abbreviation.

This means that, for the abbreviation to work, the ss must end with a word character,
there can be no transitions from word to non-word characters (or vice versa) other than
between the last and next-to-last characters in the ss, and there can be no <blank>
personaggi in ss. In addition, because of the historical quoting rules, it was
impossible to enter a literal <control>‐V in the ss. POSIX.1‐2008 requires conformance
to historical practice. Historical implementations did not inform users when abbreviations
that could never be used were entered; implementations are strongly encouraged to do so.

For example, the following abbreviations will work:

:ab (p SOSTITUIRE
:ab p SOSTITUIRE
:ab ((p SOSTITUIRE

The following abbreviations will not work:

:ab ( SOSTITUIRE
:ab (pp SOSTITUIRE

Historical practice is that words on the vi colon command line were subject to
abbreviation expansion, including the arguments to the abbreviato (and more interestingly) the
unabbrev command. Because there are implementations that do not do abbreviation expansion
for the first argument to those commands, this is permitted, but not required, by
POSIX.1‐2008. However, the following sequence:

:ab foo bar
:ab foo baz

resulted in the addition of an abbreviation of "bacio" per la stringa "bar" in historical
ex/vi, and the sequence:

:ab pippo1 bar
:ab pippo2 bar
:unabbreviate pippo2

deleted the abbreviation "foo1"non, "foo2". These behaviors are not permitted by
POSIX.1‐2008 because they clearly violate the expectations of the user.

It was historical practice that <control>‐V, not <backslash>, characters be interpreted as
escaping subsequent characters in the abbreviare command. POSIX.1‐2008 requires
conformance to historical practice; however, it should be noted that an abbreviation
containing a <blank> will never work.

Aggiungere
Historically, any text following a <vertical-line> command separator after an aggiungere,
il cambiamento, o insert command became part of the insert text. For example, in the command:

:g/pattern/append|stuff1

a line containing the text "stuff1" would be appended to each line matching pattern. It
was also historically valid to enter:

:append|stuff1
roba2
.

and the text on the ex command line would be appended along with the text inserted after
it. There was an historical bug, however, that the user had to enter two terminating
lines (the "." lines) to terminate text input mode in this case. POSIX.1‐2008 requires
conformance to historical practice, but disallows the historical need for multiple
terminating lines.

Cambiamento di
See the RATIONALE for the aggiungere command. Historical practice for cursor positioning after
the change command when no text is input, is as described in POSIX.1‐2008. However, one
System V implementation is known to have been modified such that the cursor is positioned
on the first address specified, and not on the line before the first address. POSIX.1‐2008
disallows this modification for consistency.

Storicamente il cambiamento command did not support buffer arguments, although some
implementations allow the specification of an optional buffer. This behavior is neither
required nor disallowed by POSIX.1‐2008.

Cambiamento di elenco
A common extension in ex implementations is to use the elements of a cdpath edit option as
prefix directories for sentiero argomenti a chdir that are relative pathnames and that do not
avere "." or ".." as their first component. Elements in the cdpath edit option are
<colon>-separated. The initial value of the cdpath edit option is the value of the shell
CDPATH environment variable. This feature was not included in POSIX.1‐2008 because it does
not exist in any of the implementations considered historical practice.

Copia
implementazioni storiche di ex permitted copies to lines inside of the specified range;
per esempio, :2,5copy3 was a valid command. POSIX.1‐2008 requires conformance to
pratica storica.

Elimina
POSIX.1‐2008 requires support for the historical parsing of a delete comando seguito da
flags, without any intervening <blank> characters. For example:

1dp Deletes the first line and prints the line that was second.

1delep Per quanto riguarda i 1dp.

1d Deletes the first line, saving it in buffer p.

1d p1l (Pee-one-ell.) Deletes the first line, saving it in buffer p, and listing the line
that was second.

Modifica
Storicamente, qualsiasi ex command could be entered as a +command argomento al edit comando,
although some (for example, insert ed aggiungere) were known to confuse historical
implementations. For consistency and simplicity of specification, POSIX.1‐2008 requires
that any command be supported as an argument to the edit comando.

Historically, the command argument was executed with the current line set to the last line
of the file, regardless of whether the edit command was executed from visual mode or not.
POSIX.1-2008 richiede la conformità alla pratica storica.

Storicamente +command specified to the edit ed GENERAZIONE commands was delimited by the
first <blank>, and there was no way to quote them. For consistency, POSIX.1‐2008 requires
that the usual ex backslash quoting be provided.

Historically, specifying the +command argument to the edit command required a filename to
be specified as well; for example, edit: + 100 would always fail. For consistency and
simplicity of specification, POSIX.1‐2008 does not permit this usage to fail for that
ragionare.

Historically, only the cursor position of the last file edited was remembered by the
editor. POSIX.1‐2008 requires that this be supported; however, implementations are
permitted to remember and restore the cursor position for any file previously edited.

Compila il
Versioni storiche del ex editore filetto command displayed a current line and number of
lines in the edit buffer of 0 when the file was empty, while the vi <control>‐G command
displayed a current line and number of lines in the edit buffer of 1 in the same
situation. POSIX.1‐2008 does not permit this discrepancy, instead requiring that a message
be displayed indicating that the file is empty.

globali
The two-pass operation of the globale ed v commands is not intended to imply
implementation, only the required result of the operation.

The current line and column are set as specified for the individual ex comandi. Questo
requirement is cumulative; that is, the current line and column must track across all the
commands executed by the globale or v comandi.

inserire
See the RATIONALE for the aggiungere comando.

Storicamente, insert could not be used with an address of zero; that is, not when the edit
buffer was empty. POSIX.1‐2008 requires that this command behave consistently with the
aggiungere comando.

Registrati
L'azione del join command in relation to the special characters is only defined for
the POSIX locale because the correct amount of white space after a period varies; in
Japanese none is required, in French only a single space, and so on.

Lista
The historical output of the stratagemma command was potentially ambiguous. The standard
developers believed correcting this to be more important than adhering to historical
practice, and POSIX.1‐2008 requires unambiguous output.

Mappa
Historically, command mode maps only applied to command names; for example, if the
carattere 'X' was mapped to "sì", il comando fx searched for the 'X' character, not the
"sì" character. POSIX.1‐2008 requires this behavior. Historically, entering <control>‐V as
the first character of a vi command was an error. Several implementations have extended
the semantics of vi such that <control>‐V means that the subsequent command character is
not mapped. This is permitted, but not required, by POSIX.1‐2008. Regardless, using
<control>‐V to escape the second or later character in a sequence of characters that might
partita a carta geografica command, or any character in text input mode, is historical practice, and
stops the entered keys from matching a map. POSIX.1‐2008 requires conformance to
pratica storica.

Historical implementations permitted digits to be used as a carta geografica command ss, ma allora
ignored the map. POSIX.1‐2008 requires that the mapped digits not be ignored.

The historical implementation of the carta geografica command did not permit carta geografica commands that were
more than a single character in length if the first character was printable. This behavior
is permitted, but not required, by POSIX.1‐2008.

Historically, mapped characters were remapped unless the rimappare edit option was not set, or
the prefix of the mapped characters matched the mapping characters; for example, in the
carta geografica:

:carta geografica ab abcd

i personaggi "ab" were used as is and were not remapped, but the characters "CD" sono stati
mapped if appropriate. This can cause infinite loops in the vi mapping mechanisms.
POSIX.1‐2008 requires conformance to historical practice, and that such loops be
interruptible.

Text input maps had the same problems with expanding the ss per l' ex carta geografica! ed unmap!
command as did the ex abbreviare ed non abbreviato commands. See the RATIONALE for the ex
abbreviare command. POSIX.1‐2008 requires similar modification of some historical practice
per l' carta geografica ed annulla mappa commands, as described for the abbreviare ed non abbreviato comandi.

Storicamente, carta geograficas that were subsets of other carta geograficas behaved differently depending on the
order in which they were defined. For example:

:carta geografica! ab corto
:carta geografica! abc lungo

would always translate the characters "ab" a "breve", regardless of how fast the
caratteri "abc" were entered. If the entry order was reversed:

:carta geografica! abc lungo
:carta geografica! ab corto

i personaggi "ab" would cause the editor to pause, waiting for the completing 'C'
character, and the characters might never be mapped to "breve". For consistency and
simplicity of specification, POSIX.1‐2008 requires that the shortest match be used at all
volte.

The length of time the editor spends waiting for the characters to complete the ss is
unspecified because the timing capabilities of systems are often inexact and variable, and
it may depend on other factors such as the speed of the connection. The time should be
long enough for the user to be able to complete the sequence, but not long enough for the
user to have to wait. Some implementations of vi hanno aggiunto un keytime opzione, che
permits users to set the number of 0,1 seconds the editor waits for the completing
characters. Because mapped terminal function and cursor keys tend to start with an <ESC>
character, and <ESC> is the key ending vi text input mode, carta geograficas starting with <ESC>
characters are generally exempted from this timeout period, or, at least timed out
diversamente.

Mark
Historically, users were able to set the ``previous context'' marks explicitly. In
inoltre, il ex comandi '' ed '` e la vi comandi '', ``, `'e '` all referred to
the same mark. In addition, the previous context marks were not set if the command, with
which the address setting the mark was associated, failed. POSIX.1‐2008 requires
conformance to historical practice. Historically, if marked lines were deleted, the mark
was also deleted, but would reappear if the change was undone. POSIX.1‐2008 requires
conformità alla pratica storica.

The description of the special events that set the ` ed ' marks matches historical
practice. For example, historically the command /a/,/b/ did not set the ` ed ' marks, but
il comando /a/,/b/delete fatto.

Avanti
Storicamente, qualsiasi ex command could be entered as a +command argomento al GENERAZIONE comando,
although some (for example, insert ed aggiungere) were known to confuse historical
implementations. POSIX.1‐2008 requires that any command be permitted and that it behave as
specificato. Il GENERAZIONE il comando può accettare più di un file, quindi utilizzi come:

GENERAZIONE `ls [ABC] `

is valid; it need not be valid for the edit or read comandi, ad esempio, perché loro
expect only one filename.

Storicamente GENERAZIONE command behaved differently from the :rewind command in that it
ignored the force flag if the scrittura automatica flag was set. For consistency, POSIX.1‐2008 does
not permit this behavior.

Storicamente GENERAZIONE command positioned the cursor as if the file had never been edited
before, regardless. POSIX.1‐2008 does not permit this behavior, for consistency with the
edit comando.

Implementations wanting to provide a counterpart to the GENERAZIONE command that edited the
previous file have used the command prev[ious], which takes no filetto argument. POSIX.1‐2008
does not require this command.

Apri
Storicamente aprire command would fail if the aprire edit option was not set.
POSIX.1‐2008 does not mention the aprire edit option and does not require this behavior.
Some historical implementations do not permit entering open mode from open or visual mode,
solo da ex mode. For consistency, POSIX.1‐2008 does not permit this behavior.

Historically, entering open mode from the command line (that is, vi +open) resulted in
anomalous behaviors; for example, the ex di file e set comandi e il vi command
<control>‐G did not work. For consistency, POSIX.1‐2008 does not permit this behavior.

Storicamente aprire command only permitted "/" characters to be used as the search
pattern delimiter. For consistency, POSIX.1‐2008 requires that the search delimiters used
dal s, globalee v commands be accepted as well.

Conserva
I preservare command does not historically cause the file to be considered unmodified for
the purposes of future commands that may exit the editor. POSIX.1‐2008 requires
conformità alla pratica storica.

Historical documentation stated that mail was not sent to the user when preserve was
executed; however, historical implementations did send mail in this case. POSIX.1‐2008
requires conformance to the historical implementations.

Stampa
The writing of NUL by the stampare command is not specified as a special case because the
standard developers did not want to require ex to support NUL characters. Historically,
characters were displayed using the ARPA standard mappings, which are as follows:

1. I caratteri stampabili vengono lasciati soli.

2. Control characters less than \177 are represented as '^' seguito dal personaggio
offset from the '@' carattere nella mappa ASCII; ad esempio, \007 è rappresentato come
'^G'.

3. \177 is represented as '^' seguito da '?'.

La visualizzazione dei caratteri con l'ottavo bit impostato era meno standard. Esistente
le implementazioni utilizzano la visualizzazione esadecimale (0x00), ottale (\000) e meta-bit. (Quest'ultimo
displayed bytes that had their eighth bit set as the two characters "M-" seguito dal
seven-bit display as described above.) The latter probably has the best claim to
historical practice because it was used for the -v opzione di 4 BSD e 4 derivati ​​da BSD
versioni del gatto utilità dal 1980.

No specific display format is required by POSIX.1‐2008.

Explicit dependence on the ASCII character set has been avoided where possible, hence the
use of the phrase an ``implementation-defined multi-character sequence'' for the display
of non-printable characters in preference to the historical usage of, for instance, "^I"
for the <tab>. Implementations are encouraged to conform to historical practice in the
absence of any strong reason to diverge.

Historically, all ex commands beginning with the letter 'P' could be entered using
capitalized versions of the commands; for example, P[rint], Pre[serve]e Pu[t] erano tutti
valid command names. POSIX.1‐2008 permits, but does not require, this historical practice
because capital forms of the commands are used by some implementations for other purposes.

Mettere
Historically, an ex metti command, executed from open or visual mode, was the same as the
open or visual mode P command, if the buffer was named and was cut in character mode, and
lo stesso del p command if the buffer was named and cut in line mode. If the unnamed
buffer was the source of the text, the entire line from which the text was taken was
generalmente metti , and the buffer was handled as if in line mode, but it was possible to get
extremely anomalous behavior. In addition, using the Q command to switch into ex modalità e
then doing a metti often resulted in errors as well, such as appending text that was
unrelated to the (supposed) contents of the buffer. For consistency and simplicity of
specification, POSIX.1‐2008 does not permit these behaviors. All ex metti i comandi sono
required to operate in line mode, and the contents of the buffers are not altered by
changing the mode of the editor.

Leggi
Historically, an ex read command executed from open or visual mode, executed in an empty
file, left an empty line as the first line of the file. For consistency and simplicity of
specification, POSIX.1‐2008 does not permit this behavior. Historically, a read in aperto
or visual mode from a program left the cursor at the last line read in, not the first. For
consistency, POSIX.1‐2008 does not permit this behavior.

implementazioni storiche di ex were unable to undo read commands that read from the
output of a program. For consistency, POSIX.1‐2008 does not permit this behavior.

Storicamente ex ed vi message after a successful read or scrivere command specified
``characters'', not ``bytes''. POSIX.1‐2008 requires that the number of bytes be
displayed, not the number of characters, because it may be difficult in multi-byte
implementations to determine the number of characters read. Implementations are encouraged
to clarify the message displayed to the user.

Historically, reads were not permitted on files other than type regular, except that FIFO
files could be read (probably only because they did not exist when ex ed vi sono stati
originally written). Because the historical ex valutato read! ed read ! equivalentemente,
there can be no optional way to force the read. POSIX.1‐2008 permits, but does not
require, this behavior.

Recuperare
Some historical implementations of the editor permitted users to recover the edit buffer
contents from a previous edit session, and then exit without saving those contents (or
explicitly discarding them). The intent of POSIX.1‐2008 in requiring that the edit buffer
be treated as already modified is to prevent this user error.

Riavvolgere
Historical implementations supported the riavvolgere command when the user was editing the
first file in the list; that is, the file that the riavvolgere command would edit. POSIX.1‐2008
requires conformance to historical practice.

Sostituire
Storicamente, ex accepted an r opzione per il s command. The effect of the r option was to
use the last regular expression used in any command as the pattern, the same as the ~
comando. Il r option is not required by POSIX.1‐2008. Historically, the c ed g Opzioni
were toggled; for example, the command :s/abc/def/ was the same as s/abc/def/ccccgggg.
For simplicity of specification, POSIX.1‐2008 does not permit this behavior.

The tilde command is often used to replace the last search RE. For example, in the
sequenza:

s/red/blue/
/green
~

, il ~ command is equivalent to:

s/green/blue/

Storicamente, ex accepted all of the following forms:

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

POSIX.1‐2008 requires conformance to this historical practice.

I s command presumes that the '^' character only occupies a single column in the
display. Much of the ex ed vi specification presumes that the <space> only occupies a
single column in the display. There are no known character sets for which this is not
vero.

Historically, the final column position for the substitute commands was based on previous
column movements; a search for a pattern followed by a substitution would leave the column
position unchanged, while a 0 command followed by a substitution would change the column
position to the first non-<blank>. For consistency and simplicity of specification,
POSIX.1‐2008 requires that the final column position always be set to the first
non-<blank>.

Impostato
Historical implementations redisplayed all of the options for each occurrence of the contro tutti i
keyword. POSIX.1‐2008 permits, but does not require, this behavior.

Etichetta
No requirement is made as to where ex ed vi shall look for the file referenced by the tag
entry. Historical practice has been to look for the path found in the tag file, based on
the current directory. A useful extension found in some implementations is to look based
on the directory containing the tags file that held the entry, as well. No requirement is
made as to which reference for the tag in the tags file is used. This is deliberate, in
order to permit extensions such as multiple entries in a tags file for a tag.

Because users often specify many different tags files, some of which need not be relevant
or exist at any particular time, POSIX.1‐2008 requires that error messages about problem
tags files be displayed only if the requested tag is not found, and then, only once for
each time that the etichetta edit option is changed.

The requirement that the current edit buffer be unmodified is only necessary if the file
indicated by the tag entry is not the same as the current file (as defined by the current
pathname). Historically, the file would be reloaded if the filename had changed, as well
as if the filename was different from the current pathname. For consistency and simplicity
of specification, POSIX.1‐2008 does not permit this behavior, requiring that the name be
the only factor in the decision.

Storicamente, vi only searched for tags in the current file from the current cursor to the
end of the file, and therefore, if the avvolgere option was not set, tags occurring before
the current cursor were not found. POSIX.1‐2008 considers this a bug, and implementations
are required to search for the first occurrence in the file, regardless.

Disfare
I disfare description deliberately uses the word ``modified''. The disfare command is not
intended to undo commands that replace the contents of the edit buffer, such as edit,
GENERAZIONE, etichetta, o recuperare.

Cursor positioning after the disfare command was inconsistent in the historical vi, a volte
attempting to restore the original cursor position (globale, disfaree v commands), and
sometimes, in the presence of maps, placing the cursor on the last line added or changed
instead of the first. POSIX.1‐2008 requires a simplified behavior for consistency and
semplicità di specifica.

Versione
I versione command cannot be exactly specified since there is no widely-accepted
definition of what the version information should contain. Implementations are encouraged
to do something reasonably intelligent.

Scrivi
Storicamente ex ed vi message after a successful read or scrivere command specified
``characters'', not ``bytes''. POSIX.1‐2008 requires that the number of bytes be
displayed, not the number of characters because it may be difficult in multi-byte
implementations to determine the number of characters written. Implementations are
encouraged to clarify the message displayed to the user.

Implementation-defined tests are permitted so that implementations can make additional
checks; for example, for locks or file modification times.

Historically, attempting to append to a nonexistent file caused an error. It has been left
unspecified in POSIX.1‐2008 to permit implementations to let the scrivere succeed, so that
the append semantics are similar to those of the historical csh.

Direttori Storici vi permitted empty edit buffers to be written. However, since the way vi ha ottenuto
around dealing with ``empty'' files was to always have a line in the edit buffer, no
matter what, it wrote them as files of a single, empty line. POSIX.1‐2008 does not permit
questo comportamento.

Storicamente, ex restored standard output and standard error to their values as of when ex
was invoked, before writes to programs were performed. This could disturb the terminal
configuration as well as be a security issue for some terminals. POSIX.1‐2008 does not
permit this, requiring that the program output be captured and displayed as if by the ex
stampare comando.

Regola Finestra
Historically, the line count was set to the value of the scorrere option if the type
character was end-of-file. This feature was broken on most historical implementations long
ago, however, and is not documented anywhere. For this reason, POSIX.1‐2008 is resolutely
silenzioso.

Storicamente z command was <blank>-sensitive and z + ed z - did different things
di z+ ed z− because the type could not be distinguished from a flag. (The commands z .
ed z = were historically invalid.) POSIX.1‐2008 requires conformance to this historical
pratica.

Storicamente z command was further <blank>-sensitive in that the contare Potrebbe non essere
<blank>-delimited; for example, the commands z= 5 ed z− 5 were also invalid. Because the
contare is not ambiguous with respect to either the type character or the flags, this is not
permitted by POSIX.1‐2008.

Fuga
Storicamente, ex filter commands only read the standard output of the commands, letting
standard error appear on the terminal as usual. The vi utility, however, read both
standard output and standard error. POSIX.1‐2008 requires the latter behavior for both ex
ed vi, for consistency.

Shift sinistra ed Shift La giusta
Historically, it was possible to add shift characters to increase the effect of the
command; for example, << outdented (or >>> indented) the lines 3 levels of indentation
instead of the default 1. POSIX.1‐2008 requires conformance to historical practice.

-D
Historically, the <control>‐D command erased the prompt, providing the user with an
unbroken presentation of lines from the edit buffer. This is not required by POSIX.1‐2008;
implementations are encouraged to provide it if possible. Historically, the <control>‐D
command took, and then ignored, a contare. POSIX.1‐2008 does not permit this behavior.

Scrivi linea Numero
Storicamente ex = command, when executed in ex mode in an empty edit buffer, reported
0, and from open or visual mode, reported 1. For consistency and simplicity of
specification, POSIX.1‐2008 does not permit this behavior.

Eseguire
Storicamente, ex did not correctly handle the inclusion of text input commands (that is,
aggiungere, inserte il cambiamento) in executed buffers. POSIX.1‐2008 does not permit this
exclusion for consistency.

Historically, the logical contents of the buffer being executed did not change if the
buffer itself were modified by the commands being executed; that is, buffer execution did
not support self-modifying code. POSIX.1‐2008 requires conformance to historical practice.

Storicamente @ command took a range of lines, and the @ buffer was executed once per
line, with the current line (".") set to each specified line. POSIX.1‐2008 requires
conformità alla pratica storica.

Some historical implementations did not notice if errors occurred during buffer execution.
This, coupled with the ability to specify a range of lines for the ex @ command, makes it
trivial to cause them to drop core. POSIX.1‐2008 requires that implementations stop
buffer execution if any error occurs, if the specified line doesn't exist, or if the
contents of the edit buffer itself are replaced (for example, the buffer executes the ex
edit: comando).

Regolare Espressioni in ex
Historical practice is that the characters in the replacement part of the last s command—
that is, those matched by entering a '~' in the regular expression—were not further
expanded by the regular expression engine. So, if the characters contained the string
"a.," they would match 'un' seguito da ".," e non 'un' followed by any character.
POSIX.1-2008 richiede la conformità alla pratica storica.

Modifica Opzioni in ex
The following paragraphs describe the historical behavior of some edit options that were
not, for whatever reason, included in POSIX.1‐2008. Implementations are strongly
encouraged to only use these names if the functionality described here is fully supported.

I edit option has been used in some implementations of vi fornire
extended regular expressions instead of basic regular expressions This option
was omitted from POSIX.1‐2008 because it is not widespread historical practice.

flash I flash edit option historically caused the screen to flash instead of beeping
on error. This option was omitted from POSIX.1‐2008 because it is not found in
some historical implementations.

hardtabs I hardtabs edit option historically defined the number of columns between
hardware tab settings. This option was omitted from POSIX.1‐2008 because it was
believed to no longer be generally useful.

modeline I modeline (sometimes named modelines) edit option historically caused ex or
vi to read the five first and last lines of the file for editor commands. This
option is a security problem, and vendors are strongly encouraged to delete it
from historical implementations.

aprire I aprire edit option historically disallowed the ex aprire ed visivo comandi.
This edit option was omitted because these commands are required by
POSIX.1‐2008.

ottimizzare I ottimizzare edit option historically expedited text throughput by setting the
terminal to not do automatic <carriage-return> characters when printing more
than one logical line of output. This option was omitted from POSIX.1‐2008
because it was intended for terminals without addressable cursors, which are
rarely, if ever, still used.

righello I righello edit option has been used in some implementations of vi presentare a
current row/column ruler for the user. This option was omitted from POSIX.1‐2008
because it is not widespread historical practice.

sourceany I sourceany edit option historically caused ex or vi to source start-up files
that were owned by users other than the user running the editor. This option is
a security problem, and vendors are strongly encouraged to remove it from their
implementazioni.

timeout I timeout edit option historically enabled the (now standard) feature of only
waiting for a short period before returning keys that could be part of a macro.
This feature was omitted from POSIX.1‐2008 because its behavior is now standard,
it is not widely useful, and it was rarely documented.

verboso I verboso edit option has been used in some implementations of vi causare vi
to output error messages for common errors; for example, attempting to move the
cursor past the beginning or end of the line instead of only alerting the
screen. (The historical vi only alerted the terminal and presented no message
for such errors. The historical editor option conciso did not select when to
present error messages, it only made existing error messages more or less
verbose.) This option was omitted from POSIX.1‐2008 because it is not widespread
historical practice; however, implementors are encouraged to use it if they wish
to provide error messages for naive users.

wraplen I wraplen edit option has been used in some implementations of vi specificare
an automatic margin measured from the left margin instead of from the right
margin. This is useful when multiple screen sizes are being used to edit a
single file. This option was omitted from POSIX.1‐2008 because it is not
widespread historical practice; however, implementors are encouraged to use it
if they add this functionality.

indentazione automatica, ai
Historically, the command 0a did not do any autoindentation, regardless of the current
indentation of line 1. POSIX.1‐2008 requires that any indentation present in line 1 be
Usato.

stampa automatica, ap
Storicamente stampa automatica edit option was not completely consistent or based solely on
modifications to the edit buffer. Exceptions were the read command (when reading from a
file, but not from a filter), the aggiungere, il cambiamento, insert, globalee v commands, all of
which were not affected by stampa automatica, e il etichetta command, which was affected by
stampa automatica. POSIX.1‐2008 requires conformance to historical practice.

Storicamente stampa automatica option only applied to the last of multiple commands entered
using <vertical-line> delimiters; for example, delete <newline> was affected by stampa automatica,
ma delete|version <newline> was not. POSIX.1‐2008 requires conformance to historical
pratica.

scrittura automatica, aw
Appending the '!' personaggio al ex GENERAZIONE command to avoid performing an automatic write
was not supported in historical implementations. POSIX.1‐2008 requires that the behavior
match the other ex commands for consistency.

ignora maiuscole e minuscole, ic
Historical implementations of case-insensitive matching (the ignoracaso edit option) lead
to counter-intuitive situations when uppercase characters were used in range expressions.
Historically, the process was as follows:

1. Take a line of text from the edit buffer.

2. Convert uppercase to lowercase in text line.

3. Convert uppercase to lowercase in regular expressions, except in character class
specifiche.

4. Match regular expressions against text.

This would mean that, with ignoracaso in effect, the text:

I gatto sat on , il tappetino

would be matched by

/^the/

but not by:

/^[A−Z]he/

For consistency with other commands implementing regular expressions, POSIX.1‐2008 does
not permit this behavior.

paragrafi, per
The ISO POSIX‐2:1993 standard made the default paragrafi ed sezioni modifica opzioni
implementation-defined, arguing they were historically oriented to the UNIX system trof
text formatter, and a ``portable user'' could use the {, }, [[, ]], (e ) comandi in
open or visual mode and have the cursor stop in unexpected places. POSIX.1‐2008 specifies
their values in the POSIX locale because the unusual grouping (they only work when grouped
into two characters at a time) means that they cannot be used for general-purpose
movement, regardless.

in sola lettura
Implementations are encouraged to provide the best possible information to the user as to
the read-only status of the file, with the exception that they should not consider the
current special privileges of the process. This provides users with a safety net because
they must force the overwrite of read-only files, even when running with additional
privilegi.

I in sola lettura edit option specification largely conforms to historical practice. The only
difference is that historical implementations did not notice that the user had set the
in sola lettura edit option in cases where the file was already marked read-only for some reason,
and would therefore reinitialize the in sola lettura edit option the next time the contents of
the edit buffer were replaced. This behavior is disallowed by POSIX.1‐2008.

rapporto
The requirement that lines copied to a buffer interact differently than deleted lines is
historical practice. For example, if the rapporto edit option is set to 3, deleting 3 lines
will cause a report to be written, but 4 lines must be copied before a report is written.

The requirement that the ex globale, v, aprire, disfaree visivo commands present reports
based on the total number of lines added or deleted during the command execution, and that
commands executed by the globale ed v commands not present reports, is historical
practice. POSIX.1‐2008 extends historical practice by requiring that buffer execution be
treated similarly. The reasons for this are two-fold. Historically, only the report by the
last command executed from the buffer would be seen by the user, as each new report would
overwrite the last. In addition, the standard developers believed that buffer execution
had more in common with globale ed v commands than it did with other ex comandi, e
should behave similarly, for consistency and simplicity of specification.

spettacolo, sm
The length of time the cursor spends on the matching character is unspecified because the
timing capabilities of systems are often inexact and variable. The time should be long
enough for the user to notice, but not long enough for the user to become annoyed. Some
implementazioni di vi hanno aggiunto un matchtime option that permits users to set the number
of 0,1 second intervals the cursor pauses on the matching character.

showmode
I showmode option has been used in some historical implementations of ex ed vi a
display the current editing mode when in open or visual mode. The editing modes have
generally included ``command'' and ``input'', and sometimes other modes such as
``replace'' and ``change''. The string was usually displayed on the bottom line of the
screen at the far right-hand corner. In addition, a preceding '*' character often denoted
whether the contents of the edit buffer had been modified. The latter display has
sometimes been part of the showmode option, and sometimes based on another option. This
option was not available in the 4 BSD historical implementation of vi, but was viewed as
generally useful, particularly to novice users, and is required by POSIX.1‐2008.

I SMD stenografia per il showmode option was not present in all historical
implementations of the editor. POSIX.1‐2008 requires it, for consistency.

Not all historical implementations of the editor displayed a mode string for command mode,
differentiating command mode from text input mode by the absence of a mode string.
POSIX.1‐2008 permits this behavior for consistency with historical practice, but
implementations are encouraged to provide a display string for both modes.

slowopen
Storicamente slowopen option was automatically set if the terminal baud rate was less
than 1200 baud, or if the baud rate was 1200 baud and the ridisegnare option was not set. The
slowopen option had two effects. First, when inserting characters in the middle of a line,
characters after the cursor would not be pushed ahead, but would appear to be overwritten.
Second, when creating a new line of text, lines after the current line would not be
scrolled down, but would appear to be overwritten. In both cases, ending text input mode
would cause the screen to be refreshed to match the actual contents of the edit buffer.
Finally, terminals that were sufficiently intelligent caused the editor to ignore the
slowopen option. POSIX.1‐2008 permits most historical behavior, extending historical
practice to require slowopen behaviors if the edit option is set by the user.

tag
The default path for tags files is left unspecified as implementations may have their own
tag implementations that do not correspond to the historical ones. The default tag
option value should probably at least include the file ./tags.

termine
implementazioni storiche di ex ed vi ignored changes to the termine edit option after the
initial terminal information was loaded. This is permitted by POSIX.1‐2008; however,
implementations are encouraged to permit the user to modify their terminal type at any
tempo.

conciso
Storicamente conciso edit option optionally provided a shorter, less descriptive error
message, for some error messages. This is permitted, but not required, by POSIX.1‐2008.
Historically, most common visual mode errors (for example, trying to move the cursor past
the end of a line) did not result in an error message, but simply alerted the terminal.
Implementations wishing to provide messages for novice users are urged to do so based on
, il edit opzione verboso, e non conciso.

finestra
In historical implementations, the default for the finestra edit option was based on the
baud rate as follows:

1. If the baud rate was less than 1200, the edit opzione w300 set the window value; for
example, the line:

set w300=12

would set the window option to 12 if the baud rate was less than 1200.

2. If the baud rate was equal to 1200, the edit opzione w1200 set the window value.

3. If the baud rate was greater than 1200, the edit opzione w9600 set the window value.

I w300, w1200e w9600 options do not appear in POSIX.1‐2008 because of their
dependence on specific baud rates.

In historical implementations, the size of the window displayed by various commands was
related to, but not necessarily the same as, the finestra edit option. For example, the size
of the window was set by the ex command visivo 10, but it did not change the value of the
finestra edit option. However, changing the value of the finestra edit option did change the
number of lines that were displayed when the screen was repainted. POSIX.1‐2008 does not
permit this behavior in the interests of consistency and simplicity of specification, and
requires that all commands that change the number of lines that are displayed do it by
impostando il valore di finestra opzione di modifica.

margine avvolgente, wm
Storicamente wrapmargin option did not affect maps inserting characters that also had
associato contares; for example :carta geografica K 5aABC DEF. Unfortunately, there are widely used
maps that depend on this behavior. For consistency and simplicity of specification,
POSIX.1‐2008 non consente questo comportamento.

Storicamente, wrapmargin was calculated using the column display width of all characters
on the screen. For example, an implementation using "^I" to represent <tab> characters
quando l' stratagemma edit option was set, where '^' ed 'IO' each took up a single column on the
screen, would calculate the wrapmargin based on a value of 2 for each <tab>. The numero
edit option similarly changed the effective length of the line as well. POSIX.1‐2008
requires conformance to historical practice.

Le versioni precedenti di questo standard consentivano implementazioni con byte diversi da otto
bit, ma questo è stato modificato in questa versione.

FUTURE INDICAZIONI


Nessuno.

Use exposix online using onworks.net services


Server e workstation gratuiti

Scarica app per Windows e Linux

  • 1
    Phaser
    Phaser
    Phaser è un open veloce, gratuito e divertente
    framework di gioco HTML5 di origine che offre
    Rendering WebGL e Canvas attraverso
    browser Web desktop e mobili. Giochi
    può essere co...
    Scarica Phaser
  • 2
    Motore VASSAL
    Motore VASSAL
    VASSAL è un motore di gioco per creare
    versioni elettroniche della scheda tradizionale
    e giochi di carte. Fornisce supporto per
    rendering e interazione dei pezzi di gioco,
    e ...
    Scarica il motore VASSAL
  • 3
    OpenPDF - Fork di iText
    OpenPDF - Fork di iText
    OpenPDF è una libreria Java per la creazione
    e la modifica di file PDF con un LGPL e
    Licenza open source MPL. OpenPDF è il
    LGPL/MPL successore open source di iText,
    un ...
    Scarica OpenPDF - Fork di iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Sistema per Automatizzato
    Analisi Geoscientifiche - è un Geografico
    Software del sistema informativo (GIS) con
    immense capacità per i dati geografici
    elaborazione e ana...
    Scarica SAGA GIS
  • 5
    Toolbox per Java/JTOpen
    Toolbox per Java/JTOpen
    IBM Toolbox per Java / JTOpen è un
    libreria di classi Java che supportano il
    client/server e programmazione internet
    modelli su un sistema che esegue OS/400,
    i5/OS, o...
    Scarica Toolbox per Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (o D3 per i documenti basati sui dati)
    è una libreria JavaScript che ti consente
    produrre dati dinamici e interattivi
    visualizzazioni nei browser web. Con D3
    tu...
    Scarica D3.js
  • Di Più "

Comandi Linux

  • 1
    adiff
    adiff
    abidiff - confronta gli ABI dei file ELF
    abidiff confronta il binario dell'applicazione
    Interfacce (ABI) di due librerie condivise
    in formato ELF. Emette un significato
    rapporto...
    Esegui abidif
  • 2
    abidw
    abidw
    abidw - serializza l'ABI di un ELF
    il file abidw legge una libreria condivisa in ELF
    formato ed emette una rappresentazione XML
    del suo ABI all’output standard. IL
    emesso...
    Corri costantemente
  • 3
    copac2xml
    copac2xml
    bibutils - conversione della bibliografia
    utilità...
    Esegui copac2xml
  • 4
    copto
    copto
    copt - ottimizzatore spioncino SYSNOPIS:
    copt file.. DESCRIZIONE: copt è un file
    ottimizzatore spioncino generico. Esso
    legge il codice dal suo input standard e
    scrive un...
    Corri copto
  • 5
    collect_stx_titles
    collect_stx_titles
    collect_stx_titles - raccogli il titolo
    dichiarazioni da documenti Stx...
    Eseguire collect_stx_titles
  • 6
    panca-gatling
    panca-gatling
    panca - benchmark http ...
    Esegui gatling-panca
  • Di Più "

Ad