InglesPransesEspanyol

Ad


OnWorks favicon

exposix - Online sa Cloud

Patakbuhin ang exposix sa OnWorks na libreng hosting provider sa Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

Ito ang command exposix na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


ex — text editor

SINOPSIS


ex [−rR] [−s|−v] [−c utos] [−t tagstring] [−w laki] [file...]

DESCRIPTION


Ang ex Ang utility ay isang line-oriented na text editor. Mayroong dalawang iba pang mga mode ng editor—
bukas at visual—kung saan available ang pag-edit na nakatuon sa screen. Ito ay inilarawan nang higit pa
ganap ng ex buksan at nakikita utos at sa vi.

Kung ang isang operand ay '−', ang mga resulta ay hindi natukoy.

Ginagamit ng seksyong ito ang termino i-edit nagpapahina ng lakas upang ilarawan ang kasalukuyang gumaganang teksto. Walang tiyak
ipinahihiwatig ng terminong ito ang pagpapatupad. Ang lahat ng mga pagbabago sa pag-edit ay ginagawa sa pag-edit
buffer, at walang pagbabago dito ang makakaapekto sa anumang file hanggang sa isulat ng isang editor command ang
file.

Ang ilang mga terminal ay walang lahat ng mga kakayahan na kinakailangan upang suportahan ang kumpletong ex
kahulugan, tulad ng mga full-screen na utos sa pag-edit (nakikita paraan or buksan paraan). Kailan
ang mga utos na ito ay hindi maaaring suportahan sa mga naturang terminal, ang kundisyong ito ay hindi makakapagdulot ng isang
mensahe ng error tulad ng `` hindi isang utos ng editor'' o mag-ulat ng error sa syntax. Ang
ang pagpapatupad ay maaaring tanggapin ang mga utos at makagawa ng mga resulta sa screen na
ang resulta ng isang hindi matagumpay na pagtatangka upang matugunan ang mga kinakailangan ng volume na ito ng
POSIX.1‐2008 o mag-ulat ng error na naglalarawan sa kakulangan na nauugnay sa terminal.

Opsyon


Ang ex ang utility ay dapat umayon sa Base Definition volume ng POSIX.1–2008, seksyon 12.2,
Gamit palaugnayan Mga Alituntunin, maliban sa hindi natukoy na paggamit ng '−', At na '+' maaaring hindi
kinikilala bilang isang pagpipilian delimiter pati na rin '−'.

Ang mga sumusunod na opsyon ay dapat suportahan:

−c utos
Tukuyin ang isang paunang utos na isasagawa sa unang pag-edit ng buffer na na-load mula sa
isang umiiral na file (tingnan ang seksyong EXTENDED DESCRIPTION). Ang mga pagpapatupad ay maaaring
sumusuporta ng higit sa isang solong −c opsyon. Sa ganitong mga pagpapatupad, ang tinukoy
ang mga utos ay dapat isakatuparan sa pagkakasunud-sunod na tinukoy sa linya ng utos.

−r I-recover ang pinangalanang mga file (tingnan ang seksyong EXTENDED DESCRIPTION). Pagbawi
ang impormasyon para sa isang file ay dapat i-save sa panahon ng pag-crash ng editor o system (para sa
halimbawa, kapag ang editor ay winakasan ng isang senyas na maaaring makuha ng editor),
o pagkatapos ng paggamit ng isang ex pangalagaan utos.

A kalabog sa kontekstong ito ay isang hindi inaasahang pagkabigo ng system o utility na
nangangailangan ng pag-restart ng nabigong sistema o utility. Ipinahihiwatig iyon ng pag-crash ng system
ang anumang mga utility na tumatakbo sa oras ay nag-crash din. Sa kaso ng isang editor o sistema
crash, ang bilang ng mga pagbabago sa buffer sa pag-edit (mula noong pinakabago pangalagaan
command) na mababawi ay hindi natukoy.

Kung hindi file operand ay ibinigay at ang −t opsyon ay hindi tinukoy, lahat ng iba pa
mga pagpipilian, ang EXINIT variable, at anuman .exrc hindi papansinin ang mga file; isang listahan ng mga
lahat ng nare-recover na file na available sa gumagamit ng invoking ay isusulat, at ang
ang editor ay lalabas nang normal nang walang karagdagang aksyon.

−R Itakda Basahin lamang opsyon sa pag-edit.

−s Maghanda ex para sa batch na paggamit sa pamamagitan ng pagsasagawa ng mga sumusunod na aksyon:

* Pigilan ang pagsusulat ng mga senyas at impormasyon (ngunit hindi diagnostic) na mga mensahe.

* Huwag pansinin ang halaga ng TERM at anumang uri ng default na terminal ng pagpapatupad at
ipagpalagay na ang terminal ay isang uri na walang kakayahang suportahan ang bukas o visual na mga mode;
tingnan ang nakikita utos at ang paglalarawan ng vi.

* Pigilan ang paggamit ng EXINIT variable ng kapaligiran at ang pagbabasa ng anuman
.exrc file; tingnan ang seksyong EXTENDED DESCRIPTION.

* Pigilan ang autoindentation, binabalewala ang halaga ng autoindent opsyon sa pag-edit.

−t tagstring
I-edit ang file na naglalaman ng tinukoy tagstring; tingnan ctags. Ang tampok na tag
kinatawan ni −t tagstring at ang mga tag Ang utos ay opsyonal. Ito ay magiging
na ibinigay sa anumang sistema na nagbibigay din ng naaayon na pagpapatupad ng ctags;
kung hindi, ang paggamit ng −t nagdudulot ng hindi natukoy na mga resulta. Sa anumang sistema, ito ay dapat
isang error upang tukuyin ang higit sa isang solong −t pagpipilian.

−v Magsimula sa visual mode (tingnan vi).

−w laki Itakda ang halaga ng bintana pagpipiliang editor sa laki.

MGA OPERAND


Ang sumusunod na operand ay dapat suportahan:

file Isang pathname ng isang file na ie-edit.

STDIN


Ang karaniwang input ay binubuo ng isang serye ng mga command at input text, gaya ng inilarawan sa
Seksyon ng EXTENDED DESCRIPTION. Maaaring limitahan ng pagpapatupad ang bawat linya ng karaniwang input sa
isang haba ng {LINE_MAX}.

Kung ang karaniwang input ay hindi isang terminal device, ito ay dapat na parang ang −s naging opsyon
tinukoy.

Kung ang isang nabasa mula sa karaniwang input ay nagbabalik ng isang error, o kung ang editor ay nakakita ng isang pagtatapos ng
kondisyon ng file mula sa karaniwang input, ito ay dapat na katumbas ng isang SIGHUP asynchronous
kaganapan.

INPUT MGA FILE


Ang mga input file ay mga text file o mga file na magiging text file maliban sa isang hindi kumpleto
huling linya na hindi lalampas sa {LINE_MAX}−1 byte ang haba at walang NUL
mga karakter. Bilang default, ang anumang hindi kumpletong huling linya ay dapat ituring na parang may trailing
. Ang pag-edit ng iba pang mga anyo ng mga file ay maaaring opsyonal na pinapayagan ng ex
mga pagpapatupad.

Ang .exrc mga file at source file ay dapat na mga text file na binubuo ng ex mga utos; tingnan ang
Seksyon ng EXTENDED DESCRIPTION.

Bilang default, dapat basahin ng editor ang mga linya mula sa mga file na ie-edit nang hindi binibigyang-kahulugan
alinman sa mga linyang iyon bilang anumang anyo ng utos ng editor.

Kapaligiran MGA VARIABLE


Ang mga sumusunod na variable ng kapaligiran ay dapat makaapekto sa pagpapatupad ng ex:

COLUMNS I-override ang pinili ng system na pahalang na laki ng screen. Tingnan ang Base Definition
dami ng POSIX.1–2008, Kabanata 8, kapaligiran Variable para sa mga wastong halaga at
resulta kapag ito ay hindi nakatakda o null.

EXINIT Tukuyin ang isang listahan ng ex mga utos na isinasagawa sa pagsisimula ng editor. Tingnan ang
Seksyon ng EXTENDED DESCRIPTION para sa higit pang mga detalye ng yugto ng pagsisimula.

HOME Tukuyin ang isang pathname ng isang direktoryo na hahanapin para sa pagsisimula ng editor-
up file na pinangalanan .exrc; tingnan ang seksyong EXTENDED DESCRIPTION.

WIKA Magbigay ng default na halaga para sa mga variable ng internationalization na hindi nakatakda o
wala. (Tingnan ang dami ng Base Definition ng POSIX.1–2008, seksyon 8.2,
internationalization Variable para sa pangunguna sa internasyonalisasyon
mga variable na ginagamit upang matukoy ang mga halaga ng mga lokal na kategorya.)

LC_ALL Kung nakatakda sa isang walang laman na halaga ng string, i-override ang mga halaga ng lahat ng iba pa
mga variable ng internasyonalisasyon.

LC_COLLATE
Tukuyin ang lokal para sa pag-uugali ng mga saklaw, equivalence class, at multi-
character collating elements sa loob ng mga regular na expression.

LC_CTYPE Tukuyin ang lokal para sa interpretasyon ng mga pagkakasunud-sunod ng mga byte ng data ng teksto
bilang mga character (halimbawa, single-byte kumpara sa multi-byte na character sa
argumento at input file), ang pag-uugali ng mga klase ng character sa loob ng regular
expression, ang pag-uuri ng mga character bilang malaki o maliit na titik,
ang kaso ng conversion ng mga titik, at ang pagtuklas ng mga hangganan ng salita.

LC_MESSAGES
Tukuyin ang lokal na dapat gamitin upang makaapekto sa format at mga nilalaman ng
mga mensaheng diagnostic na nakasulat sa karaniwang error.

MGA LINYA I-override ang pinili ng system na vertical na laki ng screen, na ginamit bilang bilang ng mga linya
sa isang screenful at ang vertical na laki ng screen sa visual mode. Tingnan ang Base
Dami ng mga kahulugan ng POSIX.1–2008, Kabanata 8, kapaligiran Variable para may bisa
mga halaga at resulta kapag ito ay hindi nakatakda o null.

NLSPATH Tukuyin ang lokasyon ng mga katalogo ng mensahe para sa pagproseso ng LC_MESSAGES.

PATH Tukuyin ang path ng paghahanap para sa shell command na tinukoy sa ex editor
utos !, talukap ng alimango, basahin, at magsulat, at ang open at visual mode command !; tingnan
ang paglalarawan ng command search at execution sa seksyon 2.9.1.1, Utos
paghahanap at Pagpapatupad.

KABIBI Tukuyin ang gustong command line interpreter para gamitin bilang default na halaga ng
ang talukap ng alimango opsyon sa pag-edit.

TERM Tukuyin ang pangalan ng uri ng terminal. Kung ang variable na ito ay hindi nakatakda o null, an
hindi tinukoy na default na uri ng terminal ang gagamitin.

ASYNCHRONOUS KAGANAPAN


Ang sumusunod na termino ay ginagamit dito at sa mga sumusunod na seksyon upang tukuyin ang command at
asynchronous na pagkilos ng kaganapan:

matapos magsulat
Ang kumpletong pagsulat ay isang pagsulat ng buong nilalaman ng buffer sa pag-edit sa isang file
ng isang uri maliban sa isang terminal device, o ang pag-save ng edit buffer na dulot
ng gumagamit na nagpapatupad ng ex pangalagaan utos. Pagsusulat ng nilalaman ng pag-edit
buffer sa isang pansamantalang file na aalisin kapag ang editor ay hindi dapat lumabas
maituturing na isang kumpletong pagsulat.

Ang mga sumusunod na aksyon ay dapat gawin sa pagtanggap ng mga signal:

SIGINT Kung ang karaniwang input ay hindi isang terminal device, ex hindi dapat isulat ang file o
bumalik sa command o text input mode, at lalabas na may non-zero exit
status.

Kung hindi, kung nagsasagawa ng isang bukas o visual na text input mode na command, ex sa resibo
ng SIGINT ay dapat kumilos nang kapareho sa pagtanggap nito ng karakter.

Kung hindi:

1. Kung nagsasagawa ng isang ex utos ng text input mode, lahat ng linya ng input na naging
ganap na ipinasok ay dapat malutas sa buffer sa pag-edit, at anumang bahagyang
ang ipinasok na linya ay itatapon.

2. Kung mayroong kasalukuyang nagsasagawa ng utos, dapat itong i-abort at isang mensahe
ipinapakita. Maliban kung tinukoy ng ex or vi paglalarawan ng utos,
ito ay hindi natukoy kung anumang mga linya na binago ng utos na nagpapatupad ay lilitaw
binago, o tulad ng mga ito bago binago ng utos na nagpapatupad, sa
ang buffer.

Kung ang kasalukuyang nagsasagawa ng command ay isang motion command, nauugnay ito
utos ay itatapon.

3. Kung nasa open o visual command mode, ang terminal ay dapat alertuhan.

4. Ang editor ay babalik sa command mode.

SIGCONT Ire-refresh ang screen kung nasa open o visual mode.

SIGHUP Kung ang buffer sa pag-edit ay nabago mula noong huling kumpletong pagsulat, ex Dapat
subukang i-save ang buffer sa pag-edit upang ito ay mabawi sa ibang pagkakataon gamit ang −r
opsyon o ang ex mabawi utos. Hindi dapat isulat ng editor ang file o ibalik
sa command o text input mode, at magwawakas nang may non-zero exit status.

SIGTERM Sumangguni sa SIGHUP.

Ang pagkilos na ginawa para sa lahat ng iba pang signal ay hindi tinukoy.

STDOUT


Ang karaniwang output ay dapat gamitin lamang para sa pagsulat ng mga senyas sa gumagamit, para sa impormasyon
mga mensahe, at para sa pagsulat ng mga linya mula sa file.

STDERR


Ang karaniwang error ay dapat gamitin lamang para sa mga diagnostic na mensahe.

oUTPUT MGA FILE


Ang output mula sa ex ay mga text file.

LALAKI DESCRIPTION


Tanging ang ex mode ng editor ay inilarawan sa seksyong ito. Tingnan mo vi para sa karagdagang pag-edit
mga kakayahan na magagamit sa ex.

Kapag may naganap na error, ex magsulat ng mensahe. Kung sinusuportahan ng terminal ang isang standout mode
(tulad ng kabaligtaran na video), ang mensahe ay isusulat sa standout mode. Kung ang terminal
ay hindi sumusuporta sa isang standout mode, at ang opsyon sa pag-edit errorbells ay nakatakda, isang alertong aksyon
dapat mauna sa mensahe ng error.

Sa pamamagitan ng default, ex magsisimula sa command mode, na dapat ipahiwatig ng a : prompt; tingnan mo
ang prompt utos. Ang mode ng pag-input ng teksto ay maaaring ipasok ng apendend, isingit, O baguhin
mga utos; maaari itong lumabas (at muling ipasok ang command mode) sa pamamagitan ng pag-type ng a ('.') nag-iisa
sa simula ng isang linya.

Pinasimulan in ex at vi
Ang mga sumusunod na simbolo ay ginagamit dito at sa mga sumusunod na seksyon upang tukuyin ang mga lokasyon sa
i-edit ang buffer:

alternatibo at kasalukuyan mga pathname
Dalawang pathname, pinangalanan kasalukuyan at alternatibo, ay pinananatili ng editor. Anuman ex
Ang mga utos na kumukuha ng mga filename bilang mga argumento ay dapat magtakda ng mga ito bilang mga sumusunod:

1. Kung a file ang argumento ay tinukoy sa ex i-edit, ex, O mabawi mga utos, o kung
an ex mga tag Pinapalitan ng command ang mga nilalaman ng buffer sa pag-edit.

a. Kung pinapalitan ng command ang mga nilalaman ng buffer sa pag-edit, ang kasalukuyang
dapat itakda ang pathname sa file argumento o ang file na ipinahiwatig ng tag,
at ang kahaliling pathname ay itatakda sa dating halaga ng kasalukuyang
pangalan ng landas.

b. Kung hindi, ang kahaliling pangalan ng path ay itatakda sa file argumento.

2. Kung a file ang argumento ay tinukoy sa ex susunod utos:

a. Kung pinapalitan ng command ang mga nilalaman ng buffer sa pag-edit, ang kasalukuyang
ang pathname ay itatakda sa una file argument, at ang kahaliling pangalan ng path
ay dapat itakda sa dating halaga ng kasalukuyang pathname.

3. Kung a file ang argumento ay tinukoy sa ex file command, ang kasalukuyang pathname
ay itatakda sa file argument, at ang kahaliling pangalan ng path ay itatakda sa
ang dating halaga ng kasalukuyang pathname.

4. Kung a file ang argumento ay tinukoy sa ex basahin at magsulat mga utos (iyon ay, kapag
pagbabasa o pagsulat ng file, at hindi sa program na pinangalanan ng talukap ng alimango i-edit
opsyon), o a file ang argumento ay tinukoy sa ex xit utos:

a. Kung ang kasalukuyang pathname ay walang halaga, ang kasalukuyang pathname ay itatakda sa
ang file argumento.

b. Kung hindi, ang kahaliling pangalan ng path ay itatakda sa file argumento.

Kung ang kahaliling pathname ay nakatakda sa dating halaga ng kasalukuyang pathname kung kailan
ang kasalukuyang pathname ay walang dating halaga, kung gayon ang kahaliling pathname ay magkakaroon
walang halaga bilang resulta.

kasalukuyan linya
Ang linya ng buffer sa pag-edit na isinangguni ng cursor. Ang bawat paglalarawan ng utos
tumutukoy sa kasalukuyang linya pagkatapos na maisakatuparan ang utos, bilang ang kasalukuyan linya
halaga. Kapag ang edit buffer ay walang mga linya, ang kasalukuyang linya ay dapat na zero; tingnan mo
Pagtugon in ex.

kasalukuyan haligi
Ang kasalukuyang column ng display line na inookupahan ng cursor. (Ang mga hanay ay dapat
may bilang na nagsisimula sa 1.) Tinutukoy ng bawat paglalarawan ng command ang kasalukuyang column
pagkatapos maisagawa ang utos, bilang ang kasalukuyan haligi halaga. Ang column na ito ay isang
tamang-tama column na naaalala sa buong buhay ng editor. Ang aktwal na pagpapakita
line column kung saan nakapatong ang cursor ay maaaring iba sa kasalukuyang column;
tingnan ang talakayan sa pagpoposisyon ng cursor Utos Mga paglalarawan in vi.

itakda sa hindi-
Isang paglalarawan para sa kasalukuyang halaga ng column, ibig sabihin, ang kasalukuyang column ay dapat
nakatakda sa huling hanay ng linya ng display kung saan ipinapakita ang alinmang bahagi ng una
hindi- ng linya. Kung ang linya ay walang hindi- hindi- mga karakter,
ang kasalukuyang column ay dapat itakda sa huling display line column kung saan
ipinakita ang anumang bahagi ng huling hindi- karakter sa linya. Kung ang linya ay
walang laman, ang kasalukuyang column ay dapat itakda sa column position 1.

Ang haba ng mga linya sa buffer sa pag-edit ay maaaring limitado sa {LINE_MAX} bytes. Sa bukas at
visual mode, ang haba ng mga linya sa edit buffer ay maaaring limitado sa bilang ng
mga character na babagay sa display. Kung ang alinman sa limitasyon ay lumampas sa panahon ng pag-edit, isang
isusulat ang mensahe ng error. Kung ang alinman sa limitasyon ay nalampasan ng isang linyang nabasa mula sa isang file,
isang mensahe ng error ang dapat isulat at ang sesyon ng pag-edit ay maaaring wakasan.

Kung ang editor ay huminto sa pagtakbo dahil sa anumang dahilan maliban sa isang utos ng user, at ang pag-edit
Ang buffer ay binago mula noong huling kumpletong pagsulat, ito ay katumbas ng isang SIGHUP
asynchronous na kaganapan. Kung nag-crash ang system, ito ay katumbas ng isang SIGHUP asynchronous
kaganapan.

Sa panahon ng pagsisimula (bago makopya ang unang file sa edit buffer o sinumang user
ang mga utos mula sa terminal ay naproseso) ang mga sumusunod ay magaganap:

1. Kung ang variable ng kapaligiran EXINIT ay nakatakda, dapat isagawa ng editor ang ex utos
nakapaloob sa variable na iyon.

2. Kung ang EXINIT variable ay hindi nakatakda, at lahat ng sumusunod ay totoo:

a. Ang HOME environment variable ay hindi null at hindi walang laman.

b. Ang file .exrc sa direktoryong tinutukoy ng HOME variable ng kapaligiran:

i. Umiiral

ii. Pagmamay-ari ng parehong user ID bilang tunay na user ID ng proseso o ng
ang proseso ay may naaangkop na mga pribilehiyo

iii. Ay hindi maaaring isulat ng sinuman maliban sa may-ari

dapat isakatuparan ng editor ang ex mga utos na nakapaloob sa file na iyon.

3. Kung at kung ang lahat ng sumusunod ay totoo:

a. Ang kasalukuyang direktoryo ay hindi tinutukoy ng HOME variable ng kapaligiran.

b. Isang utos sa EXINIT variable ng kapaligiran o isang utos sa .exrc file sa
direktoryo na tinutukoy ng HOME ang environment variable ay nagtatakda ng opsyong editor
exrc.

c. Ang .exrc file sa kasalukuyang direktoryo:

i. Umiiral

ii. Pagmamay-ari ng parehong user ID bilang ang tunay na user ID ng proseso, o ng isa sa
isang hanay ng mga user ID na tinukoy sa pagpapatupad

iii. Ay hindi maaaring isulat ng sinuman maliban sa may-ari

dapat subukan ng editor na isagawa ang ex mga utos na nakapaloob sa file na iyon.

Mga linya sa alinman .exrc ang file na mga blangkong linya ay hindi papansinin. Kung mayroon man .exrc mayroong file,
ngunit hindi binabasa para sa pagmamay-ari o mga dahilan ng pahintulot, ito ay magiging isang pagkakamali.

Pagkatapos ng EXINIT variable at anuman .exrc pinoproseso ang mga file, ang unang file na tinukoy ni
ang gumagamit ay dapat i-edit, tulad ng sumusunod:

1. Kung tinukoy ng gumagamit ang −t opsyon, ang epekto ay dapat na parang ang ex mga tag utos ay
ipinasok kasama ang tinukoy na argumento, maliban na kung ang pagpoproseso ng tag ay ginagawa
hindi magreresulta sa isang file na i-edit, ang epekto ay dapat gaya ng inilarawan sa hakbang 3. sa ibaba.

2. Kung hindi, kung tinukoy ng user ang anumang command line file argumento, ang magiging epekto ay
parang ang ex i-edit Ang utos ay ipinasok kasama ang una sa mga argumentong iyon bilang nito file
argumento.

3. Kung hindi, ang epekto ay parang ang ex i-edit utos ay ipinasok na may a
nonexistent filename bilang nito file argumento. Ito ay hindi tinukoy kung ang aksyon na ito ay dapat
itakda ang kasalukuyang pathname. Sa isang pagpapatupad kung saan hindi itinakda ng pagkilos na ito ang
kasalukuyang pathname, anumang utos ng editor na gumagamit ng kasalukuyang pathname ay mabibigo hanggang sa isang
itinatakda ng utos ng editor ang kasalukuyang pathname.

Kung ang −r ang opsyon ay tinukoy, sa unang pagkakataon na isang file sa unang listahan ng argumento o a
file na tinukoy ng −t ang opsyon ay na-edit, kung ang impormasyon sa pagbawi ay dati nang nai-edit
na nai-save tungkol dito, ang impormasyong iyon ay mababawi at ang editor ay dapat kumilos na parang ang
nabago na ang mga nilalaman ng buffer sa pag-edit. Kung mayroong maraming mga pagkakataon ng
ang file na mababawi, ang pinakakamakailang nai-save ay bawiin, at isang
impormasyong mensahe na may mga nakaraang bersyon ng file na maaaring mabawi
isusulat. Kung walang available na impormasyon sa pagbawi tungkol sa isang file, isang impormasyon
ang mensahe sa ganitong epekto ay dapat isulat, at ang pag-edit ay magpapatuloy gaya ng dati.

Kung ang −c ang opsyon ay tinukoy, sa unang pagkakataon na may file na mayroon na (kabilang ang a
file na maaaring wala ngunit kung saan available ang impormasyon sa pagbawi, kapag ang −r
ang opsyon ay tinukoy) pinapalitan o pinasimulan ang mga nilalaman ng buffer sa pag-edit, ang kasalukuyang
ang linya ay dapat itakda sa huling linya ng buffer sa pag-edit, ang kasalukuyang column ay dapat itakda sa
hindi- , at ang ex mga utos na tinukoy kasama ng −c ang pagpipilian ay dapat isakatuparan. Dito sa
kaso, ang kasalukuyang linya at kasalukuyang column ay hindi dapat itakda gaya ng inilarawan para sa command
nauugnay sa pagpapalit o pagsisimula ng mga nilalaman ng buffer sa pag-edit. Gayunpaman, kung
ang −t opsyon o a mga tag Ang utos ay nauugnay sa pagkilos na ito, ang −c mga utos ng opsyon
ay dapat isakatuparan at pagkatapos ay ang paggalaw sa tag ay isasagawa.

Ang kasalukuyang listahan ng argumento ay dapat na unang itakda sa mga filename na tinukoy ng user sa
ang command line. Kung walang mga filename na tinukoy ng user, ang kasalukuyang listahan ng argumento
ay walang laman. Kung ang −t ang opsyon ay tinukoy, ito ay hindi natukoy kung anumang filename
na nagreresulta mula sa pagpoproseso ng tag ay dapat idagdag sa kasalukuyang listahan ng argumento. Sa kaso
kung saan ang filename ay idinagdag bilang prefix sa kasalukuyang listahan ng argumento, ang kasalukuyang argumento
itatakda ang listahan ng reference sa filename na iyon. Sa kaso kung saan ang filename ay hindi idinagdag
bilang prefix sa kasalukuyang listahan ng argumento, ang kasalukuyang sanggunian sa listahan ng argumento ay dapat
lohikal na matatagpuan bago ang una sa mga filename na tinukoy sa command line (para sa
halimbawa, isang kasunod ex susunod dapat i-edit ng command ang unang filename mula sa command
linya). Kung ang −t ang opsyon ay hindi tinukoy, ang kasalukuyang sanggunian sa listahan ng argumento ay sa
ang una sa mga filename sa command line.

Pagtugon in ex
Pag-address sa ex nauugnay sa kasalukuyang linya at kasalukuyang hanay; ang address ng isang linya
ay ang 1-based na numero ng linya nito, ang address ng isang column ay ang 1-based na bilang nito mula sa
simula ng linya. Sa pangkalahatan, ang kasalukuyang linya ay ang huling linya na apektado ng isang command.
Ang kasalukuyang numero ng linya ay ang address ng kasalukuyang linya. Sa bawat paglalarawan ng utos,
ang epekto ng utos sa kasalukuyang numero ng linya at ang kasalukuyang hanay ay inilarawan.

Ang mga address ay ginawa tulad ng sumusunod:

1. Ang karakter '.' (panahon) ay dapat tumugon sa kasalukuyang linya.

2. Ang karakter '$' dapat tugunan ang huling linya ng buffer sa pag-edit.

3. Ang positibong decimal na numero n ay tutugunan ang nika-linya ng buffer sa pag-edit.

4. Ang address "'x" ay tumutukoy sa linyang minarkahan ng karakter ng pangalan ng marka 'x', Na
ay dapat na maliit na titik mula sa portable character set, ang backquote na character,
o ang single-quote na karakter. Ito ay magiging isang error kung ang linya na minarkahan ay hindi
kasalukuyang naroroon sa edit buffer o ang marka ay hindi pa naitakda. Maaaring markahan ang mga linya
sa ex markahan or k mga utos, o ang vi m utos.

5. Isang regular na expression na nakapaloob sa mga karakter ('/') ay dapat tumugon sa unang linya
natagpuan sa pamamagitan ng paghahanap ng pasulong mula sa linya na sumusunod sa kasalukuyang linya patungo sa dulo ng
ang edit buffer at paghinto sa unang linya kung saan ang linya ay hindi kasama ang
pagwawakas tumutugma sa regular na expression. Gaya ng nakasaad sa regular expression
in ex, isang address na binubuo ng isang null na regular na expression na nililimitahan ng
mga karakter ("//") ay dapat tugunan ang susunod na linya kung saan ang linya ay hindi kasama ang
pagwawakas tumutugma sa huling regular na expression na nakatagpo. At saka,
ang ikalawa maaaring tanggalin sa dulo ng isang command line. Kung ang wrapscan i-edit
ang opsyon ay nakatakda, ang paghahanap ay dapat bumabalot sa simula ng buffer sa pag-edit at
magpatuloy hanggang sa at kasama ang kasalukuyang linya, upang ang buong buffer sa pag-edit ay
hinanap. Sa loob ng regular na expression, ang sequence "\/" ay kumakatawan sa isang literal
sa halip na ang regular na expression delimiter.

6. Isang regular na expression na nakapaloob mga karakter ('?') ay tutugunan ang
unang linya na natagpuan sa pamamagitan ng paghahanap pabalik mula sa linya na nauuna sa kasalukuyang linya
patungo sa simula ng buffer sa pag-edit at huminto sa unang linya kung saan ang
linya na hindi kasama ang pagwawakas tumutugma sa regular na expression. Isang address
na binubuo ng isang null na regular na expression na nililimitahan ng mga karakter ("??")
dapat tugunan ang nakaraang linya kung saan ang linya ay hindi kasama ang pagwawakas
tumutugma sa huling regular na expression na nakatagpo. Bilang karagdagan, ang pangalawa
mark> ay maaaring tanggalin sa dulo ng isang command line. Kung ang wrapscan nakatakda ang opsyon sa pag-edit,
ang paghahanap ay dapat bumabalot mula sa simula ng buffer sa pag-edit hanggang sa dulo ng
i-edit ang buffer at magpatuloy hanggang sa at kabilang ang kasalukuyang linya, upang ang buong pag-edit
hinanap ang buffer. Sa loob ng regular na expression, ang sequence "\?" ay kumakatawan sa a
literal sa halip na ang RE delimiter.

7. A ('+') o isang minus-sign ('−') na sinusundan ng isang decimal na numero ay dapat tugunan
ang kasalukuyang linya plus o minus ang numero. A '+' or '−' hindi sinusundan ng decimal
dapat tugunan ng numero ang kasalukuyang linya plus o minus 1.

Maaaring sundan ang mga address ng zero o higit pang mga offset ng address, opsyonal -hiwalay.
Ang mga offset ng address ay ginawa tulad ng sumusunod:

1. Ang '+' or '−' kaagad na sinusundan ng isang decimal na numero ay dapat magdagdag (magbawas) ng
ipinahiwatig na bilang ng mga linya patungo sa (mula) sa address. A '+' or '−' hindi sinusundan ng a
Ang decimal na numero ay dapat magdagdag (magbawas) ng 1 sa (mula) sa address.

2. Dapat idagdag ng decimal na numero ang ipinahiwatig na bilang ng mga linya sa address.

Hindi dapat maging isang error para sa isang intermediate na halaga ng address na mas mababa sa zero o mas malaki
kaysa sa huling linya sa buffer sa pag-edit. Ito ay dapat na isang error para sa panghuling halaga ng address sa
mas mababa sa zero o mas malaki kaysa sa huling linya sa buffer sa pag-edit.

Ang mga utos ay kumukuha ng zero, isa, o dalawang address; tingnan ang mga paglalarawan ng 1addr at 2addr in
Utos Mga paglalarawan in ex. Kung higit sa kinakailangang bilang ng mga address ang ibinigay sa
isang utos na nangangailangan ng zero na mga address, ito ay dapat na isang error. Kung hindi, kung higit pa sa
kinakailangang bilang ng mga address ay ibinibigay sa isang utos, ang mga address ay unang tinukoy
ay susuriin at pagkatapos ay itapon hanggang sa mananatili ang maximum na bilang ng mga wastong address.

Ang mga address ay dapat ihiwalay sa isa't isa sa pamamagitan ng a (',') o a (';').
Kung walang tinukoy na address bago o pagkatapos ng a o separator, ito ay dapat
na parang tinukoy ang address ng kasalukuyang linya bago o pagkatapos ng separator. Nasa
kaso ng a separator, ang kasalukuyang linya ('.') ay dapat itakda sa una
address, at pagkatapos lamang ay kakalkulahin ang susunod na address. Ang tampok na ito ay maaaring gamitin sa
tukuyin ang panimulang linya para sa pasulong at paatras na mga paghahanap (tingnan ang mga panuntunan 5. at 6.).

A ('%') ay katumbas ng pagpasok ng dalawang address "1,$".

Anumang delimiting mga character sa pagitan ng mga address, separator ng address, o address
ang mga offset ay itatapon.

Utos Linya Nagpaparada in ex
Ang sumusunod na simbolo ay ginagamit dito at sa mga sumusunod na seksyon upang ilarawan ang pag-uugali ng pag-parse:

makatakas Kung ang isang character ay tinutukoy bilang `` -nakatakas'' o `` -V-
escaped'', ito ay nangangahulugan na ang karakter ay nakakuha o nawalan ng isang espesyal na kahulugan
sa pamamagitan ng pagiging nauna, ayon sa pagkakabanggit, ng a o -V
karakter. Maliban kung tinukoy, ang tumatakas na karakter ay dapat itapon
sa oras na iyon at hindi na dapat isaalang-alang para sa anumang layunin.

Ang pag-parse ng command-line ay dapat gawin sa mga sumusunod na hakbang. Para sa bawat hakbang, mga character
ang nasuri na ay hindi papansinin; ibig sabihin, ang pariralang ``nangungunang tauhan'' ay tumutukoy sa
ang susunod na karakter na hindi pa nasusuri.

1. Nangunguna dapat laktawan ang mga karakter.

2. Nangunguna dapat laktawan ang mga karakter.

3. Kung ang nangungunang karakter ay isang double-quote na karakter, ang mga character hanggang sa at
kabilang ang susunod na hindi -nakatakas ay itatapon, at anumang
ang mga kasunod na character ay dapat i-parse bilang isang hiwalay na utos.

4. Ang mga nangungunang karakter na maaaring bigyang kahulugan bilang mga address ay dapat suriin; tingnan mo
Pagtugon in ex.

5. Nangunguna dapat laktawan ang mga karakter.

6. Kung ang susunod na tauhan ay a tauhan o a :

a. Kung ang susunod na tauhan ay a :

i. Kung ex ay nasa open o visual mode, ang kasalukuyang linya ay dapat itakda sa huli
tinukoy ang address, kung mayroon man.

ii. Kung hindi, kung ang huling utos ay winakasan ng a karakter,
walang aksyon na dapat gawin; halimbawa, ang utos "|| " Dapat
magsagawa ng dalawang ipinahiwatig na utos, hindi tatlo.

iii. Kung hindi, hakbang 6.b. dapat mag-aplay.

b. Kung hindi, ang ipinahiwatig na utos ay ang i-print utos. Ang huli #, p, at l
mga flag na tinukoy sa alinman ex ang utos ay dapat tandaan at dapat itong ilapat
ipinahiwatig na utos. Isinasagawa ang ex numero, i-print, O listahan utos ay dapat magtakda ng
naalala ang mga flag sa #, wala, at l, ayon sa pagkakabanggit, kasama ang anumang iba pang mga flag
tinukoy para sa pagpapatupad ng numero, i-print, O listahan utos.

If ex ay kasalukuyang hindi gumaganap ng a global or v utos, at walang address o bilang
ay tinukoy, ang kasalukuyang linya ay dapat na dagdagan ng 1 bago ang utos ay
pinaandar. Kung ang pagdaragdag sa kasalukuyang linya ay magreresulta sa isang address na lampas sa
huling linya sa edit buffer, ang utos ay mabibigo, at ang pagtaas ay hindi
mangyari.

c. Ang o ang karakter ay dapat itapon at anumang kasunod nito
ang mga character ay dapat i-parse bilang isang hiwalay na utos.

7. Ang pangalan ng command ay dapat binubuo ng susunod na karakter (kung ang karakter ay hindi
alphabetic), o ang susunod na character at anumang kasunod na alphabetic na character (kung ang
ang karakter ay alpabeto), na may mga sumusunod na pagbubukod:

a. Mga utos na binubuo ng anumang prefix ng mga character sa pangalan ng command alisin,
sinundan kaagad ng alinman sa mga karakter 'l', 'p', '+', '−', O '#' ay magiging
binibigyang kahulugan bilang a alisin utos, na sinusundan ng a , na sinusundan ng mga karakter
na hindi bahagi ng unlapi ng alisin utos. Ang maximum na bilang ng
ang mga character ay dapat itugma sa pangalan ng command alisin; Halimbawa, "del" Dapat
hindi tratuhin bilang "de" sinundan ng bandila l.

b. Mga utos na binubuo ng tauhan 'k', na sinusundan ng isang karakter na maaaring
ginamit bilang pangalan ng isang marka, ay katumbas ng utos ng marka na sinusundan ng a
, na sinusundan ng karakter na sumunod sa 'k'.

c. Mga utos na binubuo ng tauhan 's', na sinusundan ng mga character na maaaring
binibigyang kahulugan bilang wastong mga opsyon sa s utos, ay magiging katumbas ng s
command, nang walang anumang pattern o kapalit na mga halaga, na sinusundan ng a ,
sinundan ng mga tauhan pagkatapos ng 's'.

8. Ang pangalan ng command ay dapat itugma laban sa mga posibleng pangalan ng command, at isang command
pangalan na naglalaman ng prefix na tumutugma sa mga character na tinukoy ng user ay ang
ipinatupad na utos. Sa kaso ng mga utos kung saan ang mga character na tinukoy ng user
maaaring malabo, ang naisakatuparan na utos ay ang mga sumusunod:

┌───┬────────┬┬───┬───────┬┬───‐┬──‐─┬
aapendend ││nsusunod ││tt
cbaguhin ││pi-print ││upaglansag-lansagin
chbaguhin ││pri-print ││unpaglansag-lansagin
ei-edit ││rbasahin ││vv
milipat ││rebasahin ││wmagsulat
mamarkahan ││ss ││ │ │
└───┴────────┴┴───┴───────┴┴───┴┴───┴───────┴┴──—─
Ang mga extension ng pagpapatupad na may mga pangalan na nagdudulot ng mga katulad na kalabuan ay hindi dapat suriin
para sa isang tugma hanggang sa lahat ng posibleng tugma para sa mga utos na tinukoy ng POSIX.1‐2008 ay mayroon
sinuri.

9. Kung ang utos ay a ! utos, o kung ang utos ay a basahin utos na sinusundan ng zero
o higit pang mga mga tauhan at a !, o kung ang utos ay a magsulat sumunod na utos
isa o higit pa mga tauhan at a !, ang natitirang bahagi ng utos ay dapat isama ang lahat
mga karakter hanggang sa isang hindi -nakatakas . Ang ay magiging
itinapon at anumang kasunod na mga character ay dapat i-parse bilang hiwalay ex utos.

10. Kung hindi, kung ang utos ay isang i-edit, ex, O susunod utos, o a nakikita utos habang
sa open o visual mode, ang susunod na bahagi ng command ay dapat i-parse tulad ng sumusunod:

a. Anuman '!' ang karakter kaagad na sumusunod sa utos ay dapat laktawan at maging bahagi
ng utos.

b. Kahit anong pangunguna ang mga character ay dapat laktawan at maging bahagi ng utos.

c. Kung ang susunod na tauhan ay a '+', mga character hanggang sa unang hindi- -nakatakas
o hindi- -nakatakas ay laktawan at maging bahagi ng
utos.

d. Ang natitirang bahagi ng utos ay dapat matukoy ng mga hakbang na tinukoy sa talata
12.

11. Kung hindi, kung ang utos ay a global, buksan, s, O v utos, ang susunod na bahagi ng
Ang utos ay dapat i-parse tulad ng sumusunod:

a. Kahit anong pangunguna ang mga character ay dapat laktawan at maging bahagi ng utos.

b. Kung ang susunod na character ay hindi alphanumeric, double-quote, ,
, o karakter:

i. Ang susunod na character ay dapat gamitin bilang command delimiter.

ii. Kung ang utos ay a global, buksan, O v command, mga character hanggang sa una
hindi- -nakatakas , o unang hindi- -nakatakas na delimiter
karakter, ay laktawan at maging bahagi ng utos.

iii. Kung ang utos ay isang s command, mga character hanggang sa una
hindi- -nakatakas , o pangalawang hindi- -nakatakas
delimiter character, dapat laktawan at maging bahagi ng utos.

c. Kung ang utos ay a global or v command, mga character hanggang sa una
hindi- -nakatakas dapat laktawan at maging bahagi ng utos.

d. Kung hindi, ang natitirang utos ay matutukoy ng mga hakbang na tinukoy sa
talata 12.

12. Kung hindi:

a. Kung ang utos ay a mapa, alisin ang mapa, pagpapaikli, O alisin sa ikli utos, mga karakter
hanggang sa unang hindi- ―V-nakatakas , , o doble-
quote character ay dapat laktawan at maging bahagi ng utos.

b. Kung hindi, ang mga character hanggang sa unang hindi- -nakatakas ,
, o double-quote na character ay dapat laktawan at maging bahagi ng
utos.

c. Kung ang utos ay isang apendend, baguhin, O isingit utos, at ang hakbang 12.b. natapos
sa a character, anumang kasunod na character, hanggang sa susunod
hindi- -nakatakas dapat gamitin bilang input text sa command.

d. Kung ang command ay tinapos ng isang double-quote na character, lahat ng kasunod na character,
hanggang sa susunod na hindi -nakatakas , ay itatapon.

e. Ang pagtatapos o ang karakter ay dapat itapon at anuman
ang mga kasunod na character ay dapat i-parse bilang hiwalay ex utos.

Ang mga argumento ng command ay dapat i-parse gaya ng inilarawan ng Synopsis at Paglalarawan ng bawat isa
indibiduwal ex utos. Ang pag-parse na ito ay hindi dapat -sensitibo, maliban sa !
argumento, na dapat sundin ang pangalan ng utos nang hindi nakikialam mga karakter, at
kung saan ito ay magiging malabo. Halimbawa, bilangin at bandila hindi kailangan ng mga argumento
-naghiwalay kasi "d22p" ay hindi malabo, ngunit file mga argumento sa ex susunod
ang utos ay dapat paghiwalayin ng isa o higit pa mga karakter. Anuman sa utos
mga argumento para sa pagpapaikli, alisin sa ikli, mapa, at alisin ang mapa ang mga utos ay maaaring -V-
nakatakas, kung saan ang ay hindi dapat gamitin bilang isang argumento delimiter. Anuman
sa command argument para sa anumang iba pang command ay maaaring -nakatakas, kung saan
na ay hindi dapat gamitin bilang isang argumento delimiter.

Sa loob ng mga argumento ng command para sa pagpapaikli, alisin sa ikli, mapa, at alisin ang mapa utos, anuman
maaaring maging karakter ―V-nakatakas. Lahat ng mga nakatakas na karakter ay dapat tratuhin
literal at walang espesyal na kahulugan. Sa loob ng mga argumento ng command para sa lahat ng iba pa ex
mga utos na hindi mga regular na expression o kapalit na mga string, anumang character na gagawin
kung hindi man ay may isang espesyal na kahulugan ay maaaring -nakatakas. Ang mga nakatakas na character ay dapat
tinatrato nang literal, nang walang espesyal na kahulugan bilang mga character ng pagpapalawak ng shell o '!', '%', at
'#' pagpapalawak ng mga character. Tingnan mo regular expression in ex at Kapalit String in ex para
mga paglalarawan ng mga argumento ng command na mga regular na expression o mga kapalit na string.

hindi- -nakatakas '%' mga character na lumilitaw sa file argumento sa alinman ex utos ay dapat
mapalitan ng kasalukuyang pathname; hindi nakatakas '#' ang mga karakter ay dapat palitan ng
kahaliling pangalan ng landas. Ito ay magiging isang pagkakamali kung '%' or '#' ang mga karakter ay lumilitaw na hindi nakatakas sa isang
argumento at ang kanilang mga katumbas na halaga ay hindi nakatakda.

hindi- -nakatakas '!' mga character sa mga argumento sa alinman sa ex ! utos o
ang bukas at visual na mode ! utos, o sa mga argumento sa ex basahin utos, kung saan ang
unang hindi- pagkatapos ng command name ay a '!' karakter, o sa mga argumento sa
ex magsulat command kung saan ang pangalan ng command ay sinusundan ng isa o higit pa mga karakter at
ang unang hindi pagkatapos ng command name ay a '!' karakter, ay dapat palitan ng
ang mga argumento hanggang sa huli sa tatlong utos na iyon habang lumilitaw ang mga ito pagkatapos ng lahat ay hindi nakatakas
'%', '#', at '!' pinalitan ang mga character. Ito ay magiging isang pagkakamali kung '!' character
lumilitaw na hindi nakatakas sa isa sa mga utos na ito at wala pang naunang pagpapatupad ng isa
ng mga utos na ito.

Kung ang isang error ay nangyari sa panahon ng pag-parse o pagpapatupad ng isang ex utos:

* Isang mensaheng nagbibigay-impormasyon sa ganitong epekto ay dapat isulat. Pagpapatupad ng ex utos
ay titigil, at ang cursor (halimbawa, ang kasalukuyang linya at column) ay hindi
binago pa.

* Kung ang ex command na nagresulta mula sa pagpapalawak ng mapa, lahat ng character mula sa mapa na iyon
ang pagpapalawak ay dapat itapon, maliban kung iba ang tinukoy ng mapa utos.

* Kung hindi, kung ang ex utos na nagresulta mula sa pagproseso ng isang EXINIT kapaligiran
variable, a .exrc file, a :pinagmulan utos, a −c opsyon, o a +utos tinukoy sa isang
ex i-edit, ex, susunod, O nakikita command, walang karagdagang utos mula sa pinagmulan ng
ang mga utos ay dapat isagawa.

* Kung hindi, kung ang ex utos na nagresulta mula sa pagpapatupad ng isang buffer o a global or v
command, walang karagdagang utos na dulot ng execution ng buffer o ng global or v
ipapatupad ang utos.

* Kung hindi, kung ang ex utos ay hindi winakasan ng a , lahat ng mga character hanggang sa
at kasama ang susunod na hindi -nakatakas ay itatapon.

input Pag-edit in ex
Ang sumusunod na simbolo ay ginagamit dito at sa mga sumusunod na seksyon upang tukuyin ang command
mga aksyon:

salita Sa lokal na POSIX, ang isang salita ay binubuo ng pinakamaraming pagkakasunud-sunod ng mga titik, numero,
at mga salungguhit, na nililimitahan sa magkabilang dulo ng mga character maliban sa mga titik,
mga digit, o mga salungguhit, o sa simula o dulo ng isang linya o ang buffer sa pag-edit.

Kapag tumatanggap ng mga input na character mula sa user, sa alinman ex command mode o ex input ng teksto
fashion, ex dapat paganahin ang canonical mode input processing, gaya ng tinukoy sa System Interfaces
dami ng POSIX.1–2008.

Kung nasa ex mode ng pag-input ng teksto:

1. Kung ang numero nakatakda ang opsyon sa pag-edit, ex dapat mag-prompt para sa input gamit ang numero ng linya na
ay itatalaga sa linya kung ito ay ipinasok, sa format na tinukoy para sa ex
numero utos.

2. Kung ang autoindent nakatakda ang opsyon sa pag-edit, ex dapat mag-prompt para sa paggamit ng input autoindent
mga karakter, gaya ng inilarawan ng autoindent opsyon sa pag-edit. autoindent mga karakter ay dapat
sundin ang numero ng linya, kung mayroon man.

Kung nasa ex command mode:

1. Kung ang prompt Ang opsyon sa pag-edit ay nakatakda, ang input ay ipo-prompt para sa paggamit ng isang solong ':'
karakter; kung hindi man, walang magiging prompt.

Ang mga input na character sa mga sumusunod na seksyon ay dapat magkaroon ng mga sumusunod na epekto sa
linya ng input.

balumbon
Buod:
eof

Tingnan ang paglalarawan ng stty eof karakter sa stty.

Kung nasa ex command mode:

Kung ang eof character ay ang unang character na ipinasok sa linya, ang linya ay dapat
sinusuri na parang naglalaman ito ng dalawang karakter: a -D at a .

Kung hindi man, ang eof ang karakter ay walang espesyal na kahulugan.

Kung nasa ex mode ng pag-input ng teksto:

Kung ang cursor ay sumusunod sa isang autoindent karakter, ang autoindent mga tauhan sa
linya ay dapat mabago upang ang isang bahagi ng susunod na text input character ay magiging
ipinapakita sa unang column sa linya pagkatapos ng nauna shiftwidth pagpipilian sa pag-edit
hangganan ng column, at ang user ay ipo-prompt muli para sa input para sa parehong linya.

Kung hindi, kung ang cursor ay sumusunod sa a '0', na sumusunod sa isang autoindent tauhan, at
ang '0' ay ang dating text input character, ang '0' at lahat autoindent
ang mga character sa linya ay itatapon, at ang gumagamit ay ipo-prompt muli para sa
input para sa parehong linya.

Kung hindi, kung ang cursor ay sumusunod sa a '^', na sumusunod sa isang autoindent tauhan, at
ang '^' ay ang dating text input character, ang '^' at lahat autoindent
ang mga character sa linya ay itatapon, at ang gumagamit ay ipo-prompt muli para sa
input para sa parehong linya. Bilang karagdagan, ang autoindent antas para sa susunod na linya ng pag-input
ay hango sa parehong linya kung saan ang autoindent antas para sa kasalukuyang
nakuha ang linya ng input.

Kung hindi, kung wala autoindent o text input na mga character sa linya, ang eof
ang karakter ay dapat itapon.

Kung hindi man, ang eof ang karakter ay walang espesyal na kahulugan.


Buod:

-J

Kung nasa ex command mode:

Dahilan upang ma-parse ang command line; Ang ‐J ay imamapa sa
para sa layuning ito.

Kung nasa ex mode ng pag-input ng teksto:

Tapusin ang kasalukuyang linya. Kung walang mga karakter maliban sa autoindent
mga character sa linya, ang lahat ng mga character sa linya ay itatapon.

Mag-prompt para sa text input sa isang bagong linya pagkatapos ng kasalukuyang linya. Kung ang autoindent i-edit
nakatakda ang opsyon, isang naaangkop na bilang ng autoindent ang mga character ay dapat idagdag bilang a
prefix sa linya gaya ng inilarawan ng ex autoindent opsyon sa pag-edit.


Buod:


Payagan ang pagpasok ng isang kasunod o ‐J bilang literal na karakter, nag-aalis
anumang espesyal na kahulugan na maaaring mayroon ito sa editor sa panahon ng text input mode. Ang
ang character ay dapat panatilihin at susuriin kapag ang command line ay na-parse, o nananatili at
kasama kapag ang input text ay naging bahagi ng edit buffer.

-V
Buod:
-V

Payagan ang pagpasok ng anumang kasunod na character bilang isang literal na character, na nag-aalis ng anumang espesyal
ibig sabihin ay maaaring mayroon ito sa editor sa panahon ng text input mode. Ang -V character
ay itatapon bago ma-parse ang command line o ang input text ay maging bahagi ng
i-edit ang buffer.

Kung ang functionality na ``literal next'' ay ginagawa ng pinagbabatayan na system, ito ay
pagpapatupad-tinukoy kung ang isang karakter maliban sa Ginagawa ni ‐V ang function na ito.

-W
Buod:
-W

Itapon ang ‐W, at ang salitang nauna dito sa input line, kasama ang alinman
mga karakter na sumusunod sa salita at nauuna sa -W. Kung ang ``salita
Ang pagpapagana ng burahin'' ay ginagawa ng pinagbabatayan na sistema, ito ay tinukoy sa pagpapatupad
kung isang karakter maliban sa ‐W ang gumaganap ng function na ito.

Utos Mga paglalarawan in ex
Ang mga sumusunod na simbolo ay ginagamit sa seksyong ito upang kumatawan sa mga modifier ng command. Ilan sa
ang mga modifier na ito ay maaaring tanggalin, kung saan ang mga tinukoy na default ay dapat gamitin.

1addr Isang address ng isang linya, na ibinigay sa alinman sa mga form na inilarawan sa Pagtugon in ex;
ang default ay ang kasalukuyang linya ('.'), maliban kung tinukoy.

Kung ang address ng linya ay zero, ito ay magiging isang error, maliban kung tinukoy sa
ang mga sumusunod na paglalarawan ng command.

Kung ang buffer sa pag-edit ay walang laman, at ang address ay tinukoy sa isang command na iba
kaysa =, apendend, isingit, buksan, ilagay, basahin, O nakikita, o ang address ay hindi zero,
ito ay magiging isang pagkakamali.

2addr Dalawang address na tumutukoy sa isang napapabilang na hanay ng mga linya. Kung walang mga address
tinukoy, ang default para sa 2addr ang kasalukuyang linya lamang (".,."), maliban kung
kung hindi man ay tinukoy sa mga sumusunod na paglalarawan ng command. Kung ang isang address ay
tinukoy, 2addr dapat tukuyin ang linyang iyon lamang, maliban kung tinukoy sa
sumusunod na mga paglalarawan ng utos.

Ito ay magiging isang error kung ang unang address ay mas malaki kaysa sa pangalawang address.

Kung ang buffer sa pag-edit ay walang laman, at ang dalawang address ay tinukoy gamit ang isang utos
bukod sa !, magsulat, wq, O xit commands, o alinman sa address ay hindi zero, ito
ay magiging isang pagkakamali.

bilangin Isang positibong decimal na numero. Kung bilangin ay tinukoy, ito ay katumbas ng
pagtukoy ng karagdagang address sa command, maliban kung tinukoy ng
ang mga sumusunod na paglalarawan ng command. Ang karagdagang address ay dapat na katumbas ng
huling address na tinukoy sa command (alinman sa tahasan o bilang default) plus
bilangin−1.

Kung ito ay magreresulta sa isang address na mas malaki kaysa sa huling linya ng pag-edit
buffer, ito ay itatama upang katumbas ng huling linya ng edit buffer.

flag Isa o higit pa sa mga karakter '+', '−', '#', 'p', O 'l' (ell). Ang bandila
ang mga character ay maaaring -hiwalay, at sa anumang pagkakasunud-sunod o kumbinasyon. Ang
character '#', 'p', at 'l' dapat maging sanhi ng mga linya na maisulat sa format
tinukoy ng i-print utos na may tinukoy flag.

Ang mga linyang isusulat ay ang mga sumusunod:

1. Lahat ng i-edit ang buffer lines na nakasulat sa panahon ng pagpapatupad ng ex &, ~, listahan,
numero, buksan, i-print, s, nakikita, at z ang mga utos ay dapat isulat ayon sa tinukoy
by flag.

2. Matapos makumpleto ang isang ex utos na may watawat bilang argumento, ang
kasalukuyang linya ay dapat isulat gaya ng tinukoy ng flag, maliban kung ang kasalukuyang linya
ay ang huling linya na isinulat ng utos.

Ang mga tauhan '+' at '−' sanhi ng halaga ng kasalukuyang linya pagkatapos ng
pagpapatupad ng ex utos na iakma ng offset na address tulad ng inilarawan sa
Pagtugon in ex. Ang pagsasaayos na ito ay dapat mangyari bago ang kasalukuyang linya
nakasulat tulad ng inilarawan sa 2. sa itaas.

Ang default para sa flag ay wala.

nagpapahina ng lakas Isa sa isang bilang ng mga pinangalanang lugar para sa paghawak ng teksto. Ang mga pinangalanang buffer ay tinukoy
sa pamamagitan ng mga alphanumeric na character ng POSIX locale. Magkakaroon din ng isa
``walang pangalan'' buffer. Kapag walang buffer na tinukoy para sa mga utos ng editor na gumagamit ng a
buffer, ang hindi pinangalanang buffer ay dapat gamitin. Mga utos na nag-iimbak ng teksto sa mga buffer
dapat mag-imbak ng teksto tulad ng dati bago magkabisa ang utos, at dapat mag-imbak
text na nagaganap nang mas maaga sa file bago ang text na nagaganap mamaya sa file,
hindi alintana kung paano tinukoy ang rehiyon ng teksto. Mga utos na nag-iimbak ng text sa
dapat iimbak ng mga buffer ang teksto sa hindi pinangalanang buffer pati na rin ang anumang tinukoy
buffer.

In ex command, ang mga pangalan ng buffer ay tinukoy bilang ang pangalan mismo. Sa bukas o
utos ng visual mode na ang pangalan ay pinangungunahan ng double-quote ('"') karakter.

Kung ang tinukoy na pangalan ng buffer ay isang uppercase na character, at ang mga nilalaman ng buffer
ay dapat baguhin, ang buffer ay dapat idagdag sa halip na maging
na-overwrite. Kung hindi binabago ang buffer, tinutukoy ang pangalan ng buffer sa
Ang maliit at malalaking titik ay dapat magkaroon ng magkatulad na mga resulta.

Magkakaroon din ng mga buffer na pinangalanan ng mga numero 1 hanggang 9. Sa bukas at visual
mode, kung ang isang rehiyon ng teksto na may kasamang mga character mula sa higit sa isang linya ay
binago ng vi c or d commands, ang motion character na nauugnay sa
ang c or d Tinutukoy ng mga command na ang buffer text ay nasa line mode, o ang
utos %, `, /, ?, (, ), N, n, {, O } ay ginagamit upang tukuyin ang isang rehiyon ng teksto para sa
ang c or d command, ang mga nilalaman ng buffer 1 hanggang 8 ay dapat ilipat sa
buffer na pinangalanan ng susunod na mas malaking halaga, ang mga nilalaman ng buffer 9
ay itatapon, at ang rehiyon ng teksto ay dapat kopyahin sa buffer 1. Ito
ay dapat bilang karagdagan sa pagkopya ng teksto sa isang buffer na tinukoy ng gumagamit o hindi pinangalanan
buffer, o pareho. Ang mga numeric na buffer ay maaaring tukuyin bilang isang source buffer para sa bukas
at visual mode command; gayunpaman, ang pagtukoy ng numeric buffer bilang write
target ng isang open o visual mode command ay dapat magkaroon ng hindi tinukoy na mga resulta.

Ang teksto ng bawat buffer ay dapat magkaroon ng katangian na nasa alinmang linya o
character mode. Ang pagdaragdag ng teksto sa isang walang laman na buffer ay dapat magtakda ng mode upang tumugma
ang katangian ng tekstong idinagdag. Ang pagdaragdag ng teksto sa isang buffer ay dapat
maging sanhi ng paglikha ng hindi bababa sa isang karagdagang linya sa buffer. Lahat ng text
nakaimbak sa mga buffer ng ex Ang mga command ay dapat nasa line mode. Ang ex utos na
gumamit ng mga buffer bilang pinagmumulan ng teksto na indibidwal na tumutukoy kung paano naiiba ang mga buffer
ang mga mode ay pinangangasiwaan. Ang bawat open o visual mode command na gumagamit ng mga buffer para sa anuman
Ang layunin ay tumutukoy nang paisa-isa sa mode ng tekstong nakaimbak sa buffer at
kung paano pinangangasiwaan ang mga buffer ng iba't ibang mga mode.

file Text ng command na ginamit upang makakuha ng pathname. Ang default ay ang kasalukuyang
pathname, gaya ng tinukoy dati, kung saan, kung wala pang kasalukuyang pathname
naitatag na ito ay dapat na isang pagkakamali, maliban kung partikular na binanggit sa
mga indibidwal na paglalarawan ng utos na kasunod. Kung ang command text ay naglalaman ng anuman
ng mga karakter '~', '{', '[', '*', '?', '$', '"', backquote, single-quote,
at , ito ay sasailalim sa proseso ng ``shell expansion'',
tulad ng inilarawan sa ibaba; kung higit sa isang solong pathname ang resulta at ang command
isa lamang ang inaasahan, ito ay magiging isang pagkakamali.

Ang proseso ng pagpapalawak ng shell sa editor ay dapat gawin tulad ng sumusunod. Ang ex
Ang utility ay dapat magpasa ng dalawang argumento sa program na pinangalanan ng opsyon sa pag-edit ng shell;
ang una ay magiging −c, at ang pangalawa ay ang string "echo" at ang utos
teksto bilang isang argumento. Ang karaniwang output at karaniwang error niyan
Papalitan ng command ang text ng command.

! Isang character na maaaring idagdag sa pangalan ng command upang baguhin ang operasyon nito, bilang
detalyado sa mga indibidwal na paglalarawan ng command. Maliban sa ex
basahin, magsulat, at ! mga utos, ang '!' ang karakter ay dapat lamang kumilos bilang isang modifier kung
walang mga mga character sa pagitan nito at ng command name.

Naalala paghahanap utos
Ang vi utos N at n simulan ang paghahanap sa isang pasulong o pabalik na direksyon sa
ang buffer sa pag-edit batay sa isang natatandaang direksyon ng paghahanap, na sa simula
hindi nakatakda, at itinakda ng ex global, v, s, at mga tag mga utos, at ang vi / at ?
utos.

Pagpapaikli
Buod:
ab[paikliin][lhs rhs]

If lhs at rhs ay hindi tinukoy, isulat ang kasalukuyang listahan ng mga pagdadaglat at walang gawin
higit pa.

Maaaring paghigpitan ng mga pagpapatupad ang hanay ng mga character na tinatanggap sa lhs or rhs, maliban doon
napi-print na mga character at ang mga karakter ay hindi dapat paghihigpitan. Dagdag
ang mga paghihigpit ay dapat tukuyin sa pagpapatupad.

Sa pareho lhs at rhs, anumang karakter ay maaaring makatakas na may a ‐V, kung saan ang
hindi dapat gamitin ang karakter sa paglilimita lhs mula rhs, at ang pagtakas -V ay magiging
itinapon.

Sa bukas at visual na text input mode, kung hindi salita o karakter na hindi tinatakasan
ni a ‐V character ay ipinasok pagkatapos ng isang word character, isang tseke ay dapat gawin para sa a
set ng mga character na tumutugma lhs, sa text input na ipinasok sa panahon ng command na ito. Kung ito ay
natagpuan, ang epekto ay dapat na parang rhs ay ipinasok sa halip na lhs.

Ang hanay ng mga character na naka-check ay tinukoy bilang mga sumusunod:

1. Kung walang mga karakter na naipasok bago ang salita at hindi salita o mga karakter
na nag-trigger ng tseke, ang set ng mga character ay dapat na binubuo ng salitang character.

2. Kung ang tauhan ay isinisingit bago ang salita at di-salita o mga karakter na
na-trigger ang tseke ay isang character na salita, ang set ng mga character ay dapat na binubuo ng
mga character na ipinasok kaagad bago ang nag-trigger na mga character na salita
mga character, kasama ang nakaka-trigger na character ng salita.

3. Kung ang tauhan ay isinisingit bago ang salita at di-salita o mga karakter na
na-trigger ang tseke ay hindi isang salita character, ang hanay ng mga character ay dapat na binubuo ng
ang mga character na ipinasok bago ang nag-trigger na mga character na hindi
mga character o mga character ng salita, kasama ang nakaka-trigger na character ng salita.

Ito ay hindi tinukoy kung ang lhs argumentong ipinasok para sa ex pagpapaikli at alisin sa ikli
Ang mga utos ay pinapalitan sa ganitong paraan. Hindi alintana kung mangyari man o hindi ang kapalit,
ang epekto ng utos ay parang hindi nangyari ang kapalit.

kasalukuyan linya: Hindi nagbabago.

kasalukuyan haligi: Hindi nagbabago.

Mag-aplay
Buod:
[1addr] a[ppend][!]

Magpasok ex mode ng pag-input ng teksto; ang input text ay dapat ilagay pagkatapos ng tinukoy na linya. Kung linya
zero ay tinukoy, ang teksto ay dapat ilagay sa simula ng buffer sa pag-edit.

Ang utos na ito ay maaapektuhan ng numero at autoindent mga pagpipilian sa pag-edit; sumusunod sa
pangalan ng command na may '!' magdudulot ng autoindent i-edit ang setting ng opsyon upang i-toggle
ang tagal ng utos na ito lamang.

kasalukuyan linya: Itakda sa huling linya ng input; kung walang mga linyang na-input, itakda sa tinukoy
linya, o sa unang linya ng buffer sa pag-edit kung tinukoy ang isang linya ng zero, o zero kung
walang laman ang edit buffer.

kasalukuyan haligi: Itakda sa hindi- .

Mga argumento
Buod:
ar[gs]

Isulat ang kasalukuyang listahan ng argumento, kasama ang kasalukuyang argument-list entry, kung mayroon man, sa pagitan '['
at ']' character.

kasalukuyan linya: Hindi nagbabago.

kasalukuyan haligi: Hindi nagbabago.

Baguhin
Buod:
[2addr] c[hange][!][bilangin]

Magpasok ex mode ng pag-input ng teksto; dapat palitan ng input text ang mga tinukoy na linya. Ang tinukoy
Ang mga linya ay dapat kopyahin sa hindi pinangalanang buffer, na magiging isang line mode buffer.

Ang utos na ito ay maaapektuhan ng numero at autoindent mga pagpipilian sa pag-edit; sumusunod sa
pangalan ng command na may '!' magdudulot ng autoindent i-edit ang setting ng opsyon upang i-toggle
ang tagal ng utos na ito lamang.

kasalukuyan linya: Itakda sa huling linya ng input; kung walang mga linya na na-input, itakda sa linya bago
ang unang address, o sa unang linya ng buffer sa pag-edit kung walang mga linyang nauuna
ang unang address, o sa zero kung walang laman ang buffer sa pag-edit.

kasalukuyan haligi: Itakda sa hindi- .

Baguhin Directory
Buod:
chd[ir][!][direktoryo]
cd[!][direktoryo]

Baguhin ang kasalukuyang gumaganang direktoryo sa direktoryo.

Kung hindi direktoryo ang argumento ay tinukoy, at ang HOME ang variable ng kapaligiran ay nakatakda sa isang hindi
null at walang laman na halaga, direktoryo dapat default sa halagang pinangalanan sa HOME
variable ng kapaligiran. Kung ang HOME environment variable ay walang laman o hindi natukoy, ang
default na halaga ng direktoryo ay tinukoy sa pagpapatupad.

Kung hindi '!' ay idinagdag sa pangalan ng command, at ang edit buffer ay binago mula noon
ang huling kumpletong pagsulat, at ang kasalukuyang pathname ay hindi nagsisimula sa a '/', ito ay magiging
isang error.

kasalukuyan linya: Hindi nagbabago.

kasalukuyan haligi: Hindi nagbabago.

Kopyahin
Buod:
[2addr] co[py] 1addr [flag]
[2addr] t 1addr [flag]

Kopyahin ang mga tinukoy na linya pagkatapos ng tinukoy na linya ng patutunguhan; line zero ay tumutukoy na
ang mga linya ay dapat ilagay sa simula ng buffer sa pag-edit.

kasalukuyan linya: Itakda sa huling linya na kinopya.

kasalukuyan haligi: Itakda sa hindi- .

alisin
Buod:
[2addr] d[pumili][nagpapahina ng lakas][bilangin][flag]

Tanggalin ang mga tinukoy na linya sa isang buffer (nagde-default sa hindi pinangalanang buffer), na dapat
maging isang line-mode buffer.

Maaaring sundin kaagad ng mga flag ang pangalan ng command; tingnan mo Utos Linya Nagpaparada in ex.

kasalukuyan linya: Itakda sa linya kasunod ng mga tinanggal na linya, o sa huling linya sa pag-edit
buffer kung ang linyang iyon ay lampas sa dulo ng buffer sa pag-edit, o sa zero kung ang buffer sa pag-edit ay
walang laman

kasalukuyan haligi: Itakda sa hindi- .

Edit
Buod:
e[ito][!][+utos][file]
ex[!][+utos][file]

Kung hindi '!' ay idinagdag sa pangalan ng command, at ang edit buffer ay binago mula noon
ang huling kumpletong pagsulat, ito ay magiging isang error.

If file ay tinukoy, palitan ang kasalukuyang nilalaman ng buffer sa pag-edit ng kasalukuyang
nilalaman ng file, at itakda ang kasalukuyang pathname sa file. Kung file ay hindi tinukoy, palitan
ang kasalukuyang mga nilalaman ng buffer sa pag-edit kasama ang mga kasalukuyang nilalaman ng file na pinangalanan ng
kasalukuyang pathname. Kung sa anumang kadahilanan ang kasalukuyang nilalaman ng file ay hindi ma-access,
ang buffer sa pag-edit ay dapat na walang laman.

Ang +utos ang pagpipilian ay dapat -delimitado; mga karakter sa loob ng +utos maaari
makatakas sa pamamagitan ng unahan sa kanila ng a karakter. Ang +utos ay magiging
binibigyang kahulugan bilang isang ex utos kaagad pagkatapos ng mga nilalaman ng buffer sa pag-edit
pinalitan at ang kasalukuyang linya at column ay naitakda na.

Kung walang laman ang buffer sa pag-edit:

kasalukuyan linya: Itakda sa 0.

kasalukuyan haligi: Itakda sa 1.

Kung hindi, kung ipapatupad habang nasa ex command mode o kung ang +utos ang argumento ay tinukoy:

kasalukuyan linya: Itakda sa huling linya ng buffer sa pag-edit.

kasalukuyan haligi: Itakda sa hindi- .

Kung hindi man, kung file ay tinanggal o nagreresulta sa kasalukuyang pathname:

kasalukuyan linya: Itakda sa unang linya ng buffer sa pag-edit.

kasalukuyan haligi: Itakda sa hindi- .

Kung hindi man, kung file ay kapareho ng huling na-edit na file, ang linya at column ay dapat itakda
tulad ng sumusunod; kung ang file ay dati nang na-edit, ang linya at column ay maaaring itakda tulad ng sumusunod:

kasalukuyan linya: Itakda sa huling halaga na hawak noong huling na-edit ang file na iyon. Kung ang halagang ito ay
hindi isang wastong linya sa bagong buffer sa pag-edit, na itinakda sa unang linya ng buffer sa pag-edit.

kasalukuyan haligi: Kung ang kasalukuyang linya ay itinakda sa huling halaga na hawak noong huli ang file
na-edit, itinakda sa huling halagang hawak noong huling na-edit ang file. Kung hindi man, o kung ang
ang huling halaga ay hindi isang wastong column sa bagong buffer sa pag-edit, na itinakda sa hindi- .

Kung hindi:

kasalukuyan linya: Itakda sa unang linya ng buffer sa pag-edit.

kasalukuyan haligi: Itakda sa hindi- .

talaksan
Buod:
f[gaano karami][file]

Kung ang isang file ang argumento ay tinukoy, ang kahaliling pathname ay dapat itakda sa kasalukuyang
pathname, at ang kasalukuyang pathname ay itatakda sa file.

Sumulat ng mensaheng nagbibigay-kaalaman. Kung ang file ay may kasalukuyang pathname, dapat itong isama
sa mensaheng ito; kung hindi, ang mensahe ay magsasaad na walang kasalukuyang pathname.
Kung ang edit buffer ay naglalaman ng mga linya, ang kasalukuyang numero ng linya at ang bilang ng mga linya sa
ang edit buffer ay dapat isama sa mensaheng ito; kung hindi, ang mensahe ay magsasaad na
walang laman ang edit buffer. Kung binago ang buffer sa pag-edit mula noong huling kumpleto
sumulat, ang katotohanang ito ay isasama sa mensaheng ito. Kung ang Basahin lamang nakatakda ang opsyon sa pag-edit,
ang katotohanang ito ay dapat isama sa mensaheng ito. Ang mensahe ay maaaring maglaman ng iba pang hindi natukoy
impormasyon.

kasalukuyan linya: Hindi nagbabago.

kasalukuyan haligi: Hindi nagbabago.

Global
Buod:
[2addr] g[global] /huwaran/ [utos]
[2addr] v /huwaran/ [utos]

Ang opsyonal '!' karakter pagkatapos ng global ang utos ay kapareho ng pagpapatupad ng v
utos.

If huwaran ay walang laman (halimbawa, "//") o hindi tinukoy, ang huling regular na expression na ginamit
sa utos ng editor ay dapat gamitin bilang ang huwaran. ang huwaran maaaring itakda sa pamamagitan ng
mga character (ipinapakita sa Synopsis), gayundin ang anumang hindi alphanumeric o hindi
maliban sa , , , o double-quote.

Kung walang mga linya na tinukoy, ang mga linya ay dapat mag-default sa buong file.

Ang global at v Ang mga command ay lohikal na two-pass operations. Una, markahan ang mga linya sa loob
ang mga tinukoy na linya kung saan ang linya ay hindi kasama ang pagwawakas mga posporo
(global) o hindi tumutugma (v or global!) ang tinukoy na pattern. Pangalawa, isagawa ang ex
mga utos na ibinigay ng utos, kasama ang kasalukuyang linya ('.') itinakda sa bawat may markang linya. Kung ang
nagaganap ang error sa prosesong ito, o ang mga nilalaman ng buffer sa pag-edit ay pinalitan (para sa
halimbawa, sa pamamagitan ng ex edit: command) isang mensahe ng error ang isusulat at wala nang mga utos
na nagreresulta mula sa pagpapatupad ng utos na ito ay dapat iproseso.

Maramihang ex ang mga utos ay maaaring tukuyin sa pamamagitan ng pagpasok ng maramihang mga utos sa isang linya gamit
a upang limitahan ang mga ito, o isa sa bawat linya, sa pamamagitan ng pagtakas sa bawat isa may a
.

Kung walang mga utos na tinukoy:

1. Kung sa ex command mode, magiging parang ang i-print utos ay tinukoy.

2. Kung hindi, walang utos ang dapat isagawa.

Para sa apendend, baguhin, at isingit command, ang input text ay dapat isama bilang bahagi ng
ang utos, at ang pagwawakas maaaring tanggalin kung tatapusin ng command ang listahan ng
mga utos. Ang buksan at nakikita ang mga utos ay maaaring tukuyin bilang isa sa mga utos, kung saan
kaso ang bawat markang linya ay dapat maging sanhi ng editor na pumasok sa open o visual mode. Kung bukas o
Ang visual mode ay lumabas gamit ang vi Q command, ang kasalukuyang linya ay itatakda sa susunod
may markang linya, at bukas o visual na mode ay muling pumasok, hanggang sa ang listahan ng mga markang linya ay
pagod na pagod

Ang global, v, at paglansag-lansagin hindi magagamit ang mga utos sa utos. Maaaring tanggalin ang mga markang linya
sa pamamagitan ng mga utos na isinagawa para sa mga linyang nagaganap nang mas maaga sa file kaysa sa mga markang linya. Sa
sa kasong ito, walang mga utos ang dapat isagawa para sa mga tinanggal na linya.

Kung hindi nakatakda ang natatandaang direksyon sa paghahanap, ang global at v itatakda ito ng mga utos sa
pasulong.

Ang autoprint at autoindent ang mga opsyon sa pag-edit ay dapat na hadlangan para sa tagal ng g or
v utos.

kasalukuyan linya: Kung walang mga utos na naisakatuparan, itakda sa huling markang linya. Kung hindi, bilang
tinukoy para sa naisakatuparan ex utos.

kasalukuyan haligi: Kung walang mga utos na naisakatuparan, itakda sa hindi- ; kung hindi, gaya ng tinukoy
para sa indibidwal ex utos.

Isingit
Buod:
[1addr] i[nsert][!]

Magpasok ex mode ng pag-input ng teksto; ang input text ay dapat ilagay bago ang tinukoy na linya. Kung ang
linya ay zero o 1, ang teksto ay dapat ilagay sa simula ng buffer sa pag-edit.

Ang utos na ito ay maaapektuhan ng numero at autoindent mga pagpipilian sa pag-edit; sumusunod sa
pangalan ng command na may '!' magdudulot ng autoindent i-edit ang setting ng opsyon upang i-toggle
ang tagal ng utos na ito lamang.

kasalukuyan linya: Itakda sa huling linya ng input; kung walang mga linya na na-input, itakda sa linya bago
ang tinukoy na linya, o sa unang linya ng buffer sa pag-edit kung walang mga linya
nauuna sa tinukoy na linya, o zero kung walang laman ang buffer sa pag-edit.

kasalukuyan haligi: Itakda sa hindi- .

sumali
Buod:
[2addr] j[oin][!][bilangin][flag]

If bilangin ay tinukoy:

Kung walang tinukoy na address, ang sumali utos ay dapat kumilos na parang 2addr ay ang
kasalukuyang linya at ang kasalukuyang linya plus bilangin (.,. + bilangin).

Kung tinukoy ang isang address, ang sumali utos ay dapat kumilos na parang 2addr ay ang
tinukoy na address at ang tinukoy na address plus bilangin (addr,addr + bilangin).

Kung dalawang address ang tinukoy, ang sumali utos ay dapat kumilos na parang isang karagdagang
address, katumbas ng huling address plus bilangin −1 (addr1,addr2,addr2 + bilangin −1),
ay tinukoy.

Kung magreresulta ito sa pangalawang address na mas malaki kaysa sa huling linya ng pag-edit
buffer, dapat itong itama upang maging katumbas ng huling linya ng buffer sa pag-edit.

Kung hindi bilangin ay tinukoy:

Kung walang tinukoy na address, ang sumali utos ay dapat kumilos na parang 2addr ay ang
kasalukuyang linya at ang susunod na linya (.,. +1).

Kung tinukoy ang isang address, ang sumali utos ay dapat kumilos na parang 2addr ay ang
tinukoy na address at ang susunod na linya (addr,addr + 1).

Pagsamahin ang teksto mula sa mga tinukoy na linya sa isang linya, na dapat papalitan
ang mga tinukoy na linya.

Kung ang isang '!' character ay idinagdag sa pangalan ng command, ang sumali ay walang
pagbabago ng anumang linya, hiwalay sa kasalukuyang lokal.

Kung hindi, sa lokal na POSIX, itakda ang kasalukuyang linya sa una sa mga tinukoy na linya,
at pagkatapos, para sa bawat kasunod na linya, magpatuloy bilang sumusunod:

1. Itapon ang nangunguna mga character mula sa linyang sasalihan.

2. Kung ang linyang sasalihan ay walang laman na ngayon, tanggalin ito, at laktawan ang hakbang 3 hanggang 5.

3. Kung ang kasalukuyang linya ay nagtatapos sa a , o ang unang character ng linyang sasalihan
ay isang ')' character, sumali sa mga linya nang walang karagdagang pagbabago.

4. Kung ang huling karakter ng kasalukuyang linya ay a '.', pagsamahin ang mga linya na may dalawa
mga karakter sa pagitan nila.

5. Kung hindi, pagsamahin ang mga linya na may isang solong sa pagitan nila.

kasalukuyan linya: Itakda sa unang linyang tinukoy.

kasalukuyan haligi: Itakda sa hindi- .

listahan
Buod:
[2addr] l[ay][bilangin][flag]

Ang utos na ito ay katumbas ng ex utos:

[2addr] p[rint][bilangin] l[flag]

Tingnan Print.

mapa
Buod:
mapa[!][lhs rhs]

If lhs at rhs ay hindi tinukoy:

1. Kung '!' ay tinukoy, isulat ang kasalukuyang listahan ng mga mapa ng text input mode.

2. Kung hindi, isulat ang kasalukuyang listahan ng mga mapa ng command mode.

3. Wala nang gagawin pa.

Maaaring paghigpitan ng mga pagpapatupad ang hanay ng mga character na tinatanggap sa lhs or rhs, maliban doon
napi-print na mga character at ang mga karakter ay hindi dapat paghihigpitan. Dagdag
ang mga paghihigpit ay dapat tukuyin sa pagpapatupad. Sa pareho lhs at rhs, anumang karakter ay maaaring
nakatakas na may kasamang a ‐V, kung saan ang karakter ay hindi dapat gamitin sa paglilimita lhs
mula rhs, at ang pagtakas -V ay itatapon.

Kung ang karakter '!' ay nakadugtong sa mapa pangalan ng command, magiging epektibo ang pagmamapa
sa panahon ng bukas o visual na text input mode sa halip na buksan or nakikita command mode. Ito ay nagpapahintulot
lhs na magkaroon ng dalawang magkaibang mapa mga kahulugan sa parehong oras: isa para sa command mode at isa
para sa text input mode.

Para sa mga pagmamapa ng command mode:

Kapag ang lhs ay ipinasok bilang anumang bahagi ng a vi command sa open o visual mode (ngunit hindi
bilang bahagi ng mga argumento sa utos), ang aksyon ay dapat na parang ang
katumbas rhs ay ipinasok.

Kung ang anumang character sa command, maliban sa una, ay nakatakas gamit ang a
‐V character, ang karakter na iyon ay hindi dapat maging bahagi ng isang tugma sa isang lhs.

Ito ay hindi tinukoy kung ang mga pagpapatupad ay dapat na sumusuporta mapa utos kung saan ang lhs
ay higit sa isang character ang haba, kung saan ang unang character ng lhs is
napi-print.

If lhs naglalaman ng higit sa isang karakter at ang unang karakter ay '#', na sinusundan ng
isang sequence ng mga digit na tumutugma sa isang numbered function key, at kapag ito
ang function key ay nai-type kung saan ito imamapa rhs. Mga character maliban sa mga digit
pagsunod sa isang '#' kinakatawan din ng character ang function key na pinangalanan ng mga character
nasa lhs ng pagsunod sa mga '#' at maaaring ma-map sa rhs. Ito ay hindi natukoy kung paano
pinangalanan ang mga function key o kung anong mga function key ang sinusuportahan.

Para sa mga pagmamapa ng text input mode:

Kapag ang lhs ay ipinasok bilang anumang bahagi ng text na ipinasok sa bukas o visual na text input
mode, ang aksyon ay dapat na parang katumbas rhs ay ipinasok.

Kung ang anumang karakter sa input text ay na-escape gamit ang a -V character, iyon
ang karakter ay hindi dapat maging bahagi ng isang tugma sa isang lhs.

Ito ay hindi tinukoy kung ang lhs ipinasok ang teksto para sa kasunod mapa or alisin ang mapa utos
ay pinalitan ng rhs teksto para sa mga layunin ng pagpapakita ng screen; hindi alintana ng
lumilitaw man o hindi ang display na parang katumbas rhs ipinasok ang teksto,
ang epekto ng utos ay parang ang lhs ipinasok ang text.

Kung bahagi lamang ng lhs ay ipinasok, ito ay hindi natukoy kung gaano katagal maghihintay ang editor
karagdagang, posibleng tumutugmang mga character bago ituring ang mga naipasok na character bilang
hindi tumutugma sa lhs.

Ang rhs ang mga character ay sasailalim sa remapping, maliban kung tinukoy ng
ang remap opsyon sa pag-edit, maliban na kung ang mga character ay nasa lhs mangyari bilang mga prefix na character sa
rhs, ang mga character na iyon ay hindi dapat i-remapped.

Sa mga terminal ng block-mode, hindi kailangang mangyari kaagad ang pagmamapa (halimbawa, maaaring mangyari ito
pagkatapos magpadala ang terminal ng isang pangkat ng mga character sa system), ngunit ito ay makakamit
ang parehong mga resulta na parang nangyari kaagad.

kasalukuyan linya: Hindi nagbabago.

kasalukuyan haligi: Hindi nagbabago.

Utak ng buto
Buod:
[1addr] ma[rk] katangian
[1addr] k katangian

Ang mga pagpapatupad ay dapat suportahan katangian mga halaga ng isang maliit na titik ng POSIX
locale at ang backquote at single-quote na mga character; suporta ng iba pang mga character ay
tinukoy ng pagpapatupad.

Kung isinasagawa ang vi m command, itakda ang tinukoy na marka sa kasalukuyang linya at 1-based
may bilang na character na isinangguni ng kasalukuyang column, kung mayroon man; kung hindi, posisyon ng column 1.

Kung hindi, itakda ang tinukoy na marka sa tinukoy na linya at 1-based na numero muna
hindi- hindi- sa linya, kung mayroon man; kung hindi, ang huling hindi- nasa
linya, kung mayroon man; kung hindi, posisyon ng column 1.

Ang marka ay mananatiling nauugnay sa linya hanggang ang marka ay na-reset o ang linya ay
tinanggal. Kung ang isang tinanggal na linya ay ibinalik ng isang kasunod paglansag-lansagin command, anumang marka dati
na nauugnay sa linya, na hindi pa na-reset, ay maibabalik din. Anumang gamit ng
ang isang marka na hindi nauugnay sa isang kasalukuyang linya sa buffer sa pag-edit ay isang error.

Ang mga marka ` at ' ay dapat itakda tulad ng inilarawan dati, kaagad bago ang mga sumusunod
nangyari ang mga kaganapan sa editor:

1. Ang paggamit ng '$' bilang isang ex tirahan

2. Ang paggamit ng positibong decimal na numero bilang isang ex tirahan

3. Ang paggamit ng search command bilang isang ex tirahan

4. Ang paggamit ng sanggunian ng marka bilang isang ex tirahan

5. Ang paggamit ng mga sumusunod na open at visual mode command: -], %, (, ), [, ], {,
}

6. Ang paggamit ng mga sumusunod na open at visual mode command: ', G, H, L, M, z kung ang
ang kasalukuyang linya ay magbabago bilang resulta ng utos

7. Ang paggamit ng open at visual mode commands: /, ?, N, `, n kung ang kasalukuyang linya o
Magbabago ang column bilang resulta ng command

8. Ang paggamit ng ex mga utos ng mode: z, paglansag-lansagin, global, v

Para sa mga panuntunan 1., 2., 3., at 4., ang ` at ' hindi itatakda ang mga marka kung ang ex utos ay
na-parse gaya ng tinukoy ng panuntunan 6.a. sa Utos Linya Nagpaparada in ex.

Para sa mga panuntunan 5., 6., at 7., ang ` at ' ang mga marka ay hindi dapat itakda kung ang mga utos ay ginagamit bilang
mga motion command sa open at visual mode.

Para sa mga panuntunan 1., 2., 3., 4., 5., 6., 7., at 8., ang ` at ' hindi itatakda ang mga marka kung ang
nabigo ang utos.

Ang ` at ' ang mga marka ay dapat itakda tulad ng inilarawan dati, sa bawat oras na ang mga nilalaman ng pag-edit
pinapalitan ang buffer (kabilang ang pag-edit ng paunang buffer), kung bukas o visual
mode, o kung nasa ex mode at ang edit buffer ay hindi walang laman, bago ang anumang mga utos o paggalaw
(kabilang ang mga utos o paggalaw na tinukoy ng −c or −t mga pagpipilian o ang +utos
argument) ay isinasagawa sa buffer sa pag-edit. Kung nasa open o visual mode, ang mga marka ay dapat
itakda na parang isinasagawa ang vi m utos; kung hindi, na parang ine-execute ang ex markahan utos.

Kapag nagbabago mula ex mode para buksan o visual mode, kung ang ` at ' wala pa ang mga marka
itakda, ang ` at ' ang mga marka ay dapat itakda tulad ng inilarawan dati.

kasalukuyan linya: Hindi nagbabago.

kasalukuyan haligi: Hindi nagbabago.

Ilipat
Buod:
[2addr] m[Ove] 1addr [flag]

Ilipat ang mga tinukoy na linya pagkatapos ng tinukoy na linya ng patutunguhan. Isang destinasyon ng line zero
tumutukoy na ang mga linya ay ilalagay sa simula ng buffer sa pag-edit. Ito ay magiging
isang error kung ang patutunguhang linya ay nasa hanay ng mga linyang ililipat.

kasalukuyan linya: Itakda sa huli sa mga inilipat na linya.

kasalukuyan haligi: Itakda sa hindi- .

susunod
Buod:
n[ext][!][+utos][file ...]

Kung hindi '!' ay idinagdag sa pangalan ng command, at ang edit buffer ay binago mula noon
ang huling kumpletong pagsulat, ito ay magiging isang error, maliban kung ang file ay matagumpay na naisulat bilang
tinukoy ng autowrite pagpipilian.

Kung ang isa o higit pang mga file ay tinukoy:

1. Itakda ang listahan ng argumento sa tinukoy na mga filename.

2. Itakda ang kasalukuyang sanggunian sa listahan ng argumento upang maging unang entry sa listahan ng argumento.

3. Itakda ang kasalukuyang pathname sa unang tinukoy na filename.

Kung hindi:

1. Ito ay magiging isang error kung wala nang mga filename sa listahan ng argumento pagkatapos ng
filename na kasalukuyang tinutukoy.

2. Itakda ang kasalukuyang pathname at ang kasalukuyang listahan ng argumentong reference sa filename pagkatapos
ang filename na kasalukuyang tinutukoy sa listahan ng argumento.

Palitan ang mga nilalaman ng buffer sa pag-edit ng mga nilalaman ng file na pinangalanan ng kasalukuyang
pathname. Kung sa anumang kadahilanan ay hindi ma-access ang mga nilalaman ng file, ang edit buffer
ay walang laman.

Ang utos na ito ay maaapektuhan ng autowrite at magsulat ng kahit ano mga opsyon sa pag-edit.

Ang +utos ang pagpipilian ay dapat -delimitado; ang mga character ay maaaring takasan ng
nangunguna sa kanila ng a karakter. Ang +utos ay dapat bigyang kahulugan bilang isang ex
utos kaagad pagkatapos mapalitan ang mga nilalaman ng buffer sa pag-edit at ang
kasalukuyang linya at column ay naitakda na.

kasalukuyan linya: Itakda gaya ng inilarawan para sa i-edit utos.

kasalukuyan haligi: Itakda gaya ng inilarawan para sa i-edit utos.

Numero
Buod:
[2addr] nu[mber][bilangin][flag]
[2addr] #[bilangin][flag]

Ang mga utos na ito ay dapat na katumbas ng ex utos:

[2addr] p[rint][bilangin] #[flag]

Tingnan Print.

Pagbubukas
Buod:
[1addr] o[panulat] /huwaran/ [flag]

Ang command na ito ay hindi kailangang suportahan sa block-mode na mga terminal o mga terminal na hindi sapat
mga kakayahan. Kung ang karaniwang input, karaniwang output, o karaniwang error ay hindi terminal
mga device, hindi natukoy ang mga resulta.

Ipasok ang open mode.

Maaaring tanggalin ang trailing delimiter mula sa huwaran sa dulo ng command line. Kung
huwaran ay walang laman (halimbawa, "//") o hindi tinukoy, ang huling regular na expression na ginamit sa
ang editor ay dapat gamitin bilang pattern. Ang pattern ay maaaring delimited sa pamamagitan ng
mga character (ipinapakita sa Synopsis), pati na rin ang anumang alphanumeric, o hindi- maliban sa
, , , o double-quote.

kasalukuyan linya: Itakda sa tinukoy na linya.

kasalukuyan haligi: Itakda sa hindi- .

Panatilihin
Buod:
pre[maglingkod]

I-save ang buffer sa pag-edit sa isang form na maaaring mabawi sa ibang pagkakataon sa pamamagitan ng paggamit ng −r opsyon o sa pamamagitan ng
gamit ang ex mabawi utos. Pagkatapos mapanatili ang file, isang mensaheng mail ang dapat
ipinadala sa gumagamit. Ang mensaheng ito ay mababasa sa pamamagitan ng paggamit ng mailx kagamitan. Ang
Ang mensahe ay dapat maglaman ng pangalan ng file, ang oras ng pangangalaga, at isang ex utos
na maaaring magamit upang mabawi ang file. Maaaring isama ang karagdagang impormasyon sa koreo
mensahe.

kasalukuyan linya: Hindi nagbabago.

kasalukuyan haligi: Hindi nagbabago.

Print
Buod:
[2addr] p[rint][bilangin][flag]

Isulat ang mga naka-address na linya. Ang pag-uugali ay hindi tinukoy kung ang bilang ng mga column sa
ang display ay mas mababa sa bilang ng mga column na kinakailangan upang magsulat ng anumang solong character sa
mga linyang isinusulat.

Hindi napi-print na mga character, maliban sa , ay isusulat bilang tinukoy sa pagpapatupad
mga pagkakasunud-sunod ng maraming character.

Kung ang # flag ay tinukoy o ang numero Ang opsyon sa pag-edit ay nakatakda, ang bawat linya ay dapat mauna
ayon sa numero ng linya nito sa sumusunod na format:

"%6d ", <linya numero>

Kung ang l flag ay tinukoy o ang listahan nakatakda ang opsyon sa pag-edit:

1. Ang mga character na nakalista sa Base Definitions volume ng POSIX.1‐2008, mesa 5-1,
Makatakas Mga Pagkakasunud-sunod at Nauugnay Aksyon ay isusulat bilang kaukulang pagtakas
pagkakasunod-sunod.

2. Hindi napi-print na mga character na wala sa Base Definitions volume ng POSIX.1‐2008, mesa
5-1, Makatakas Mga Pagkakasunud-sunod at Nauugnay Aksyon dapat isulat bilang isang tatlong-digit na octal
numero (na may naunang ) para sa bawat byte sa character (pinaka makabuluhan
byte muna).

3. Ang dulo ng bawat linya ay dapat markahan ng a '$', at literal '$' mga karakter sa loob ng
linya ay dapat nakasulat sa isang nauuna .

Ang mahahabang linya ay tiklop; ang haba kung saan natitiklop ay hindi natukoy, ngunit dapat
maging angkop para sa output terminal, isinasaalang-alang ang bilang ng mga column ng terminal.

Kung ang isang linya ay nakatiklop, at ang l flag ay hindi tinukoy at ang listahan hindi nakatakda ang opsyon sa pag-edit,
ito ay hindi tinukoy kung ang isang multi-column na character sa posisyong natitiklop ay pinaghihiwalay;
hindi ito dapat itapon.

kasalukuyan linya: Itakda sa huling nakasulat na linya.

kasalukuyan haligi: Hindi nagbabago kung ang kasalukuyang linya ay hindi nagbabago; kung hindi, itakda sa hindi- .

ilagay
Buod:
[1addr] pu[t][nagpapahina ng lakas]

Idagdag ang teksto mula sa tinukoy na buffer (bilang default, ang hindi pinangalanang buffer) sa tinukoy
linya; line zero ay tumutukoy na ang teksto ay dapat ilagay sa simula ng pag-edit
buffer. Ang bawat bahagi ng isang linya sa buffer ay dapat maging isang bagong linya sa edit buffer,
anuman ang mode ng buffer.

kasalukuyan linya: Itakda sa huling linyang ipinasok sa edit buffer.

kasalukuyan haligi: Itakda sa hindi- .

Huminto
Buod:
q[uit][!]

Kung hindi '!' ay idinagdag sa pangalan ng command:

1. Kung ang edit buffer ay nabago mula noong huling kumpletong pagsulat, ito ay dapat na isang
error.

2. Kung may mga filename sa listahan ng argumento pagkatapos ng filename na kasalukuyang tinutukoy,
at ang huling utos ay hindi a umalis, wq, xit, O ZZ (Tingnan ang lumabas) utos, ito ay isang
error.

Kung hindi, wakasan ang session ng pag-edit.

Basahin
Buod:
[1addr] r[ead][!][file]

If '!' ay hindi ang unang hindi- upang sundin ang pangalan ng command, isang kopya ng tinukoy
ang file ay dapat idagdag sa buffer sa pag-edit pagkatapos ng tinukoy na linya; line zero ay tumutukoy
na ang kopya ay dapat ilagay sa simula ng buffer sa pag-edit. Ang bilang ng mga linya at
ang mga byte na nabasa ay dapat isulat. Kung hindi file ay pinangalanan, ang kasalukuyang pathname ay ang
default. Kung walang kasalukuyang pathname, kung gayon file ay magiging kasalukuyang pathname. Kung
walang kasalukuyang pathname o file operand, ito ay magiging isang error. Pagtukoy sa a file na
ay hindi sa uri ng regular ay dapat magkaroon ng hindi natukoy na mga resulta.

Kung hindi man, kung file ay naunahan ng '!', ang natitirang linya pagkatapos ng '!' kailangang magkaroon '%',
'#', at '!' pinalawak ang mga character tulad ng inilarawan sa Utos Linya Nagpaparada in ex.

Ang ex Ang utility ay magpapasa ng dalawang argumento sa program na pinangalanan ng shell edit
opsyon; ang una ay magiging −c at ang pangalawa ay ang pinalawak na mga argumento sa basahin
utos bilang iisang argumento. Ang karaniwang input ng programa ay dapat itakda sa
karaniwang input ng ex programa kapag ito ay tinawag. Ang karaniwang error at pamantayan
ang output ng programa ay dapat idagdag sa edit buffer pagkatapos ng tinukoy na linya.

Ang bawat linya sa nakopyang file o output ng program (gaya ng nililimitahan ng mga tauhan o
ang dulo ng file o output kung hindi ito agad na mauunahan ng a ), ay magiging
isang hiwalay na linya sa edit buffer. Anumang mga pangyayari ng at
ang mga pares sa output ay dapat ituring bilang isa mga karakter.

Ang espesyal na kahulugan ng '!' ng pagsunod sa mga basahin Ang utos ay maaaring ma-override sa pamamagitan ng pagtakas
ito na may a karakter.

kasalukuyan linya: Kung walang mga linyang idinagdag sa buffer sa pag-edit, hindi magbabago. Kung hindi, kung bukas
o visual mode, itinakda sa unang linyang ipinasok sa buffer sa pag-edit. Kung hindi, itakda sa
huling linyang ipinasok sa edit buffer.

kasalukuyan haligi: Itakda sa hindi- .

Mabawi
Buod:
rec[sa ibabaw][!] file

Kung hindi '!' ay idinagdag sa pangalan ng command, at ang edit buffer ay binago mula noon
ang huling kumpletong pagsulat, ito ay magiging isang error.

Kung hindi file operand ay tinukoy, pagkatapos ay ang kasalukuyang pathname ay dapat gamitin. Kung wala
kasalukuyang pathname o file operand, ito ay magiging isang error.

Kung walang impormasyon sa pagbawi na dati nang nai-save tungkol sa file, ang mabawi utos ay dapat
kumilos nang magkapareho sa i-edit utos, at isang mensaheng nagbibigay-impormasyon sa ganitong epekto ay dapat
isulat.

Kung hindi, itakda ang kasalukuyang pathname sa file, at palitan ang kasalukuyang mga nilalaman ng pag-edit
buffer na may mga nakuhang nilalaman ng file. Kung mayroong maraming mga pagkakataon ng file
na mabawi, ang pinakahuling na-save ay mababawi, at isang impormasyon
mensahe na may mga nakaraang bersyon ng file na maaaring mabawi ay dapat
nakasulat. Ang editor ay dapat kumilos na parang ang mga nilalaman ng buffer sa pag-edit ay naging
binago

kasalukuyan file: Itakda gaya ng inilarawan para sa i-edit utos.

kasalukuyan haligi: Itakda gaya ng inilarawan para sa i-edit utos.

I-rewind
Buod:
rew[ind][!]

Kung hindi '!' ay idinagdag sa pangalan ng command, at ang edit buffer ay binago mula noon
ang huling kumpletong pagsulat, ito ay magiging isang error, maliban kung ang file ay matagumpay na naisulat bilang
tinukoy ng autowrite pagpipilian.

Kung ang listahan ng argumento ay walang laman, ito ay dapat na isang error.

Ang kasalukuyang sanggunian sa listahan ng argumento at ang kasalukuyang pathname ay dapat itakda sa una
filename sa listahan ng argumento.

Palitan ang mga nilalaman ng buffer sa pag-edit ng mga nilalaman ng file na pinangalanan ng kasalukuyang
pathname. Kung sa anumang kadahilanan ay hindi ma-access ang mga nilalaman ng file, ang edit buffer
ay walang laman.

Ang utos na ito ay maaapektuhan ng autowrite at magsulat ng kahit ano mga opsyon sa pag-edit.

kasalukuyan linya: Itakda gaya ng inilarawan para sa i-edit utos.

kasalukuyan haligi: Itakda gaya ng inilarawan para sa i-edit utos.

Itakda
Buod:
se[t][opsyon[=[halaga]] ...][hindiopsyon ...][opsyon? ...][lahat]

Kapag walang tinukoy na mga argumento, isulat ang halaga ng termino i-edit ang opsyon at ang mga opsyong iyon
na ang mga halaga ay binago mula sa mga default na setting; kapag ang argumento lahat is
tinukoy, isulat ang lahat ng mga halaga ng opsyon.

Pagbibigay ng pangalan ng opsyon na sinusundan ng karakter '?' magiging sanhi ng kasalukuyang halaga niyan
pagpipiliang isusulat. Ang '?' maaaring ihiwalay mula sa pangalan ng opsyon sa pamamagitan ng zero o higit pa
mga karakter. Ang '?' ay kinakailangan lamang para sa mga opsyon na may halagang Boolean. Boolean
ang mga pagpipilian ay maaaring bigyan ng mga halaga sa pamamagitan ng form itakda opsyon upang i-on ang mga ito o itakda hindiopsyon upang lumiko
sila off; string at numeric na mga opsyon ay maaaring italaga ng form itakda opsyon=halaga. Anumang
ang mga character sa mga string ay maaaring isama bilang ay sa pamamagitan ng nauuna sa bawat isa kasama ang
tumatakas . Mahigit sa isang opsyon ang maaaring itakda o ilista ng isang set na command
sa pamamagitan ng pagtukoy ng maramihang mga argumento, ang bawat isa ay pinaghihiwalay mula sa susunod ng isa o higit pa
character.

Tingnan Edit Options in ex para sa mga detalye tungkol sa mga partikular na opsyon.

kasalukuyan linya: Hindi nagbabago.

kasalukuyan haligi: Hindi nagbabago.

Talukap ng alimango
Buod:
sh[siya]

I-invoke ang program na pinangalanan sa talukap ng alimango opsyon sa pag-edit na may iisang argumento −i (interactive
mode). Ipagpapatuloy ang pag-edit kapag lumabas na ang programa.

kasalukuyan linya: Hindi nagbabago.

kasalukuyan haligi: Hindi nagbabago.

pinagmulan
Buod:
kaya[urcan na] file

Basahin at isagawa ex utos mula sa file. Ang mga linya sa file na mga blangkong linya ay dapat
hindi pinansin

kasalukuyan linya: Tulad ng tinukoy para sa indibidwal ex utos.

kasalukuyan haligi: Tulad ng tinukoy para sa indibidwal ex utos.

Kapalit
Buod:
[2addr] s[kapalit][/huwaran/repl/[pagpipilian][bilangin][flag]]
[2addr] &[pagpipilian][bilangin][flag]]
[2addr] ~[pagpipilian][bilangin][flag]]

Palitan ang unang pagkakataon ng pattern huwaran sa pamamagitan ng tali repl sa bawat tinukoy
linya. (Tingnan regular expression in ex at Kapalit String in ex.) Anumang hindi alpabeto,
hindi- delimiter maliban sa , '|', , o maaaring gamitin ang double-quote
sa halip ng '/'. ang mga character ay maaaring gamitin upang makatakas sa mga delimiter,
mga karakter, at iba pang mga espesyal na karakter.

Maaaring tanggalin ang trailing delimiter mula sa huwaran o mula sa repl sa dulo ng utos
linya. Kung pareho huwaran at repl ay hindi tinukoy o walang laman (halimbawa, "//"), Ang
huli s utos ay dapat ulitin. Kung pwede lang huwaran ay hindi tinukoy o walang laman, ang huli
ang regular na expression na ginamit sa editor ay dapat gamitin bilang pattern. Kung pwede lang repl Hindi
tinukoy o walang laman, ang pattern ay dapat papalitan ng wala. Kung ang kabuuan
kapalit na pattern ay '%', ang huling kapalit na pattern sa isang s utos ang gagamitin.

Pagpasok a sa repl (na nangangailangan ng pagtakas sa ex paraan
at isang pagtakas ‐V sa bukas o vi mode) ay hahatiin ang linya sa puntong iyon,
paggawa ng bagong linya sa edit buffer. Ang ay itatapon.

If pagpipilian kasama ang sulat 'g' (global), lahat ng hindi magkakapatong na instance ng pattern
sa linya ay papalitan.

If pagpipilian kasama ang sulat 'c' (kumpirmahin), pagkatapos bago ang bawat pagpapalit ang linya ay dapat
isulat; ang nakasulat na linya ay dapat sumasalamin sa lahat ng nakaraang mga pagpapalit. Sa mga sumusunod
linya, ang mga character ay dapat isulat sa ilalim ng mga character mula sa linya na
bago ang huwaran papalitan, at '^' mga character na nakasulat sa ilalim ng mga character
kasama sa huwaran upang mapalitan. Ang ex Ang utility ay maghihintay ng tugon mula sa
ang gumagamit. Ang isang sumasang-ayon na tugon ay dapat maging sanhi ng pagpapalit upang magawa, habang ang iba pa
input ay hindi dapat gumawa ng pagpapalit. Ang isang sumasang-ayon na tugon ay dapat na binubuo ng isang linya
na may positibong tugon (tulad ng tinukoy ng kasalukuyang lokal) sa simula ng
linya. Ang linyang ito ay sasailalim sa pag-edit sa parehong paraan tulad ng ex command line.

Kung maabala (tingnan ang seksyong ASYNCHRONOUS EVENTS), anumang pagbabago na kinumpirma ng
ang gumagamit ay dapat mapanatili sa buffer sa pag-edit pagkatapos ng pagkagambala.

Kung hindi nakatakda ang natatandaang direksyon sa paghahanap, ang s utos ay dapat itakda ito sa pasulong.

Sa ikalawang Buod, ang & utos ay dapat ulitin ang nakaraang pagpapalit, na parang ang &
ang utos ay pinalitan ng:

s/huwaran/repl/

saan huwaran at repl ay tulad ng tinukoy sa nauna s, &, O ~ utos.

Sa ikatlong Buod, ang ~ utos ay dapat ulitin ang nakaraang pagpapalit, na parang ang '~'
ay pinalitan ng:

s/huwaran/repl/

saan huwaran ay ang huling regular na expression na tinukoy sa editor, at repl Dapat
mula sa nakaraang pagpapalit (kabilang ang & at ~) utos.

Ang mga utos na ito ay maaapektuhan ng LC_MESSAGES variable ng kapaligiran.

kasalukuyan linya: Itakda sa huling linya kung saan nagkaroon ng pagpapalit, o, hindi nabago kung hindi
naganap ang pagpapalit.

kasalukuyan haligi: Itakda sa hindi- .

suspindihin
Buod:
su[gumastos][!]
st[op][!]

Payagan ang kontrol na bumalik sa proseso ng pag-invoke; ex ay sususpindihin ang sarili na parang mayroon
nakatanggap ng signal ng SIGTSTP. Ang pagsususpinde ay dapat mangyari lamang kung ang kontrol sa trabaho ay pinagana
ang invoking shell (tingnan ang paglalarawan ng itakda −m).

Ang mga utos na ito ay maaapektuhan ng autowrite at magsulat ng kahit ano mga opsyon sa pag-edit.

Ang kasalukuyang suspetso karakter (tingnan stty) ay katumbas ng suspindihin utos.

Tag
Buod:
ta[g][!] tagstring

Ang mga resulta ay hindi tinukoy kung ang format ng isang file ng mga tag ay hindi tulad ng tinukoy ng ctags
utility (tingnan ctags) paglalarawan.

Ang mga tag utos ay dapat maghanap para sa tagstring sa mga file ng tag na tinutukoy ng mga tag i-edit
opsyon, sa pagkakasunud-sunod ng mga ito ay tinukoy, hanggang sa isang reference sa tagstring ay matatagpuan. Mga file
ay hahanapin mula simula hanggang wakas. Kung walang nakitang reference, ito ay magiging isang error
at isang mensahe ng error sa ganitong epekto ay dapat isulat. Kung ang sanggunian ay hindi natagpuan, o kung
isang error ang nangyayari habang pinoproseso ang isang file na tinutukoy sa mga tag opsyon sa pag-edit, ito ay dapat na isang
error, at isang mensahe ng error ang isusulat sa unang paglitaw ng naturang error.

Kung hindi, kung ang file ng mga tag ay naglalaman ng isang pattern, ang pattern ay dapat ituring bilang isang regular
expression na ginamit sa editor; halimbawa, para sa mga layunin ng s utos.

Kung ang tagstring ay nasa isang file na may ibang pangalan kaysa sa kasalukuyang pathname, itakda ang
kasalukuyang pathname sa pangalan ng file na iyon, at palitan ang mga nilalaman ng buffer sa pag-edit
kasama ang mga nilalaman ng file na iyon. Sa kasong ito, kung hindi '!' ay idinagdag sa pangalan ng utos,
at ang edit buffer ay nabago mula noong huling kumpletong pagsulat, ito ay magiging isang error,
maliban kung ang file ay matagumpay na naisulat ayon sa tinukoy ng autowrite pagpipilian.

Ang utos na ito ay maaapektuhan ng autowrite, mga tag, taglength, at magsulat ng kahit ano i-edit
mga pagpipilian.

kasalukuyan linya: Kung ang file ng mga tag ay naglalaman ng isang numero ng linya, itakda sa numero ng linya na iyon. Kung ang
Ang numero ng linya ay mas malaki kaysa sa huling linya sa buffer ng pag-edit, dapat ay isang mensahe ng error
nakasulat at ang kasalukuyang linya ay dapat itakda bilang tinukoy para sa i-edit utos.

Kung ang file ng mga tag ay naglalaman ng isang pattern, itakda sa unang paglitaw ng pattern sa
file. Kung walang nakitang tumutugmang pattern, isang mensahe ng error ang dapat isulat at ang kasalukuyang
linya ay dapat itakda bilang tinukoy para sa i-edit utos.

kasalukuyan haligi: Kung ang file ng mga tag ay naglalaman ng sanggunian ng numero ng linya at numero ng linyang iyon
ay hindi mas malaki kaysa sa huling linya sa buffer sa pag-edit, o kung ang file ng mga tag ay naglalaman ng a
pattern at natagpuan ang pattern na iyon, itinakda sa hindi- . Kung hindi, itakda bilang tinukoy para sa
ang i-edit utos.

I-unbbreviate
Buod:
una[bbrev] lhs

If lhs ay hindi isang entry sa kasalukuyang listahan ng mga pagdadaglat (tingnan Pagpapaikli), ito ay magiging
isang error. Kung hindi, tanggalin lhs mula sa listahan ng mga pagdadaglat.

kasalukuyan linya: Hindi nagbabago.

kasalukuyan haligi: Hindi nagbabago.

Magpawalang-saysay
Buod:
u[undo]

Baligtarin ang mga pagbabagong ginawa ng huling utos na nagpabago sa mga nilalaman ng pag-edit
buffer, kabilang ang paglansag-lansagin. Para sa hangaring ito, ang global, v, buksan, at nakikita mga utos, at
ang mga command na nagreresulta mula sa mga buffer execution at nakamapang pagpapalawak ng character, ay isinasaalang-alang
iisang utos.

Kung walang aksyon na maaaring i-undo ay nauna sa paglansag-lansagin utos, ito ay magiging isang pagkakamali.

Kung ang paglansag-lansagin Ipinapanumbalik ng utos ang mga linyang minarkahan, ibabalik din ang marka
maliban kung na-reset ito kasunod ng pagtanggal ng mga linya.

kasalukuyan linya:

1. Kung ang mga linya ay idinagdag o binago sa file, itakda sa unang linya na idinagdag o binago.

2. Itakda sa linya bago matanggal ang unang linya, kung mayroon.

3. Itakda sa 1 kung walang laman ang buffer sa pag-edit.

4. Itakda sa zero.

kasalukuyan haligi: Itakda sa hindi- .

Mag-map
Buod:
unm[ap][!] lhs

If '!' ay idinagdag sa pangalan ng command, at kung lhs ay hindi isang entry sa listahan ng teksto
input mode na mga kahulugan ng mapa, ito ay dapat na isang error. Kung hindi, tanggalin lhs mula sa listahan ng
mga kahulugan ng mapa ng text input mode.

Kung hindi '!' ay idinagdag sa pangalan ng command, at kung lhs ay hindi isang entry sa listahan ng
command mode mapa kahulugan, ito ay dapat na isang error. Kung hindi, tanggalin lhs mula sa listahan ng
mga kahulugan ng mapa ng command mode.

kasalukuyan linya: Hindi nagbabago.

kasalukuyan haligi: Hindi nagbabago.

bersyon
Buod:
ve[rsion]

Sumulat ng mensahe na naglalaman ng impormasyon ng bersyon para sa editor. Ang format ng mensahe
ay hindi natukoy.

kasalukuyan linya: Hindi nagbabago.

kasalukuyan haligi: Hindi nagbabago.

Ng paningin
Buod:
[1addr] vi[matamis][uri][bilangin][flag]

If ex kasalukuyang nasa open o visual mode, ang Synopsis at gawi ng visual command
ay magiging kapareho ng i-edit utos, gaya ng tinukoy ng Edit.

Kung hindi, ang command na ito ay hindi kailangang suportahan sa block-mode na mga terminal o mga terminal na may
hindi sapat na mga kakayahan. Kung ang karaniwang input, karaniwang output, o karaniwang error ay hindi
terminal device, ang mga resulta ay hindi natukoy.

If bilangin ay tinukoy, ang halaga ng bintana ang opsyon sa pag-edit ay dapat itakda sa bilangin (as
inilarawan sa bintana). Kung ang '^' ang uri ng karakter ay tinukoy din, ang bintana i-edit
ang opsyon ay dapat itakda bago gamitin ng uri ng karakter.

Ipasok ang visual mode. Kung uri ay hindi tinukoy, ito ay magiging parang a uri of '+' ay
tinukoy. Ang uri magdudulot ng mga sumusunod na epekto:

+ Ilagay ang simula ng tinukoy na linya sa tuktok ng display.

- Ilagay ang dulo ng tinukoy na linya sa ibaba ng display.

. Ilagay ang simula ng tinukoy na linya sa gitna ng display.

^ Kung ang tinukoy na linya ay mas mababa sa o katumbas ng halaga ng bintana opsyon sa pag-edit,
itakda ang linya sa 1; kung hindi, bawasan ang linya ng halaga ng bintana i-edit
opsyon minus 1. Ilagay ang simula ng linyang ito na malapit sa ibaba ng
ipinapakita ang mga linya hangga't maaari, habang ipinapakita pa rin ang halaga ng bintana i-edit
opsyon bilang ng mga linya.

kasalukuyan linya: Itakda sa tinukoy na linya.

kasalukuyan haligi: Itakda sa hindi- .

Sumulat
Buod:
[2addr] w[rito][!][>>][file]
[2addr] w[rito][!][file]
[2addr] wq[!][>>][file]

Kung walang mga linya na tinukoy, ang mga linya ay dapat mag-default sa buong file.

Ang utos wq ay katumbas ng a magsulat utos na sinusundan ng a umalis utos; wq!
ay katumbas ng magsulat! sinundan ng umalis. Sa parehong mga kaso, kung ang magsulat utos
nabigo, ang umalis hindi dapat subukan.

Kung ang command name ay hindi sinusundan ng isa o higit pa mga karakter, o file Hindi
naunahan ng a '!' karakter, ang magsulat ay dapat sa isang file.

1. Kung ang >> ang argumento ay tinukoy, at ang file ay umiiral na, ang mga linya ay dapat na
idinagdag sa file sa halip na palitan ang mga nilalaman nito. Kung ang >> argumento ay
tinukoy, at ang file ay hindi na umiiral, ito ay hindi natukoy kung ang write
magpapatuloy na parang ang >> argumento ay hindi tinukoy o kung ang pagsulat ay mabibigo.

2. Kung ang Basahin lamang Itinakda ang opsyon sa pag-edit (tingnan Basahin lamang), Ang magsulat mabibigo.

3. Kung file ay tinukoy, at hindi ang kasalukuyang pathname, at ang file ay umiiral, ang magsulat
mabibigo.

4. Kung file ay hindi tinukoy, ang kasalukuyang pathname ay dapat gamitin. Kung walang kasalukuyang
pathname, ang magsulat mabibigo ang utos.

5. Kung ang kasalukuyang pathname ay ginamit, at ang kasalukuyang pathname ay binago ng file
or basahin mga utos, at ang file ay umiiral, ang magsulat mabibigo. Kung ang magsulat is
matagumpay, kasunod magsulats ay hindi mabibigo para sa kadahilanang ito (maliban kung ang kasalukuyang
binago muli ang pathname).

6. Kung ang buong buffer sa pag-edit ay hindi isinusulat, at ang file na isusulat ay umiiral, ang
magsulat mabibigo.

Para sa mga panuntunan 1., 2., 3., at 5., ang magsulat maaaring pilitin sa pamamagitan ng pagdaragdag ng karakter '!' sa
ang pangalan ng utos.

Para sa mga panuntunan 2., 3., at 5., ang magsulat maaaring pilitin sa pamamagitan ng pagtatakda ng magsulat ng kahit ano opsyon sa pag-edit.

Ang mga karagdagang pagsubok na tinukoy sa pagpapatupad ay maaaring magdulot ng magsulat upang mabigo.

Kung ang edit buffer ay walang laman, isang file na walang anumang nilalaman ang dapat isulat.

Ang isang mensaheng pang-impormasyon ay dapat isulat na nagsasaad ng bilang ng mga linya at byte na nakasulat.

Kung hindi, kung ang utos ay sinusunod ng isa o higit pa mga character, at ang file ay
naunahan ng '!', ang natitirang linya pagkatapos ng '!' kailangang magkaroon '%', '#', at '!'
pinalawak ang mga character tulad ng inilarawan sa Utos Linya Nagpaparada in ex.

Ang ex Ang utility ay magpapasa ng dalawang argumento sa program na pinangalanan ng talukap ng alimango i-edit
opsyon; ang una ay magiging −c at ang pangalawa ay ang pinalawak na mga argumento sa magsulat
utos bilang iisang argumento. Ang mga tinukoy na linya ay dapat isulat sa karaniwang input
ng utos. Ang karaniwang error at karaniwang output ng programa, kung mayroon man, ay dapat
nakasulat tulad ng inilarawan para sa i-print utos. Kung ang huling karakter sa output na iyon ay hindi a
, a isusulat sa dulo ng output.

Ang espesyal na kahulugan ng '!' ng pagsunod sa mga magsulat Ang utos ay maaaring ma-override sa pamamagitan ng pagtakas
ito na may a karakter.

kasalukuyan linya: Hindi nagbabago.

kasalukuyan haligi: Hindi nagbabago.

Sumulat at lumabas
Buod:
[2addr] x[it][!][file]

Kung ang buffer sa pag-edit ay hindi pa nabago mula noong huling kumpleto magsulat, xit ay magiging
katumbas ng umalis utos, o kung a '!' ay idinagdag sa pangalan ng utos, sa huminto!.

Kung hindi, xit ay katumbas ng wq utos, o kung a '!' ay nakadugtong sa
pangalan ng utos, sa wq!.

kasalukuyan linya: Hindi nagbabago.

kasalukuyan haligi: Hindi nagbabago.

kano
Buod:
[2addr] ya[nk][nagpapahina ng lakas][bilangin]

Kopyahin ang mga tinukoy na linya sa tinukoy na buffer (bilang default, ang hindi pinangalanang buffer), na
ay magiging isang line-mode buffer.

kasalukuyan linya: Hindi nagbabago.

kasalukuyan haligi: Hindi nagbabago.

Isaayos Bintana
Buod:
[1addr] z[!][uri ...][bilangin][flag]

Kung walang linyang tinukoy, ang kasalukuyang linya ang dapat na default; kung uri ay tinanggal bilang
mabuti, ang kasalukuyang halaga ng linya ay dapat munang dagdagan ng 1. Kung dinadagdagan ang kasalukuyang
na linya ay magiging sanhi na ito ay mas malaki kaysa sa huling linya sa buffer sa pag-edit, ito ay isang
error.

Kung meron mga karakter sa pagitan ng uri argumento at ang nauna z pangalan ng utos
o opsyonal '!' karakter, ito ay magiging isang pagkakamali.

If bilangin ay tinukoy, ang halaga ng bintana ang opsyon sa pag-edit ay dapat itakda sa bilangin (as
inilarawan sa bintana). Kung bilangin ay tinanggal, dapat itong maging default sa 2 beses ang halaga ng
mag-scroll opsyon sa pag-edit, o kung ! ay tinukoy, ang bilang ng mga linya sa display na minus 1.

If uri ay tinanggal, kung gayon bilangin mga linyang nagsisimula sa tinukoy na linya ay dapat isulat.
Kung hindi, bilangin mga linyang nagsisimula sa linyang tinukoy ng uri argument ay dapat
nakasulat.

Ang uri dapat baguhin ng argumento ang mga linyang isusulat. Ang mga posibleng halaga ng uri ay bilang
sumusunod:

− Ang tinukoy na linya ay dapat bawasan ng sumusunod na halaga:

(((numero of ``−'' mga karakter) x bilangin) −1)

Kung ang pagkalkula ay magreresulta sa isang numero na mas mababa sa 1, ito ay dapat na isang error. Sumulat
mga linya mula sa edit buffer, simula sa bagong halaga ng linya, hanggang bilangin mga linya o
naisulat na ang huling linya sa edit buffer.

+ Ang tinukoy na linya ay dapat dagdagan ng sumusunod na halaga:

(((numero of ``+'' mga karakter) −1) x bilangin) +1

Kung ang pagkalkula ay magreresulta sa isang numerong mas malaki kaysa sa huling linya sa pag-edit
buffer, ito ay magiging isang error. Sumulat ng mga linya mula sa buffer sa pag-edit, simula sa bago
halaga ng linya, hanggang bilangin mga linya o ang huling linya sa buffer sa pag-edit ay naging
nakasulat.

=,. Kung higit sa isang solong '.' or '=' ay tinukoy, ito ay magiging isang error. Ang mga sumusunod
dapat gawin ang mga hakbang:

1. Kung bilangin ay zero, walang isusulat.

2. Sumulat ng kasing dami ng N mga linya bago ang kasalukuyang linya sa edit buffer bilang
umiral. Kung bilangin or '!' ay tinukoy, N ay magiging:

(bilangin −1) /2

Kung hindi, N ay magiging:

(bilangin −3) /2

If N ay isang numerong mas mababa sa 3, walang mga linya na dapat isulat.

3. Kung '=' ay tinukoy bilang uri ng character, magsulat ng isang linya na binubuo ng
mas maliit sa bilang ng mga column sa display na hinati sa dalawa, o 40 '−'
character.

4. Isulat ang kasalukuyang linya.

5. Ulitin ang hakbang 3.

6. Sumulat ng kasing dami ng N mga linya pagkatapos ng kasalukuyang linya sa edit buffer bilang umiiral.
N ay dapat tukuyin tulad ng sa hakbang 2. Kung N ay isang numerong mas mababa sa 3, walang mga linya
nakasulat. Kung bilangin ay mas mababa sa 3, walang mga linya na dapat isulat.

^ Ang tinukoy na linya ay dapat bawasan ng sumusunod na halaga:

(((numero of ``^'' mga karakter) + 1) x bilangin) −1

Kung ang pagkalkula ay magreresulta sa isang numero na mas mababa sa 1, ito ay dapat na isang error. Sumulat
mga linya mula sa edit buffer, simula sa bagong halaga ng linya, hanggang bilangin mga linya o
naisulat na ang huling linya sa edit buffer.

kasalukuyan linya: Itakda sa huling linyang isinulat, maliban kung ang uri ay =, kung saan, itakda sa
ang tinukoy na linya.

kasalukuyan haligi: Itakda sa hindi- .

Makatakas
Buod:
! utos
[addr]! utos

Ang mga nilalaman ng linya pagkatapos ng '!' kailangang magkaroon '%', '#', at '!' pinalawak ang mga character
tulad ng inilarawan sa Utos Linya Nagpaparada in ex. Kung ang pagpapalawak ay nagiging sanhi ng teksto ng linya
upang baguhin, ito ay muling ipapakita, na mauunahan ng isang solong '!' na karakter.

Ang ex utility ay dapat isakatuparan ang programa na pinangalanan ng talukap ng alimango opsyon sa pag-edit. Ito ay lalampas sa dalawa
mga argumento sa programa; ang una ay magiging −c, at ang pangalawa ay ang pinalawak
mga argumento sa ! utos bilang iisang argumento.

Kung walang mga linya na tinukoy, ang karaniwang input, karaniwang output, at karaniwang error ng
Ang programa ay dapat itakda sa karaniwang input, karaniwang output, at karaniwang error ng ex
programa kapag ito ay tinawag. Bilang karagdagan, isang mensahe ng babala ang isusulat kung ang pag-edit
buffer ay binago mula noong huling kumpletong pagsulat, at ang balaan nakatakda ang opsyon sa pag-edit.

Kung tinukoy ang mga linya, ipapasa ang mga ito sa programa bilang karaniwang input, at ang
ang karaniwang output at karaniwang error ng programa ay dapat palitan ang mga linyang iyon sa pag-edit
buffer. Ang bawat linya sa output ng programa (tulad ng nililimitahan ng mga karakter o wakas
ng awtput kung hindi agad nauunahan ng a ), ay dapat na isang hiwalay na linya
sa edit buffer. Anumang mga pangyayari ng at pares sa output
dapat ituring na walang asawa mga karakter. Ang mga tinukoy na linya ay dapat kopyahin sa
ang hindi pinangalanang buffer bago sila palitan, at ang hindi pinangalanang buffer ay magiging isang linya-
mode buffer.

Kung nasa ex mode, isang solong '!' ang karakter ay dapat isulat kapag natapos na ang programa.

Ang utos na ito ay maaapektuhan ng talukap ng alimango at balaan mga opsyon sa pag-edit. Kung walang linya
tinukoy, ang utos na ito ay maaapektuhan ng autowrite at magsulat ng kahit ano mga opsyon sa pag-edit. Kung
mga linya ay tinukoy, ang utos na ito ay maaapektuhan ng autoprint opsyon sa pag-edit.

kasalukuyan linya:

1. Kung walang mga linya na tinukoy, hindi nagbabago.

2. Kung hindi, itakda sa huling linyang nabasa, kung may mga linyang nabasa.

3. Kung hindi, itakda sa linya bago ang unang linya ng mga linyang tinukoy, kung ang linyang iyon
umiiral.

4. Kung hindi, itakda sa unang linya ng buffer sa pag-edit kung walang laman ang buffer sa pag-edit.

5. Kung hindi, itakda sa zero.

kasalukuyan haligi: Kung walang mga linya na tinukoy, hindi nagbabago. Kung hindi, itakda sa hindi- .

Ilipat Kaliwa
Buod:
[2addr] <[< ...][bilangin][flag]

Ilipat ang mga tinukoy na linya sa simula ng linya; ang bilang ng mga posisyon ng hanay na magiging
Ang shifted ay ang bilang ng mga command character na beses ang halaga ng shiftwidth i-edit
opsyon. Nangunguna lang ang mga character ay dapat tanggalin o baguhin sa iba
mga character sa paglilipat; hindi maaapektuhan ang ibang mga karakter.

Ang mga linyang ililipat ay dapat kopyahin sa hindi pinangalanang buffer, na magiging isang linya-
mode buffer.

Ang utos na ito ay maaapektuhan ng autoprint opsyon sa pag-edit.

kasalukuyan linya: Itakda sa huling linya sa mga linyang tinukoy.

kasalukuyan haligi: Itakda sa hindi- .

Ilipat karapatan
Buod:
[2addr] >[> ...][bilangin][flag]

Ilipat ang mga tinukoy na linya palayo sa simula ng linya; ang bilang ng mga posisyon ng hanay
ang lilipat ay ang bilang ng mga command na character na beses sa halaga ng shiftwidth
opsyon sa pag-edit. Ang paglilipat ay gagawin sa pamamagitan ng pagdaragdag mga character bilang prefix sa
ang linya o pagbabago ng pangunguna mga karakter sa iba mga karakter. Walang laman na linya
ay hindi mababago.

Ang mga linyang ililipat ay dapat kopyahin sa hindi pinangalanang buffer, na magiging isang linya-
mode buffer.

Ang utos na ito ay maaapektuhan ng autoprint opsyon sa pag-edit.

kasalukuyan linya: Itakda sa huling linya sa mga linyang tinukoy.

kasalukuyan haligi: Itakda sa hindi- .

-D
Buod:
-D

Isulat ang susunod n mga linya, kung saan n ay ang pinakamababa sa mga halaga ng mag-scroll opsyon sa pag-edit at
ang bilang ng mga linya pagkatapos ng kasalukuyang linya sa edit buffer. Kung ang kasalukuyang linya ay ang
huling linya ng buffer sa pag-edit ito ay dapat na isang error.

kasalukuyan linya: Itakda sa huling linyang nakasulat.

kasalukuyan haligi: Itakda sa hindi- .

Sumulat Linya Numero
Buod:
[1addr] = [flag]

If linya ay hindi tinukoy, dapat itong maging default sa huling linya sa buffer sa pag-edit. Isulat ang
numero ng linya ng tinukoy na linya.

kasalukuyan linya: Hindi nagbabago.

kasalukuyan haligi: Hindi nagbabago.

Isakatuparan
Buod:
[2addr] @ nagpapahina ng lakas
[2addr] * nagpapahina ng lakas

Kung walang buffer na tinukoy o tinukoy bilang '@' or '*', ang huling buffer na isasagawa ay
ginamit. Kung walang nakaraang buffer na naisakatuparan, ito ay magiging isang error.

Para sa bawat linyang tinukoy ng mga address, itakda ang kasalukuyang linya ('.') sa tinukoy
linya, at isagawa ang mga nilalaman ng pinangalanan nagpapahina ng lakas (tulad nila noong panahong ang @ utos
ay pinaandar) bilang ex mga utos. Para sa bawat linya ng isang line-mode buffer, at lahat maliban sa huli
linya ng isang character-mode buffer, ang ex command parser ay dapat kumilos na parang ang linya ay
winakasan ng a .

Kung ang isang error ay nangyari sa panahon ng prosesong ito, o isang linya na tinukoy ng mga address ay hindi
umiiral kapag ang kasalukuyang linya ay itatakda dito, o higit sa isang linya ang tinukoy
ng mga address, at ang mga nilalaman ng buffer sa pag-edit ay pinapalitan (halimbawa, ng ex
edit: command) isang mensahe ng error ang isusulat, at wala nang mga utos na magreresulta mula sa
ang pagpapatupad ng utos na ito ay dapat iproseso.

kasalukuyan linya: Tulad ng tinukoy para sa indibidwal ex utos.

kasalukuyan haligi: Tulad ng tinukoy para sa indibidwal ex utos.

regular expression in ex
Ang ex dapat suportahan ng utility ang mga regular na expression na isang superset ng pangunahing regular
mga expression na inilarawan sa Base Definitions volume ng POSIX.1-2008, seksyon 9.3, Basic
regular expression. Isang null na regular na expression ("//") ay katumbas ng huli
regular na expression na nakatagpo.

Maaaring gamitin ang mga regular na expression sa mga address upang tukuyin ang mga linya at, sa ilang mga utos (para sa
halimbawa, ang kapalit command), upang tukuyin ang mga bahagi ng isang linya na papalitan.

Ang mga sumusunod na konstruksyon ay maaaring gamitin upang mapahusay ang mga pangunahing regular na expression:

\< Itugma ang simula ng a salita. (Tingnan ang kahulugan ng salita sa simula ng
Utos Mga paglalarawan in ex.)

\> Itugma ang dulo ng a salita.

~ Itugma ang kapalit na bahagi ng huli kapalit utos. Ang ('~')
ang karakter ay maaaring i-escape sa isang regular na expression upang maging isang normal na karakter na may
walang espesyal na kahulugan. Ang ay itatapon.

Kapag ang pagpipiliang editor salamangka ay hindi nakatakda, ang tanging mga character na may mga espesyal na kahulugan ay dapat
be '^' sa simula ng isang pattern, '$' sa dulo ng isang pattern, at . Ang
character '.', '*', '[', at '~' dapat ituring bilang mga ordinaryong karakter maliban kung naunahan
ni a ; kapag naunahan ng a mababawi nila ang kanilang espesyal na kahulugan,
o sa kaso ng , mahawakan bilang isang solong . mga karakter
na ginamit upang makatakas sa iba pang mga karakter ay dapat itapon.

Kapalit String in ex
Ang karakter '&' ('\&' kung ang editor option salamangka ay hindi nakatakda) sa kapalit na string
dapat tumayo para sa tekstong tumugma sa pattern na papalitan. Ang karakter '~' ('\~' if
salamangka ay hindi nakatakda) ay dapat palitan ng kapalit na bahagi ng nauna kapalit
utos. Ang pagkakasunod-sunod '\n', Kung saan n ay isang integer, ay dapat palitan ng tekstong tumugma
sa pamamagitan ng kaukulang back-reference expression. Kung ang kaukulang back-reference
hindi tugma ang expression, pagkatapos ay ang mga character '\n' ay papalitan ng walang laman na string.

Ang mga string '\l', '\u', '\L', at '\U' ay maaaring gamitin upang baguhin ang kaso ng mga elemento sa
kapalit na string (gamit ang '\&' or "\"digit) notasyon. Ang tali '\l' ('\u') Dapat
maging sanhi ng character na kasunod na ma-convert sa lowercase (uppercase). Ang tali '\L'
('\U') ay dapat maging sanhi ng lahat ng mga character na kasunod nito na ma-convert sa lowercase
(uppercase) habang ipinapasok ang mga ito sa pamamagitan ng pagpapalit hanggang sa string '\e' or '\E', O ang
dulo ng kapalit na string, ay nakatagpo.

Kung hindi, anumang karakter na sumusunod sa a ay ituring na literal
karakter, at ang pagtakas ay itatapon.

Isang halimbawa ng case conversion sa s ang utos ay ang mga sumusunod:

:p
Ang pusa nakaupo on ang banig
:s/\<.at\>/\u&/gp
Ang Pusa Sat on ang Pagkain.
:s/S\(.*\)M/S\U\1\eM/p
Ang Pusa SAT ON ANG Pagkain.

Edit Options in ex
Ang ex Ang utility ay may ilang mga opsyon na nagbabago sa pag-uugali nito. Ang mga opsyon na ito ay may
mga default na setting, na maaaring baguhin gamit ang itakda utos.

Ang mga opsyon ay Boolean maliban kung tinukoy.

autoindent, ai
[Default i-unset]

If autoindent ay nakatakda, ang bawat linya sa input mode ay dapat na naka-indent (gamit ang una ng maraming
mga character hangga't maaari, gaya ng tinutukoy ng opsyon ng editor tabstop, at pagkatapos ay ginagamit
character) upang ihanay sa isa pang linya, tulad ng sumusunod:

1. Kung nasa open o visual mode at ang text input ay bahagi ng isang line-oriented na command (tingnan
ang EXTENDED DESCRIPTION sa vi), i-align sa unang column.

2. Kung hindi, kung nasa open o visual mode, ang indentation para sa bawat linya ay dapat itakda bilang
sumusunod:

a. Kung ang isang linya ay nauna nang naipasok bilang bahagi ng utos na ito, dapat itong itakda sa
indentation ng huling ipinasok na linya bilang default, o kung hindi man ay tinukoy para sa
ang -D karakter sa input paraan Command in vi.

b. Kung hindi, ito ay dapat itakda sa indentation ng nakaraang kasalukuyang linya, kung
anumang; kung hindi, sa unang hanay.

3. Para sa ex a, i, at c commands, ang indentation para sa bawat linya ay dapat itakda tulad ng sumusunod:

a. Kung ang isang linya ay nauna nang naipasok bilang bahagi ng utos na ito, dapat itong itakda sa
indentation ng huling ipinasok na linya bilang default, o kung hindi man ay tinukoy para sa
ang eof karakter sa balumbon.

b. Kung hindi, kung ang utos ay ang ex a utos, ito ay dapat itakda sa linya
idinagdag pagkatapos, kung mayroon man; kung hindi sa unang hanay.

c. Kung hindi, kung ang utos ay ang ex i utos, ito ay dapat itakda sa linya
ipinasok bago, kung mayroon man; kung hindi sa unang hanay.

d. Kung hindi, kung ang utos ay ang ex c utos, dapat itong itakda sa indentation
ng linyang pinalitan.

autoprint, ap
[Default itakda]

If autoprint ay nakatakda, ang kasalukuyang linya ay isusulat pagkatapos ng bawat isa ex utos na nagbabago
ang mga nilalaman ng kasalukuyang buffer sa pag-edit, at pagkatapos ng bawat isa mga tag utos kung saan ang tag
nakita ang pattern ng paghahanap o wasto ang numero ng linya ng tag, maliban kung:

1. Ang command ay naisakatuparan habang nasa open o visual mode.

2. Ang utos ay isinagawa bilang bahagi ng a global or v utos o @ buffer execution.

3. Ang utos ay ang anyo ng basahin command na nagbabasa ng file sa edit buffer.

4. Ang utos ay ang apendend, baguhin, O isingit utos.

5. Ang utos ay hindi tinapos ng a .

6. Ang kasalukuyang linya ay isusulat ng isang watawat na tinukoy sa utos; Halimbawa,
alisin # dapat isulat ang kasalukuyang linya gaya ng tinukoy para sa flag modifier sa alisin
utos, at hindi gaya ng tinukoy ng autoprint opsyon sa pag-edit.

autowrite, aw
[Default i-unset]

If autowrite ay nakatakda, at ang edit buffer ay nabago mula noong huli itong ganap
nakasulat sa anumang file, ang mga nilalaman ng buffer sa pag-edit ay isusulat na parang ang ex magsulat
ang utos ay tinukoy nang walang mga argumento, bago ang bawat utos na apektado ng
autowrite ang pagpipilian sa pag-edit ay naisakatuparan. Pagdugtong ng karakter '!' sa pangalan ng utos ng alinman
ng ex utos maliban sa '!' dapat pigilan ang pagsulat. Kung nabigo ang pagsulat, ito ay magiging isang
error at ang utos ay hindi dapat isakatuparan.

pagandahin, bf
[Default i-unset]

If pagandahin ay nakatakda, lahat ng hindi napi-print na character, maliban sa , , at
feed> na mga character, ay dapat itapon mula sa tekstong binasa mula sa mga file.

direktoryo, dir
[Default tinukoy ng pagpapatupad]

Ang halaga ng opsyong ito ay tumutukoy sa direktoryo kung saan ang buffer ng editor ay naroroon
inilagay. Kung ang direktoryo na ito ay hindi maisusulat ng gumagamit, ang editor ay dapat huminto.

edcompatible, ed
[Default i-unset]

Nagdudulot ng pagkakaroon ng g at c mga panlapi sa mga kapalit na utos na dapat tandaan, at
na-toggle sa pamamagitan ng pag-uulit ng mga suffix.

errorbells, eb
[Default i-unset]

Kung ang editor ay nasa ex mode, at hindi sinusuportahan ng terminal ang isang standout mode (tulad ng
kabaligtaran na video), at errorbells ay nakatakda, ang mga mensahe ng error ay dapat mauna sa pamamagitan ng pag-alerto sa
terminal.

exrc
[Default i-unset]

If exrc ay nakatakda, ex dapat ma-access ang alinman .exrc file sa kasalukuyang direktoryo, tulad ng inilarawan sa
Pinasimulan in ex at vi. Kung exrc ay hindi nakatakda, ex huwag pansinin ang anuman .exrc file sa
kasalukuyang direktoryo sa panahon ng pagsisimula, maliban kung ang kasalukuyang direktoryo ay pinangalanan ng
HOME variable ng kapaligiran.

balewalain, ic
[Default i-unset]

If balewalain ay nakatakda, ang mga character na may uppercase at lowercase na representasyon ay dapat
ipalagay ang mga representasyong iyon bilang katumbas para sa mga layunin ng regular na pagpapahayag
paghahambing.

Ang balewalain Ang opsyon sa pag-edit ay makakaapekto sa lahat ng naaalalang regular na expression; Halimbawa,
unsetting ang balewalain ang opsyon sa pag-edit ay dapat magdulot ng kasunod vi n utos na hanapin
ang huling pangunahing regular na expression sa isang case-sensitive na paraan.

listahan
[Default i-unset]

If listahan ay nakatakda, i-edit ang mga buffer lines na nakasulat habang nasa ex command mode ay isusulat bilang
tinukoy para sa i-print utos kasama ang l tinukoy ang bandila. Sa bukas o visual na mode, bawat isa
i-edit ang buffer line ay dapat ipakita bilang tinukoy para sa ex i-print utos kasama ang l bandila
tinukoy. Sa open o visual text input mode, kapag ang cursor ay hindi nakalagay sa alinman
character sa linya, ito ay dapat magpahinga sa '$' pagmamarka ng dulo ng linya.

salamangka
[Default itakda]

If salamangka ay nakatakda, baguhin ang interpretasyon ng mga character sa mga regular na expression at
pagpapalit ng mga string (tingnan ang regular expression in ex at Kapalit String in
ex).

mensahe
[Default itakda]

If mensahe ay nakatakda, ang pahintulot para sa iba na gamitin ang magsulat or makipag-usap mga utos na sulatan
ang terminal ay dapat i-on habang nasa open o visual mode. Ang utos sa antas ng shell mensahe
n dapat mauna sa anumang setting ng ex mensahe opsyon; ibig sabihin, kung mensahe y ay
na ibinigay bago magsimula ang editor (o sa isang shell escape), gaya ng:

:!mesg y

ang mensahe na opsyon sa ex dapat sugpuin ang mga papasok na mensahe, ngunit ang mensahe opsyon ay hindi dapat
paganahin ang mga papasok na mensahe kung mensahe n ay inilabas.

numero, nu
[Default i-unset]

If numero ay nakatakda, i-edit ang mga buffer lines na nakasulat habang nasa ex command mode ay dapat nakasulat sa
mga numero ng linya, sa format na tinukoy ng i-print utos kasama ang # tinukoy ang bandila. Sa
ex text input mode, ang bawat linya ay dapat mauna sa numero ng linya na mayroon ito sa
file.

Sa bukas o visual na mode, ang bawat linya ng buffer sa pag-edit ay dapat ipakita na may naunang linya
numero, sa format na tinukoy ng ex i-print utos kasama ang # tinukoy ang bandila. Ito
ang numero ng linya ay hindi dapat ituring na bahagi ng linya para sa mga layunin ng pagsusuri ng
kasalukuyang hanay; ibig sabihin, ang posisyon ng column 1 ay ang unang posisyon ng column pagkatapos ng
format na tinukoy ng i-print utos.

mga talata, para
[Default sa POSIX locale IPLPPPQPP LIpplpipbp]

Ang mga talata ang opsyon sa pag-edit ay dapat tukuyin ang karagdagang mga hangganan ng talata para sa bukas at
mga utos ng visual mode. Ang mga talata Maaaring itakda ang opsyon sa pag-edit sa isang string ng character
binubuo ng zero o higit pang mga pares ng character. Ito ay dapat na isang error upang itakda ito sa isang kakaiba
bilang ng mga character.

prompt
[Default itakda]

If prompt ay nakatakda, ex Ang command mode input ay dapat i-prompt para sa a (':'); kailan
hindi nakatakda, walang isusulat na prompt.

Basahin lamang
[Default makita teksto]

Kung ang Basahin lamang Ang opsyon sa pag-edit ay nakatakda, ang read-only na mode ay dapat paganahin (tingnan Sumulat). Ang
Basahin lamang Ang opsyon sa pag-edit ay dapat simulan upang itakda kung alinman sa mga sumusunod na kundisyon ay
totoo:

* Ang command-line na opsyon −R ay tinukoy.

* Nagsasagawa ng mga aksyon na katumbas ng daan() function na tinatawag na may sumusunod
ang mga argumento ay nagpapahiwatig na ang file ay walang pahintulot sa pagsulat:

1. Ang kasalukuyang pathname ay ginagamit bilang ang landas argumento.

2. Ang pare-pareho W_OK ay ginagamit bilang ang amode argumento.

Ang Basahin lamang Maaaring masimulan ang opsyon sa pag-edit upang itakda para sa iba, tinukoy ng pagpapatupad
mga dahilan. Ang Basahin lamang Ang opsyon sa pag-edit ay hindi dapat pasimulan upang i-unset batay sa anumang espesyal
mga pribilehiyo ng gumagamit o proseso. Ang Basahin lamang Ang opsyon sa pag-edit ay dapat muling simulan ang bawat isa
oras na ang mga nilalaman ng buffer sa pag-edit ay pinalitan (halimbawa, ng isang i-edit or susunod
command) maliban kung tahasang itinakda ito ng user, kung saan mananatili itong nakatakda hanggang
tahasan itong inaalis ng user. Kapag na-unset, muli itong i-reinitialize sa tuwing iyon
ang mga nilalaman ng buffer sa pag-edit ay pinalitan.

muling iguhit
[Default i-unset]

Ginagaya ng editor ang isang matalinong terminal sa isang piping terminal. (Dahil ito ay malamang na
nangangailangan ng isang malaking halaga ng output sa terminal, ito ay kapaki-pakinabang lamang sa mataas na paghahatid
bilis.)

remap
[Default itakda]

If remap ay nakatakda, ang pagsasalin ng mapa ay magbibigay-daan para sa mga mapa na tinukoy sa mga tuntunin ng iba pang mga mapa;
ang pagsasalin ay magpapatuloy hanggang sa makuha ang huling produkto. Kung hindi nakatakda, isang hakbang lang
isasagawa ang pagsasalin.

ulat
[Default 5]

Ang halaga nito ulat ang opsyon sa pag-edit ay tumutukoy kung anong bilang ng mga linya ang idinaragdag, kinokopya,
ang tinanggal, o binago sa buffer sa pag-edit ay magiging sanhi ng pagsusulat ng mensaheng nagbibigay-kaalaman
sa gumagamit. Ang mga sumusunod na kundisyon ay dapat magdulot ng isang mensaheng nagbibigay-kaalaman. Ang mensahe
dapat maglaman ng bilang ng mga linyang idinagdag, kinopya, tinanggal, o binago, ngunit kung hindi man
hindi natukoy.

* Isang ex or vi utos ng editor, maliban sa buksan, paglansag-lansagin, O nakikita, na nagbabago ng hindi bababa sa
ang halaga ng ulat i-edit ang bilang ng mga linya ng opsyon, at hindi bahagi ng isang ex
global or v utos, o ex or vi buffer execution, ay dapat magdulot ng impormasyon
mensaheng isusulat.

* Isang ex yank or vi y or Y command, na kinokopya ang hindi bababa sa halaga ng ulat i-edit
opsyon plus 1 bilang ng mga linya, at kung saan ay hindi bahagi ng isang ex global or v utos, o
ex or vi buffer execution, ay dapat maging sanhi ng pagsusulat ng mensaheng nagbibigay-kaalaman.

* Isang ex global, v, buksan, paglansag-lansagin, O nakikita utos o ex or vi buffer execution, na nagdaragdag
o nagtatanggal ng kabuuang hindi bababa sa halaga ng ulat i-edit ang bilang ng mga linya ng opsyon,
at hindi bahagi ng isang ex global or v utos, o ex or vi buffer execution,
dapat maging sanhi ng pagsusulat ng mensaheng nagbibigay-impormasyon. (Halimbawa, kung 3 linya ay
idinagdag at 8 linya ang tinanggal sa panahon ng isang ex nakikita utos, 5 ang bilang kung ihahambing
laban sa ulat i-edit ang opsyon pagkatapos makumpleto ang command.)

mag-scroll, scr
[Default (bilang ng mga linya sa display −1)/2]

Ang halaga ng mag-scroll ang opsyon sa pag-edit ay tutukuyin ang bilang ng mga linyang ini-scroll ng ex
-D at z mga utos. Para sa vi -D at -Uutos ni U, dapat
ang paunang bilang ng mga linyang ii-scroll kapag walang nauna -D o -Uutos ni U
ay naisakatuparan.

seksyon
[Default sa lokal na POSIX NHSHH HUnhsh]

Ang seksyon ang opsyon sa pag-edit ay dapat tukuyin ang mga karagdagang hangganan ng seksyon para sa bukas at
mga utos ng visual mode. Ang seksyon maaaring itakda ang opsyon sa pag-edit sa isang character string na binubuo
ng zero o higit pang mga pares ng character; ito ay magiging isang error upang itakda ito sa isang kakaibang bilang ng
character.

shell, sh
[Default mula sa variable ng kapaligiran KABIBI]

Ang halaga ng opsyong ito ay dapat na isang string. Ang default ay kukunin mula sa KABIBI
variable ng kapaligiran. Kung ang KABIBI environment variable ay null o walang laman, ang sh (Tingnan ang sh)
utility ang dapat na default.

shiftwidth, sw
[Default 8]

Ang halaga ng opsyong ito ay dapat magbigay ng lapad sa mga column ng isang antas ng indentation na ginamit
sa panahon ng autoindentation at sa pamamagitan ng mga shift command (< at >).

showmatch, sm
[Default i-unset]

Ang pag-andar na inilarawan para sa showmatch ang opsyon sa pag-edit ay hindi kailangang suportahan sa block-
mode terminal o terminal na may hindi sapat na mga kakayahan.

If showmatch ay nakatakda, sa open o visual mode, kapag a ')' or '}' ay nai-type, kung ang pagtutugma
'(' or '{' ay kasalukuyang nakikita sa display, ang pagtutugma '(' or '{' ay bandera
paglipat ng cursor sa lokasyon nito para sa hindi tiyak na tagal ng oras.

showmode
[Default i-unset]

If showmode nakatakda, sa open o visual mode, ang kasalukuyang mode kung saan ang editor ay dapat
ipapakita sa huling linya ng display. Command mode at text input mode ay dapat
pinagkaiba; iba pang hindi tinukoy na mga mode at impormasyong tinukoy sa pagpapatupad ay maaaring
ipinakita

mabagal na pagbukas
[Default i-unset]

If mabagal na pagbukas ay nakatakda sa panahon ng bukas at visual na text input mode, hindi dapat mag-update ang editor
mga bahagi ng display maliban sa mga column ng display line na nagpapakita ng mga character
ipinasok ng gumagamit (tingnan input paraan Command in vi).

tabstop, ts
[Default 8]

Ang halaga ng opsyon sa pag-edit na ito ay dapat tukuyin ang hangganan ng hanay na ginamit ng a nasa
display (tingnan autoprint, ap at input paraan Command in vi).

taglength, tl
[Default na zero]

Ang halaga ng opsyon sa pag-edit na ito ay dapat tukuyin ang maximum na bilang ng mga character na
itinuturing na makabuluhan sa pangalan ng tag na tinukoy ng user at sa pangalan ng tag mula sa mga tag
file. Kung zero ang value, lahat ng character sa parehong pangalan ng tag ay magiging makabuluhan.

tag
[Default makita teksto]

Ang halaga ng opsyon sa pag-edit na ito ay dapat na isang string ng -delimited pathname ng mga file
ginamit ng mga tag utos. Ang default na halaga ay hindi natukoy.

termino
[Default mula sa variable ng kapaligiran TERM]

Ang halaga ng opsyon sa pag-edit na ito ay dapat na isang string. Ang default ay kukunin mula sa TERM
variable sa kapaligiran. Kung ang TERM environment variable ay walang laman o null, ang
ang default ay hindi natukoy. Dapat gamitin ng editor ang halaga ng opsyon sa pag-edit na ito upang matukoy
ang uri ng display device.

Ang mga resulta ay hindi tinukoy kung binago ng user ang halaga ng term na opsyon sa pag-edit pagkatapos
pagsisimula ng editor.

maikli
[Default i-unset]

If maikli ay nakatakda, maaaring hindi gaanong verbose ang mga mensahe ng error. Gayunpaman, maliban sa caveat na ito,
hindi natukoy ang mga mensahe ng error. Higit pa rito, hindi lahat ng mensahe ng error ay nangangailangan ng pagbabago
iba't ibang mga setting ng opsyong ito.

balaan
[Default itakda]

If balaan ay nakatakda, at ang mga nilalaman ng buffer sa pag-edit ay nabago mula noong ginawa ito
huling ganap na isinulat, ang editor ay magsulat ng isang mensahe ng babala bago tiyak !
mga utos (tingnan Makatakas).

bintana
[Default makita teksto]

Isang value na ginagamit sa open at visual mode, ng -B at -F utos, at, sa
visual mode, upang tukuyin ang bilang ng mga linyang ipinapakita kapag muling pininturahan ang screen.

Kung ang −w command-line na opsyon ay hindi tinukoy, ang default na halaga ay dapat itakda sa
halaga ng MGA LINYA variable ng kapaligiran. Kung ang MGA LINYA environment variable ay walang laman o
null, ang default ay ang bilang ng mga linya sa display na minus 1.

Pagtatakda ng bintana i-edit ang opsyon sa zero o sa isang value na mas malaki kaysa sa bilang ng mga linya sa loob
ang display na minus 1 (alinman sa tahasan o batay sa −w opsyon o ang MGA LINYA kapaligiran
variable) ay magiging sanhi ng bintana i-edit ang opsyon na itatakda sa bilang ng mga linya sa
display minus 1.

Maaaring baguhin ng baud rate ng terminal line ang default sa isang implementasyon-defined
paraan.

wrapmargin, wm
[Default 0]

Kung ang halaga ng opsyon sa pag-edit na ito ay zero, hindi ito magkakaroon ng epekto.

Kung wala sa lokal na POSIX, ang epekto ng opsyon sa pag-edit na ito ay tinukoy sa pagpapatupad.

Kung hindi, dapat itong tukuyin ang isang bilang ng mga column mula sa dulong margin ng terminal.

Sa panahon ng bukas at visual na text input mode, para sa bawat karakter kung saan ang anumang bahagi ng
ang character ay ipinapakita sa isang column na mas mababa sa wrap margin mga hanay mula sa pagtatapos
margin ng display line, ang editor ay dapat kumilos tulad ng sumusunod:

1. Kung ang karakter na nagpapalitaw sa kaganapang ito ay a , ito, at lahat kaagad na nauuna
mga character sa kasalukuyang linya na ipinasok sa panahon ng pagpapatupad ng kasalukuyang
text input command, ay dapat itapon, at ang editor ay dapat kumilos na parang ang gumagamit
nagpasok ng single sa halip. Bilang karagdagan, kung ang susunod na karakter na ipinasok ng user ay
a , ito ay itatapon din.

2. Kung hindi, kung mayroong isa o higit pa mga character sa kasalukuyang linya kaagad
nauuna sa huling pangkat ng mga nakapasok na hindi mga character na ipinasok noong
ang pagpapatupad ng kasalukuyang text input command, ang ang mga character ay dapat
pinalitan na parang ang gumagamit ay nagpasok ng isang solong sa halip.

Kung ang autoindent Itinakda ang opsyon sa pag-edit, at ang mga kaganapang inilalarawan sa 1. o 2. ay ginaganap,
anuman ang mga character sa o pagkatapos ng cursor sa kasalukuyang linya ay dapat itapon.

Ang pangwakas na margin ay dapat matukoy ng system o ma-override ng user, bilang
inilarawan para sa COLUMNS sa seksyong ENVIRONMENT VARIABLE at ang Base Definition volume
ng POSIX.1–2008, Kabanata 8, kapaligiran Variable.

wrapscan, ws
[Default itakda]

If wrapscan ay nakatakda, naghahanap (ang ex / or ? mga address, o bukas at visual na mode /, ?, N,
at n mga utos) ay balot sa simula o dulo ng buffer sa pag-edit; kapag hindi nakatakda,
titigil ang mga paghahanap sa simula o dulo ng buffer sa pag-edit.

magsulat ng kahit ano, wa
[Default i-unset]

If magsulat ng kahit ano ay nakatakda, ang ilan sa mga pagsusuring isinagawa kapag isinagawa ang ex magsulat utos
ay dapat hadlangan, gaya ng inilarawan sa opsyon ng editor autowrite.

EXIT STATUS


Ang mga sumusunod na exit value ay ibabalik:

0 Matagumpay na pagkumpleto.

>0 May naganap na error.

Mga kahihinatnan OF MGA KAMALI


Kapag mayroong anumang error at ang karaniwang input ay hindi isang terminal device file, ex
hindi dapat isulat ang file o bumalik sa command o text input mode, at magtatapos sa
isang non-zero exit status.

Kung hindi, kapag ang isang hindi na mababawi na error ay nakatagpo, ito ay katumbas ng isang SIGHUP
asynchronous na kaganapan.

Kung hindi, kapag ang isang error ay nakatagpo, ang editor ay dapat kumilos ayon sa tinukoy sa Utos
Linya Nagpaparada in ex.

Ang sumusunod seksyon ay nagbibigay-kaalaman.

APLIKASYON PAGGAMIT


Kung ang isang SIGSEGV signal ay natanggap habang ex ay nagse-save ng file, ang file ay maaaring hindi
matagumpay na nai-save.

Ang susunod Ang command ay maaaring tumanggap ng higit sa isang file, kaya ang paggamit tulad ng:

susunod `ls [abc]*`

ay pwede; hindi ito magiging wasto para sa i-edit or basahin mga utos, halimbawa, dahil sila
asahan lamang ang isang file at hindi natukoy na mga resulta ang magaganap.

HALIMBAWA


Wala.

RATIONALE


Ang ex/vi ang pagtutukoy ay batay sa makasaysayang kasanayan na matatagpuan sa 4 BSD at System
V pagpapatupad ng ex at vi.

A pinaghihigpitan editor (parehong makasaysayan pula utility at mga pagbabago sa ex) ay
isinasaalang-alang at tinanggihan para sa pagsasama. Wala sa alinmang opsyon ang nagbigay ng antas ng seguridad na iyon
maaaring asahan ng mga gumagamit.

Ito ay kinikilala na ex Ang visual mode at mga kaugnay na feature ay magiging mahirap, kung hindi
imposible, na ipatupad nang kasiya-siya sa isang block-mode na terminal, o isang terminal na wala
anumang anyo ng pagtugon sa cursor; kaya, ito ay hindi isang ipinag-uutos na kinakailangan na tulad ng mga tampok
dapat gumana sa lahat ng mga terminal. Ito ay ang layunin, gayunpaman, na ang isang ex pagsasakatuparan
dapat magbigay ng buong hanay ng mga kakayahan sa lahat ng mga terminal na may kakayahang suportahan ang mga ito.

Options
Ang −c kapalit ng +utos ay inspirasyon ng −e opsyon ng uhaw. Sa kasaysayan, lahat
tulad ng mga utos (tingnan i-edit at susunod pati na rin) ay naisakatuparan mula sa huling linya ng pag-edit
buffer. Ibig sabihin, halimbawa, iyon "+/pattern" mabibigo maliban kung ang wrapscan opsyon
ay itinakda. Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa makasaysayang kasanayan. Ang +utos Ang opsyon ay
hindi na tinukoy ng POSIX.1‐2008 ngunit maaaring naroroon sa ilang mga pagpapatupad.
Sa kasaysayan, pinaghigpitan ng ilang pagpapatupad ang ex mga utos na maaaring ilista bilang bahagi
ng mga argumento ng command line. Para sa pagkakapare-pareho, hindi pinahihintulutan ng POSIX.1‐2008 ang mga ito
mga paghihigpit.

Sa mga makasaysayang pagpapatupad ng editor, ang −R opsyon (at ang Basahin lamang opsyon sa pag-edit)
pinipigilan lamang ang pag-overwrite ng mga file; pinahihintulutan pa rin ang pagdaragdag sa mga file, pagmamapa
maluwag sa csh noclobber variable. Ang ilang mga pagpapatupad, gayunpaman, ay hindi sumunod
semantikong ito, at Basahin lamang hindi rin pinapayagan ang pagdaragdag. Ang POSIX.1‐2008 ay sumusunod sa
huling pagsasanay, naniniwala na ito ay isang mas malinaw at madaling maunawaan na kahulugan ng Basahin lamang.

Ang −s pinipigilan ng opsyon ang lahat ng interactive na feedback ng user at kapaki-pakinabang para sa pag-edit ng mga script
sa mga batch job. Ang listahan ng mga partikular na epekto ay makasaysayang kasanayan. Ang uri ng terminal
Ang ``incapable of supporting open and visual modes'' ay dating pinangalanang ``dumb''.

Ang −t kinailangan ang opsyon dahil ang ctags lilitaw ang utility sa POSIX.1‐2008 at ang
available ang opsyon sa lahat ng makasaysayang pagpapatupad ng ex.

Kasaysayan, ang ex at vi tinanggap ang mga utility a −x opsyon, na nakabatay sa pag-encrypt
ang algorithm na matatagpuan sa makasaysayang crypt kagamitan. Ang −x opsyon para sa pag-encrypt, at ang
nauugnay crypt utility, ay tinanggal dahil ang algorithm na ginamit ay hindi natukoy at
ang mga batas sa pagkontrol sa pag-export ng ilang bansa ay nagpapahirap sa pag-export ng cryptographic
teknolohiya. Bilang karagdagan, hindi nito ibinigay sa kasaysayan ang antas ng seguridad ng mga gumagamit
baka umasa.

pamantayan input
Ang isang end-of-file na kondisyon ay hindi katumbas ng isang end-of-file na character. Isang karaniwang pagtatapos ng-
karakter ng file, ‐D, ay makasaysayang isang ex utos.

Walang maximum na haba ng linya sa mga makasaysayang pagpapatupad ng ex. Sa partikular, tulad nito
ay na-parse sa mga tipak, ang mga address ay may ibang maximum na haba kaysa sa mga filename.
Dagdag pa, ang maximum na laki ng buffer ng linya ay idineklara bilang BUFSIZ, na magkaiba ang haba
sa iba't ibang sistema. Pinili ng bersyong ito ang halaga ng {LINE_MAX} upang magpataw ng makatwirang
paghihigpit sa portable na paggamit ng ex at upang tulungan ang mga manunulat ng test suite sa kanilang pagbuo ng
makatotohanang mga pagsubok na gumagamit ng limitasyong ito.

input File
Ito ay isang tahasang desisyon ng karaniwang mga developer na a idadagdag sa alinman
kulang ng isa ang file. Ito ay pinaniniwalaan na ang tampok na ito ng ex at vi ay pinagkatiwalaan ng mga gumagamit sa
upang gumawa ng mga text file na walang trailing mas portable. Ito ay kinikilala na
mangangailangan ito ng opsyon o extension na tinukoy ng user para sa mga pagpapatupad na pinahihintulutan ex
at vi upang i-edit ang mga file na may uri maliban sa teksto kung ang mga naturang file ay hindi natukoy ng
ang sistema. Napagkasunduan na ang kakayahang mag-edit ng mga file ng di-makatwirang uri ay maaaring maging kapaki-pakinabang,
ngunit ito ay hindi itinuturing na kinakailangan upang mag-utos na isang ex or vi kinakailangan ang pagpapatupad
upang pangasiwaan ang mga file maliban sa mga text file.

Ang talata sa seksyong INPUT FILES, ``By default, ...'', ay nilayon upang isara ang isang
matagal nang problema sa seguridad sa ex at vi; na sa ``modelo'' o ``modelo''
opsyon sa pag-edit. Ang tampok na ito ay nagbibigay-daan sa anumang linya sa una o huling limang linya ng file
naglalaman ng mga string "ex:" or "vi:" (at, tila, "ei:" or "vx:") upang maging isang linya
naglalaman ng mga utos ng editor, at ex binibigyang-kahulugan ang lahat ng teksto hanggang sa susunod ':' o
bilang utos. Isaalang-alang ang mga kahihinatnan, halimbawa, ng isang hindi pinaghihinalaang gumagamit na gumagamit ex or
vi bilang editor kapag tumutugon sa isang mensaheng mail kung saan ang isang linya tulad ng:

ex:! rm −rf :

lumitaw sa mga linya ng lagda. Ang mga karaniwang developer ay lubos na naniniwala na ang isang editor
hindi dapat bilang default na bigyang-kahulugan ang anumang mga linya ng isang file. Ang mga vendor ay mahigpit na hinihimok na tanggalin
ang tampok na ito mula sa kanilang mga pagpapatupad ng ex at vi.

Asynchronous Mga Kaganapan
Ang intensyon ng pariralang ``complete write'' ay ang buong edit buffer ay maisulat
sa matatag na imbakan. Ang tala tungkol sa mga pansamantalang file ay inilaan para sa mga pagpapatupad na
gumamit ng mga pansamantalang file upang i-back ang pag-edit ng mga buffer na hindi pinangalanan ng user.

Sa kasaysayan, ang SIGQUIT ay hindi pinansin ng ex, ngunit ang katumbas ng Q utos sa biswal
mode; ibig sabihin, lumabas ito sa visual mode at pumasok ex mode. POSIX.1‐2008 permit, ngunit ginagawa
hindi nangangailangan, ang pag-uugali na ito. Sa kasaysayan, ang SIGINT ay kadalasang ginagamit ng vi mga gumagamit upang wakasan
text input mode ( ‐C ay kadalasang mas madaling ipasok kaysa ). Ilang mga pagpapatupad
of vi inalerto ang terminal sa kaganapang ito, at ang ilan ay hindi. Kinakailangan iyon ng POSIX.1‐2008
Magkapareho ang pagkilos ng SIGINT , at hindi maalerto ang terminal.

Sa kasaysayan, ang pagsususpinde sa ex editor sa panahon ng text input mode ay katulad ng SIGINT, bilang
ang mga nakumpletong linya ay napanatili, ngunit ang anumang bahagyang linya ay itinapon, at bumalik ang editor sa
command mode. Ang POSIX.1‐2008 ay tahimik sa isyung ito; ang mga pagpapatupad ay hinihikayat na
sundin ang makasaysayang kasanayan, kung posible.

Kasaysayan, ang vi hindi itinuring ng editor ang SIGTSTP bilang isang asynchronous na kaganapan, at ito ay
kaya imposibleng suspindihin ang editor sa visual text input mode. May dalawang major
mga dahilan para dito. Ang una ay ang SIGTSTP ay isang broadcast signal sa UNIX system, at ang
chain of events kung saan ang shell execs isang application na pagkatapos execs vi karaniwang sanhi
pagkalito para sa estado ng terminal kung ang SIGTSTP ay naihatid sa pangkat ng proseso sa
default na paraan. Ang pangalawa ay ang karamihan sa mga pagpapatupad ng UNIX sumpa ginawa ng package
hindi hawakan nang ligtas ang SIGTSTP, at ang pagtanggap ng SIGTSTP sa maling oras ay magdudulot sa kanila
mag-crash. Ang POSIX.1‐2008 ay tahimik sa isyung ito; ang mga pagpapatupad ay hinihikayat na gamutin
pagsususpinde bilang isang asynchronous na kaganapan kung maaari.

Sa kasaysayan, ang mga pagbabago sa buffer sa pag-edit na ginawa bago ang SIGINT ay naantala ang isang operasyon
ay pinanatili; ibig sabihin, kahit saan mula sa zero hanggang sa lahat ng mga linyang babaguhin ay maaaring mayroon
ay binago sa oras na dumating ang SIGINT. Ang mga pagbabagong ito ay hindi itinapon ng
pagdating ng SIGINT. Pinahihintulutan ng POSIX.1‐2008 ang pag-uugaling ito, na binabanggit na ang paglansag-lansagin utos ay
kinakailangan upang ma-undo ang mga bahagyang nakumpletong command na ito.

Ang aksyon na ginawa para sa mga signal maliban sa SIGINT, SIGCONT, SIGHUP, at SIGTERM ay
hindi tinukoy dahil sinusubukan ng ilang pagpapatupad na i-save ang buffer sa pag-edit sa isang kapaki-pakinabang na estado
kapag natanggap ang iba pang mga signal.

pamantayan pagkakamali
para ex/vi, ang mga diagnostic na mensahe ay ang mga mensaheng iniulat bilang resulta ng isang nabigong pagtatangka
mag-invoke ex or vi, gaya ng mga di-wastong opsyon o hindi sapat na mapagkukunan, o abnormal
kondisyon ng pagwawakas. Ang mga diagnostic na mensahe ay hindi dapat malito sa mga mensahe ng error
nabuo ng hindi naaangkop o ilegal na mga utos ng user.

Pinasimulan in ex at vi
Kung ang isang ex utos (maliban sa cd, chdir, O pinagmulan) ay may filename argument, isa o pareho ng
itatakda ang kahaliling at kasalukuyang mga pathname. Impormal, itinakda ang mga ito tulad ng sumusunod:

1. Kung ang ex Ang command ay isa na pumapalit sa mga nilalaman ng buffer sa pag-edit, at ito
magtagumpay, ang kasalukuyang pathname ay itatakda sa argumento ng filename (ang una
argumento ng filename sa kaso ng susunod command) at ang kahaliling pangalan ng path ay
itakda sa nakaraang kasalukuyang pathname, kung mayroon man.

2. Sa kaso ng file read/write forms ng basahin at magsulat mga utos, kung mayroon
walang kasalukuyang pathname, ang kasalukuyang pathname ay itatakda sa argumento ng filename.

3. Kung hindi, ang kahaliling pathname ay itatakda sa argumento ng filename.

Halimbawa, edit: foo at :bawi foo, kapag matagumpay, itakda ang kasalukuyang pathname, at,
kung mayroong nakaraang kasalukuyang pathname, ang kahaliling pathname. Ang mga utos : magsulat,
!utos, at edit: huwag itakda ang kasalukuyan o kahaliling mga pathname. Kung ang edit: foo
utos ay mabibigo sa ilang kadahilanan, ang kahaliling pangalan ng landas ay itatakda. Ang basahin at
magsulat itinakda ng mga command ang alternatibong pathname sa kanilang file argument, maliban kung ang kasalukuyang
hindi nakatakda ang pathname, kung saan itinakda nila ang kasalukuyang pathname sa kanilang file argumento.
Ang kahaliling pathname ay hindi dating itinakda ng :pinagmulan utos. POSIX.1–2008
nangangailangan ng pagsunod sa makasaysayang kasanayan. Mga pagpapatupad na nagdaragdag ng mga utos na tumatagal
Ang mga filename bilang mga argumento ay hinihikayat na itakda ang kahaliling pathname gaya ng inilarawan dito.

Sa kasaysayan, ex at vi Basahin ang .exrc file sa $ HOME direktoryo ng dalawang beses, kung ang editor
ay pinatay sa $ HOME direktoryo. Ipinagbabawal ng POSIX.1‐2008 ang pag-uugaling ito.

Sa kasaysayan, ang 4 BSD ex at vi Basahin ang $ HOME at lokal .exrc mga file kung pagmamay-ari sila
sa pamamagitan ng tunay na ID ng user, o ang sourceany itinakda ang opsyon, anuman ang iba
pagsasaalang-alang. Ito ay isang problema sa seguridad dahil posibleng ilagay ang normal na UNIX
mga utos ng system sa loob ng a .exrc file. Hindi tinukoy ng POSIX.1‐2008 ang sourceany pagpipilian,
at ang mga makasaysayang pagpapatupad ay hinihikayat na tanggalin ito.

Ang .exrc Ang mga file ay dapat na pagmamay-ari ng tunay na ID ng user, at hindi maaaring isulat ng sinuman
kaysa sa may-ari. Ang naaangkop na pagbubukod sa mga pribilehiyo ay nilayon upang payagan ang mga gumagamit na
makakuha ng mga espesyal na pribilehiyo, ngunit patuloy na gamitin ang .exrc mga file sa kanilang mga home directory.

System V Release 3.2 at mas bago vi idinagdag ng mga pagpapatupad ang opsyon [no]exrc. Ang ugali
local ba yan .exrc Ang mga file ay read-only kung ang exrc nakatakda ang opsyon. Ang default para sa
exrc naka-off ang opsyon, kaya bilang default, lokal .exrc hindi nabasa ang mga file. Ang problema noon
nilayon upang lutasin ay pinahintulutan ng System V ang mga user na mamigay ng mga file, kaya wala
posibleng pagmamay-ari o writeability test para matiyak na ligtas ang file. Ito pa rin ang isang
problema sa seguridad sa mga system kung saan maaaring mamigay ng mga file ang mga user, ngunit wala
karagdagang na maaaring gawin ng POSIX.1‐2008. Ang pagbubukod na tinukoy sa pagpapatupad ay nilayon
pahintulutan ang mga grupo na magkaroon ng lokal .exrc mga file na ibinabahagi ng mga user, sa pamamagitan ng paglikha ng mga pseudo-user
upang pagmamay-ari ang mga nakabahaging file.

Hindi binabanggit ng POSIX.1‐2008 ang buong sistema ex at vi mga start-up na file. Habang sila ay umiiral sa
ilang mga pagpapatupad ng ex at vi, wala ang mga ito sa anumang pagpapatupad
itinuturing na makasaysayang kasanayan ng POSIX.1‐2008. Mga pagpapatupad na mayroong ganitong mga file
dapat gamitin lamang ang mga ito kung pagmamay-ari ang mga ito ng tunay na user ID o isang naaangkop na user (para sa
halimbawa, ugat sa mga sistema ng UNIX) at kung hindi sila maisusulat ng sinumang user maliban sa kanilang
may-ari. Dapat basahin ang mga start-up na file sa buong system bago ang EXINIT variable, $HOME/.exrc,
o lokal .exrc sinusuri ang mga file.

Sa kasaysayan, anuman ex maaaring ilagay ang utos sa EXINIT variable o ang .exrc file,
bagama't ang mga nangangailangan na ang edit buffer ay naglalaman na ng mga linya ng teksto sa pangkalahatan
naging dahilan upang bumaba ang mga makasaysayang pagpapatupad ng editor ubod. Kinakailangan iyon ng POSIX.1‐2008
anumang ex utos ay pinahihintulutan sa EXINIT variable at .exrc mga file, para sa pagiging simple ng
pagtutukoy at pagkakapare-pareho, bagaman marami sa kanila ay malinaw na mabibigo sa ilalim ng marami
pangyayari.

Ang pagsisimula ng mga nilalaman ng buffer sa pag-edit ay gumagamit ng pariralang ``dapat ang epekto
maging'' patungkol sa iba't-ibang ex mga utos. Ang layunin ng pariralang ito ay ang buffer sa pag-edit
hindi mawawala ang mga nilalamang na-load sa yugto ng pagsisimula; ibig sabihin, nilo-load ang edit
buffer ay dapat mabigo kung ang .exrc nabasa ang file sa mga nilalaman ng isang file at hindi
pagkatapos ay isulat ang buffer sa pag-edit. Ang karagdagang layunin ng pariralang ito ay tukuyin iyon
ang paunang kasalukuyang linya at column ay itinakda bilang tinukoy para sa indibidwal ex utos.

Kasaysayan, ang −t ang opsyon ay kumilos na parang ang paghahanap ng tag ay a +utos; iyon ay, ito ay
isinagawa mula sa huling linya ng file na tinukoy ng tag. Nagresulta ito sa paghahanap
nabigo kung ang pattern ay isang pasulong na pattern ng paghahanap at ang wrapscan ang opsyon sa pag-edit ay hindi
itakda. Hindi pinahihintulutan ng POSIX.1‐2008 ang pag-uugaling ito, na nangangailangan ng paghahanap para sa tag
pattern ay isasagawa sa buong file, at, kung hindi matagpuan, na ang kasalukuyang linya ay itakda
sa isang mas makatwirang lokasyon sa file.

Sa kasaysayan, ang walang laman na buffer sa pag-edit ay ipinakita para sa pag-edit kapag ang isang file ay hindi tinukoy ng
ang gumagamit ay hindi pinangalanan. Ito ay pinahihintulutan ng POSIX.1‐2008; gayunpaman, ang mga pagpapatupad ay
hinihikayat na magbigay sa mga user ng pansamantalang filename para sa buffer na ito dahil pinapayagan sila nito
ang paggamit ng mga ex mga command na gumagamit ng kasalukuyang pathname sa panahon ng mga pansamantalang session sa pag-edit.

Sa kasaysayan, ang file na tinukoy gamit ang −t ang opsyon ay hindi bahagi ng kasalukuyang argumento
listahan. Ang pagsasanay na ito ay pinahihintulutan ng POSIX.1‐2008; gayunpaman, hinihikayat ang mga pagpapatupad
upang isama ang pangalan nito sa kasalukuyang listahan ng argumento para sa pagkakapare-pareho.

Kasaysayan, ang −c Ang command ay karaniwang hindi naisakatuparan hanggang sa isang file na mayroon na
ay na-edit. Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa makasaysayang kasanayang ito. Utos niyan
maaaring maging sanhi ng −c utos na isasagawa isama ang ex utos i-edit, susunod, mabawi,
i-rewind, at mga tag, at ang vi mga utos ‐^ at ‐]. Sa kasaysayan, ang pagbabasa a
file sa isang buffer sa pag-edit ay hindi naging sanhi ng −c utos na ipapatupad (kahit na maaaring
itakda ang kasalukuyang pathname) na may pagbubukod na ito ay naging sanhi ng −c utos na maging
naisakatuparan kung: ang editor ay nasa ex mode, ang edit buffer ay walang kasalukuyang pathname, ang edit
walang laman ang buffer, at wala pang nasubukang read command. Para sa pagkakapare-pareho at
pagiging simple ng detalye, hindi pinahihintulutan ng POSIX.1‐2008 ang pag-uugaling ito.

Kasaysayan, ang −r ang opsyon ay pareho sa isang normal na sesyon ng pag-edit kung walang pagbawi
impormasyong magagamit para sa file. Pinahintulutan nito ang mga user na ipasok ang:

vi −r *.c

at bawiin ang anumang mga file na mababawi. Sa ilang mga pagpapatupad, ang pagbawi ay
sinubukan lamang sa unang file na pinangalanan, at ang file ay hindi naipasok sa argumento
listahan; sa iba, sinubukan ang pagbawi para sa bawat file na pinangalanan. Bilang karagdagan, ang ilang mga makasaysayang
hindi pinansin ang mga pagpapatupad −r if −t ay tinukoy o hindi sumusuporta sa command line file
mga argumento kasama ang −t opsyon. Para sa pagkakapare-pareho at pagiging simple ng detalye,
Hindi pinapayagan ng POSIX.1‐2008 ang mga espesyal na kaso na ito, at nangangailangan na subukan ang pagbawi sa
unang beses na na-edit ang bawat file.

Sa kasaysayan, vi sinimulan ang ` at ' mga marka, ngunit ex hindi. Nangangahulugan ito na kung ang
unang utos sa ex mode noon nakikita o kung ang isang ex ang utos ay unang naisakatuparan (halimbawa,
vi + 10 file), vi ay ipinasok nang hindi sinisimulan ang mga marka. Dahil ang pamantayan
naniniwala ang mga developer na ang mga marka ay pangkalahatang kapaki-pakinabang, at para sa pagkakapare-pareho at pagiging simple
ng espesipikasyon, ang POSIX.1‐2008 ay nangangailangan na sila ay palaging sinisimulan kung bukas o
visual mode, o kung nasa ex mode at ang buffer sa pag-edit ay walang laman. Hindi pinasimulan ito ex
mode kung walang laman ang buffer sa pag-edit ay makasaysayang kasanayan; gayunpaman, ito ay palaging
posibleng magtakda (at gumamit) ng mga marka sa mga walang laman na buffer sa pag-edit sa bukas at visual na mode na pag-edit
mga sesyon.

Pagtugon
Sa kasaysayan, ex at vi tinanggap ang karagdagang mga form sa pagtugon '\/' at '\?'. Sila ay
katumbas ng "//" at "??", ayon sa pagkakabanggit. Ang mga ito ay hindi kinakailangan ng POSIX.1‐2008, karamihan
dahil walang makakaalala kung may ginawa silang kakaiba sa kasaysayan.

Sa kasaysayan, ex at vi pinahintulutan ang isang address na zero para sa ilang mga utos, at pinahintulutan
ang % address sa mga walang laman na file para sa iba. Para sa pagkakapare-pareho, ang POSIX.1‐2008 ay nangangailangan ng suporta
para sa dating sa ilang mga utos kung saan ito ay may katuturan, at hindi pinapayagan ito kung hindi man. Sa
karagdagan, dahil kailangan iyon ng POSIX.1‐2008 % maging lohikal na katumbas ng "1,$", ito ay
sinusuportahan din kung saan ito ay may katuturan at hindi pinapayagan kung hindi man.

Kasaysayan, ang % hindi masundan ng mga karagdagang address ang address. Para sa consistency
at pagiging simple ng detalye, hinihiling ng POSIX.1‐2008 na ang mga karagdagang address ay
suportado.

Lahat ng sumusunod ay wasto addresses:

+++ Tatlong linya pagkatapos ng kasalukuyang linya.

/re/− Isang linya bago ang susunod na paglitaw ng re.

−2 Dalawang linya bago ang kasalukuyang linya.

3 −−−− 2 Unang linya (tandaan ang intermediate negatibong address).

1 2 3 Ikaanim na linya.

Anumang bilang ng mga address ay maaaring ibigay sa mga utos na kumukuha ng mga address; Halimbawa,
"1,2,3,4,5p" nagpi-print ng mga linya 4 at 5, dahil dalawa ang pinakamaraming wastong bilang ng mga address
tinanggap ng i-print utos. Ito, kasama ang delimiter,
nagpapahintulot sa mga user na lumikha ng mga command batay sa mga nakaayos na pattern sa file. Halimbawa, ang
utos 3;/foo/;+2print ay ipapakita ang unang linya pagkatapos ng linya 3 na naglalaman ng pattern
foo, kasama ang susunod na dalawang linya. Tandaan na ang address 3; dapat suriin bago maging
itinapon dahil ang pinagmulan ng paghahanap para sa /foo/ nakasalalay dito ang utos.

Sa kasaysayan, ang mga halaga ay maaaring idagdag sa mga address sa pamamagitan ng pagsasama sa kanila pagkatapos ng isa o higit pa
mga karakter; Halimbawa, 3 - 5p isinulat ang ikapitong linya ng file, at /foo/ 5
ay katulad ng /foo/+5. Gayunpaman, ang mga ganap na halaga lamang ang maaaring idagdag; Halimbawa,
5 /foo/ ay isang pagkakamali. Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa makasaysayang kasanayan. Address
Ang mga offset ay hiwalay na tinukoy mula sa mga address dahil maaaring ang mga ito sa kasaysayan
ibinigay sa visual mode search command.

Sa kasaysayan, ang anumang nawawalang mga address ay na-default sa kasalukuyang linya. Ito ay totoo para sa
nangunguna at sumusunod -delimited na mga address, at para sa trailing -delimitado
mga address. Para sa pagkakapare-pareho, kailangan ito ng POSIX.1‐2008 para sa pangunguna mga address bilang
mabuti.

Sa kasaysayan, ex at vi tinanggap ang '^' character bilang parehong address at bilang isang flag offset
para sa mga utos. Sa parehong mga kaso ito ay magkapareho sa '−' karakter. POSIX.1‐2008 ay hindi
kailangan o ipagbawal ang pag-uugaling ito.

Sa kasaysayan, ang mga pagpapahusay sa mga pangunahing regular na expression ay maaaring gamitin sa pagtugon;
Halimbawa, '~', '\<', at '\>'. Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa kasaysayan
pagsasanay; ibig sabihin, ang paggamit ng regular na expression ay pare-pareho, at ang regular na iyon
ang mga pagpapahusay ng expression ay sinusuportahan saanman ginagamit ang mga regular na expression.

Utos Linya Nagpaparada in ex
makasaysayan ex Ang pag-parse ng command ay mas kumplikado kaysa sa inilarawan dito. POSIX.1–2008
nangangailangan ng subset ng command parsing na pinaniniwalaan ng mga karaniwang developer
dokumentado at ang mga user ay maaaring makatwirang inaasahan na gamitin sa isang portable na paraan, at
na dating pare-pareho sa pagitan ng mga pagpapatupad. (Ang itinapon na functionality ay
malabo, sa pinakamaganda.) Ang mga makasaysayang pagpapatupad ay mangangailangan ng mga pagbabago upang makasunod
may POSIX.1–2008; gayunpaman, hindi inaasahang mapapansin ng mga user ang alinman sa mga pagbabagong ito. Karamihan
ng pagiging kumplikado sa ex ang pag-parse ay upang pangasiwaan ang tatlong espesyal na kaso ng pagwawakas:

1. Ang !, global, v, at ang mga bersyon ng filter ng basahin at magsulat ang mga utos ay nililimitahan
sa pamamagitan ng mga character (maaari silang maglaman mga karakter na karaniwan
shell pipe).

2. Ang ex, i-edit, susunod, at nakikita sa bukas at visual na mode na mga utos ang lahat ay tumatagal ex mga utos,
opsyonal na naglalaman mga character, bilang kanilang mga unang argumento.

3. Ang s Ang command ay tumatagal ng isang regular na expression bilang unang argumento nito, at ginagamit ang
pag-delimiting ng mga character para i-delimite ang command.

Sa kasaysayan, mga tauhan sa +utos argumento ng ex, i-edit, susunod,
vi, at nakikita mga utos, at sa huwaran at kapalit mga bahagi ng s utos, ginawa
hindi limitahan ang utos, at sa mga kaso ng filter para sa basahin at magsulat, at ang !, global,
at v mga utos, hindi nila nilimitahan ang utos. Halimbawa, ang mga sumusunod
lahat ng mga utos ay wasto:

:i-edit ang +25 | s/abc/ABC/ file.c
:s/ | /PIPE/
:basahin ang !spell % | columnate
:global/pattern/p | l
:s/a/b/ | s/c/d | itakda

Sa kasaysayan, walang laman o napuno ang mga linya .exrc mga file at pinagmuland file (pati na rin
EXINIT mga variable at ex command script) ay itinuring bilang mga default na utos; yan ay, i-print
mga utos. Ang POSIX.1‐2008 ay partikular na nangangailangan na sila ay hindi papansinin kapag nakatagpo sa
.exrc at pinagmuland file upang alisin ang isang karaniwang pinagmumulan ng bagong error ng user.

Sa kasaysayan, ex mga utos na may maraming katabi (o -hiwalay) patayong mga linya
ay pinangangasiwaan nang kakaiba kapag naisakatuparan mula sa ex mode. Halimbawa, ang utos ||| <karwahe-
return>, kapag ang cursor ay nasa linya 1, ipinakita ang mga linya 2, 3, at 5 ng file. Sa
karagdagan, ang utos | ipapakita lamang ang linya pagkatapos ng susunod na linya, sa halip na ang
susunod na dalawang linya. Ang dating nagtrabaho nang mas lohikal kapag naisakatuparan mula sa vi mode, at ipinapakita
linya 2, 3, at 4. POSIX.1‐2008 ay nangangailangan ng vi pag-uugali; ibig sabihin, isang solong default
command at line number increment para sa bawat command separator, at trailing
mga karakter pagkatapos itinatapon ang mga separator.

Sa kasaysayan, ex pinahihintulutan ang isang solong dagdag bilang isang nangungunang command character; para sa
Halimbawa, :g/pattern/:p ay isang wastong utos. Isinasaalang-alang ito ng POSIX.1‐2008 upang kailanganin iyon
anumang bilang ng nangunguna hubaran ang mga karakter.

Sa kasaysayan, anumang prefix ng alisin ang utos ay maaaring sundin nang hindi nakikialam
characters by a flag character kasi sa command d p, p ay binibigyang kahulugan bilang ang
nagpapahina ng lakas p. Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa makasaysayang kasanayan.

Kasaysayan, ang k Ang utos ay maaaring sundan ng pangalan ng marka nang hindi nakikialam
mga karakter. Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa makasaysayang kasanayan.

Kasaysayan, ang s utos ay maaaring agad na sundan ng bandila at opsyon na mga character;
Halimbawa, s/e/E/|s|sgc3p was a valid command. Gayunpaman, hindi makatayo ang mga flag character
nag-iisa; halimbawa, ang mga utos sp at s l ay mabibigo, habang ang utos sgp at s gl
ay magtatagumpay. (Malinaw, ang '#' flag character ay ginamit bilang delimiter character kung ito
sinunod ang utos.) Ang isa pang isyu ay ang mga character na opsyon ay kailangang mauna sa bandila
mga character kahit na ang utos ay ganap na tinukoy; halimbawa, ang utos s/e/E/pg
ay mabibigo, habang ang utos s/e/E/gp ay magtatagumpay. Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa
makasaysayang kasanayan.

Sa kasaysayan, ang unang pangalan ng command na may prefix na tumutugma sa input mula sa user
ay ang naisakatuparan na utos; Halimbawa, ve, ver, at upang lahat ay naisakatuparan ang bersyon utos.
Ang mga utos ay nasa isang tiyak na pagkakasunud-sunod, gayunpaman, kaya iyon a naitugma apendend, Hindi pagpapaikli.
Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa makasaysayang kasanayan. Ang paghihigpit sa utos
Ang pagkakasunud-sunod ng paghahanap para sa mga pagpapatupad na may mga extension ay upang maiwasan ang pagdaragdag ng mga utos tulad nito
na ang mga makasaysayang prefix ay mabibigo na gagana nang portably.

Makasaysayang pagpapatupad ng ex at vi hindi wastong humawak ng maramihang ex mga utos,
pinaghiwalay ng mga character, na pumasok o lumabas sa visual mode o editor.
Dahil ang mga pagpapatupad ng vi umiiral na hindi nagpapakita ng ganitong failure mode, POSIX.1‐2008
hindi pinapayagan ito.

Ang pangangailangan na ang mga pangalan ng utos ng alpabeto ay binubuo ng lahat ng sumusunod na alpabeto
ang mga character hanggang sa susunod na hindi alphabetic na character ay nangangahulugan na ang mga alphabetic na pangalan ng command
ay dapat na ihiwalay sa kanilang mga argumento ng isa o higit pang hindi alpabetikong mga character, karaniwan
a o '!' character, maliban sa tinukoy para sa mga pagbubukod, ang alisin, k, at s
utos.

Sa kasaysayan, ang paulit-ulit na pagpapatupad ng ex default i-print mga utos ( -D, eof,
, ) binura ang anumang nag-uudyok na karakter at ipinakita ang mga susunod na linya
nang walang pag-scroll sa terminal; ibig sabihin, nasa ibaba kaagad ng anumang mga naunang ipinakitang linya.
Nagbigay ito ng mas malinis na presentasyon ng mga linya sa file para sa user. POSIX.1–2008
hindi nangangailangan ng ganitong pag-uugali dahil maaaring imposible ito sa ilang sitwasyon; gayunpaman,
ang mga pagpapatupad ay mahigpit na hinihikayat na ibigay ang semantikong ito kung maaari.

Sa kasaysayan, posibleng baguhin ang mga file sa gitna ng isang command, at magkaroon ng
ang natitirang utos na naisakatuparan sa bagong file; Halimbawa:

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

ay isang wastong utos, at ang pagpapalit ay sinubukan sa bagong na-edit na file.
Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa makasaysayang kasanayan. Ang mga sumusunod na utos ay
mga halimbawa na nagsasanay sa ex parser:

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

Sa kasaysayan, walang proteksyon sa mga pagpapatupad ng editor na dapat iwasan ex global, v, @,
or * mga utos na nagpapalit ng mga buffer sa pag-edit sa panahon ng pagpapatupad ng kanilang nauugnay na mga utos. kasi
ito ay halos palaging magreresulta sa malaking kabiguan ng editor, at
umiiral ang mga pagpapatupad na nagpapakita ng mga problemang ito, ang POSIX.1‐2008 ay nangangailangan ng pagbabagong iyon
ang edit buffer habang a global or v utos, o habang a @ or * utos para saan doon
ay higit sa isang solong pagpapatupad, magiging isang error. Mga pagpapatupad na sumusuporta sa maramihang
i-edit ang mga buffer nang sabay-sabay ay mahigpit na hinihikayat na ilapat ang parehong semantika sa
lumilipat din sa pagitan ng mga buffer.

Ang ex command quoting na kinakailangan ng POSIX.1‐2008 ay isang superset ng quoting sa historical
pagpapatupad ng editor. Halimbawa, hindi posible sa kasaysayan na makatakas a
sa isang filename; Halimbawa, edit: foo\\\ bar mag-uulat na masyadong maraming mga filename
ay ipinasok para sa edit command, at walang paraan ng pagtakas a sa
ang unang argumento ng isang i-edit, ex, susunod, O nakikita utos sa lahat. Ang POSIX.1‐2008 ay umaabot
makasaysayang kasanayan, na nangangailangan na ang pag-uugali ng pagsipi ay gawing pare-pareho sa lahat ex
mga utos, maliban sa mapa, alisin ang mapa, pagpapaikli, at alisin sa ikli mga utos, na
ginamit sa kasaysayan ‐V sa halip na mga karakter para sa pagsipi. Para sa mga
apat na utos, ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa makasaysayang kasanayan.

Backslash quoting in ex ay hindi intuitive. -ang mga pagtakas ay hindi pinapansin maliban kung sila
makatakas sa isang espesyal na karakter; halimbawa, kapag gumaganap file pagpapalawak ng argumento, ang
pisi "\\%" ay katumbas ng '\%', hindi "\kasalukuyan pangalan ng landas>". Ito ay maaaring nakakalito para sa
mga gumagamit dahil ay karaniwang isa sa mga character na nagiging sanhi ng pagpapalawak ng shell sa
isasagawa, at samakatuwid ang mga panuntunan sa pag-quote ng shell ay dapat isaalang-alang.
Sa pangkalahatan, ang pag-quote ng mga character ay isinasaalang-alang lamang kung sila ay tumakas sa isang espesyal na karakter, at
dapat magbigay ng quoting character para sa bawat layer ng parsing kung saan ang character ay
espesyal. Bilang isa pang halimbawa, isa lamang ay kailangan para sa '\l' pagkakasunud-sunod
sa kapalit na mga pattern ng kapalit, dahil ang karakter 'l' ay hindi espesyal sa sinuman
parsing layer sa itaas nito.

-V na sumipi sa ex ay bahagyang naiiba sa backslash quoting. Sa apat
utos kung saan Nalalapat ang ‐V quoting (pagpapaikli, alisin sa ikli, mapa, at alisin ang mapa), anuman
ang karakter ay maaaring takasan ng a ‐V kung ito ay magkakaroon ng espesyal na kahulugan o hindi.
Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa makasaysayang kasanayan.

Ang mga makasaysayang pagpapatupad ng editor ay hindi nangangailangan ng mga delimiter sa loob ng karakter
mga klase na takasan; halimbawa, ang utos :s/[/]// sa string "xxx/yyy" gusto
tanggalin ang '/' mula sa string. Hindi pinapayagan ng POSIX.1‐2008 ang makasaysayang kasanayang ito para sa
pagkakapare-pareho at dahil naglalagay ito ng malaking pasanin sa mga pagpapatupad sa pamamagitan ng pag-aatas nito
kaalaman sa mga regular na expression ay binuo sa editor parser.

Sa kasaysayan, pagsipi mga karakter sa ex ang mga utos ay hinahawakan nang hindi pare-pareho. Sa
karamihan sa mga kaso, ang palaging tinatapos ng karakter ang utos, anuman ang anuman
nauuna escape character, dahil hindi nakatakas ang mga karakter
mga character para sa karamihan ex mga utos. Gayunpaman, ang ilan ex mga utos (halimbawa, s, mapa, at
pagdadaglat) pinahihintulutan mga character na dapat takasan (bagaman sa kaso ng mapa
at pagdadaglat, ‐V character ang tumakas sa kanila sa halip na mga karakter).
Ito ay totoo hindi lamang sa command line, kundi pati na rin .exrc at pinagmuland file. Halimbawa,
ang utos:

mapa = foo bar

ay magtatagumpay, bagama't kung minsan ay mahirap makuha ang ‐V at ang ipinasok
naipasa sa ex parser. Para sa pagkakapare-pareho at pagiging simple ng detalye,
Kinakailangan ng POSIX.1‐2008 na posibleng makatakas mga karakter sa ex utos sa
lahat ng oras, gamit mga character para sa karamihan ex mga utos, at paggamit -V
mga karakter para sa mapa at pagdadaglat mga utos. Halimbawa, ang utos
i-printlistahan ay kinakailangang ma-parse bilang isang utos i-printlistahan.
Bagama't naiiba ito sa makasaysayang kasanayan, naniniwala ang mga developer ng POSIX.1‐2008 na hindi ito malamang
na ang sinumang script o user ay nakadepende sa dating gawi.

Sa kasaysayan, isang error sa isang utos na tinukoy gamit ang −c opsyon ay hindi naging sanhi ng iba
ng −c mga utos na dapat itapon. Hindi pinapayagan ito ng POSIX.1‐2008 para sa pagkakapare-pareho sa
nakamapang mga susi, ang @, global, pinagmulan, at v mga utos, ang EXINIT variable ng kapaligiran, at
ang .exrc file.

input Pag-edit in ex
Isa sa mga karaniwang gamit ng historikal ex ang editor ay higit sa mabagal na koneksyon sa network.
Ang mga editor na tumatakbo sa canonical mode ay maaaring mangailangan ng mas kaunting trapiko papunta at pabalik, at mas kaunti
pagpoproseso sa, ang host machine, pati na rin ang mas madaling pagsuporta sa mga terminal ng block-mode.
Para sa mga kadahilanang ito, kailangan iyon ng POSIX.1‐2008 ex ipatupad gamit ang canonical mode input
pagproseso, tulad ng ginawa sa kasaysayan.

Ang POSIX.1‐2008 ay hindi nangangailangan ng makasaysayang 4 na BSD input editing characters ``word erase''
o ``literal na susunod''. Para sa kadahilanang ito, hindi natukoy kung paano pinangangasiwaan ang mga ito ex,
bagama't dapat silang magkaroon ng kinakailangang epekto. Mga pagpapatupad na lumulutas sa kanila pagkatapos ng
ang linya ay tinapos gamit ang a o ‐M character, at mga pagpapatupad na
umaasa sa pinagbabatayan na suporta sa terminal ng system para sa pagpoprosesong ito, ay parehong umaayon.
Ang mga pagpapatupad ay mahigpit na hinihimok na gamitin ang pinagbabatayan na paggana ng system, kung mayroon man
posible, para sa pagiging tugma sa iba pang mga interface ng text input ng system.

Sa kasaysayan, kapag ang eof ginamit ang karakter upang bawasan ang autoindent antas, ang
inilipat ang cursor upang ipakita ang bagong dulo ng autoindent mga character, ngunit hindi inilipat ang
cursor sa isang bagong linya, at hindi rin nito binura ang ‐D na karakter mula sa linya.
Hindi tinukoy ng POSIX.1‐2008 na ang cursor ay nananatili sa parehong linya o ang iba pang
ang linya ay nabura; gayunpaman, ang mga pagpapatupad ay mahigpit na hinihikayat na magbigay ng pinakamahusay
posibleng user interface; ibig sabihin, ang cursor ay dapat manatili sa parehong linya, at anuman
‐D na character sa linya ay dapat mabura.

Ang POSIX.1‐2008 ay hindi nangangailangan ng makasaysayang 4 BSD input editing character ``reprint'',
ayon sa kaugalian ‐R, na muling ipinakita ang kasalukuyang input mula sa user. Para dito
dahilan, at dahil hindi maipapatupad ang functionality pagkatapos ng linya
winakasan ng user, ang POSIX.1‐2008 ay walang mga kinakailangan tungkol sa functionality na ito.
Ang mga pagpapatupad ay mahigpit na hinihimok na gawin itong makasaysayang paggana, kung
maaari.

Sa kasaysayan, Ang ‐Q ay hindi nagsagawa ng literal na susunod na function sa ex, tulad ng ginawa nito sa vi.
Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa makasaysayang kasanayan upang maiwasan ang paglabag sa kasaysayan ex
script at .exrc file.

eof
kung ang eof agad na binago ng karakter ang autoindent ang mga character sa prompt ay
iniwanang hindi tinukoy upang ang mga pagpapatupad ay maaaring umayon sa pagkakaroon ng mga system na nagagawa
hindi sinusuportahan ang pagpapaandar na ito. Ang mga pagpapatupad ay hinihikayat na baguhin ang linya at
muling ipakita ito kaagad, kung maaari.

Ang detalye ng paghawak ng eof ang karakter ay naiiba sa makasaysayang kasanayan
doon lamang eof hindi itinatapon ang mga character kung sinusunod nila ang mga normal na character sa text
input. Sa kasaysayan, palagi silang itinatapon.

Utos Mga paglalarawan in ex
Sa kasaysayan, maraming mga utos (halimbawa, global, v, nakikita, s, magsulat, wq, yank, !, <,
>, &, at ~) ay maipapatupad sa mga walang laman na file (iyon ay, ang (mga) default na address ay 0), o
pinahihintulutan ang mga tahasang address na 0 (halimbawa, ang 0 ay isang wastong address, o ang 0,0 ay isang wastong
saklaw). Ang mga address ng 0, o pagpapatupad ng command sa isang walang laman na file, ay may katuturan lamang para sa
mga command na nagdaragdag ng bagong text sa buffer sa pag-edit o pagsusulat ng mga command (dahil maaaring naisin ng mga user na
magsulat ng mga walang laman na file). Kinakailangan ng POSIX.1‐2008 ang pag-uugaling ito para sa mga naturang utos at hindi ito pinapayagan
kung hindi, para sa pagkakapare-pareho at pagiging simple ng detalye.

Isang bilang sa isang ex Ang utos ay makasaysayang naitama na hindi hihigit sa huli
linya sa isang file; halimbawa, sa isang limang linyang file, ang command 1,6print mabibigo, ngunit ang
utos 1print300 ay magtatagumpay. Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa makasaysayang kasanayan.

Sa kasaysayan, ang paggamit ng mga watawat sa ex maaaring malabo ang mga utos. Pangkalahatang kasaysayan
ang pagsasanay ay tulad ng inilarawan ng POSIX.1‐2008, ngunit may ilang mga espesyal na kaso. Para sa
halimbawa, ang listahan, numero, at i-print hindi pinansin ng mga utos ang mga trailing address offset; para sa
Halimbawa, 3p +++# ay magpapakita ng linya 3, at ang 3 ay ang kasalukuyang linya pagkatapos ng pagpapatupad
ng utos. Ang buksan at nakikita binalewala ng mga utos ang parehong mga trailing offset at ang
sumusunod na mga bandila. Gayundin, ang mga flag na tinukoy sa buksan at nakikita hindi maganda ang interaksyon ng mga command
sa listahan opsyon sa pag-edit, at setting at pagkatapos ay i-unset ito sa panahon ng bukas/visual
session ay magdudulot vi upang ihinto ang pagpapakita ng mga linya sa tinukoy na format. Para sa consistency
at pagiging simple ng detalye, hindi pinahihintulutan ng POSIX.1‐2008 ang alinman sa mga pagbubukod na ito sa
ang pangkalahatang tuntunin.

POSIX.1‐2008 ay gumagamit ng salita kopyahin sa ilang lugar kapag tinatalakay ang mga buffer. Hindi ito
nilayon upang magpahiwatig ng pagpapatupad.

Sa kasaysayan, ex hindi matukoy ng mga user ang mga numerong buffer dahil sa kalabuan nito
magiging sanhi; halimbawa, sa utos 3 alisin 2, hindi malinaw kung ang 2 ay isang buffer
pangalan o a bilangin. Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa makasaysayang kasanayan bilang default, ngunit
hindi pinipigilan ang mga extension.

Sa kasaysayan, ang mga nilalaman ng hindi pinangalanang buffer ay madalas na itinatapon pagkatapos ng mga utos
na hindi tahasang nakaapekto dito; halimbawa, kapag ginagamit ang i-edit utos na lumipat
mga file. Para sa pagkakapare-pareho at pagiging simple ng detalye, hindi ito pinahihintulutan ng POSIX.1‐2008
pag-uugali.

Ang ex ang utility ay walang access sa mga numerong buffer, at, bukod pa rito,
pagtanggal ng mga linya sa ex hindi binago ang kanilang mga nilalaman. Halimbawa, kung, pagkatapos mag-delete
in vi, lumipat ang user sa ex, nag-delete muli, at pagkatapos ay bumalik sa vi, ang
ang mga nilalaman ng mga numerong buffer ay hindi magbabago. Ang POSIX.1‐2008 ay nangangailangan ng pagsunod
sa makasaysayang kasanayan. Ang mga numerong buffer ay inilarawan sa ex utility upang
ikulong ang paglalarawan ng mga buffer sa isang lokasyon sa POSIX.1‐2008.

Ang mga metacharacter na nagpapalitaw sa pagpapalawak ng shell file ang mga argumento ay tumutugma sa kasaysayan
pagsasanay, tulad ng ginagawa ng pamamaraan para sa paggawa ng pagpapalawak ng shell. Mga pagpapatupad na gustong ibigay
ang mga gumagamit na may kakayahang umangkop upang baguhin ang hanay ng mga metacharacter ay hinihikayat na magbigay ng a
shellmeta pagpipilian sa pag-edit ng string.

Sa kasaysayan, ex mga utos na isinagawa mula sa vi ni-refresh ang screen kapag hindi ito mahigpit
kailangang gawin ito; Halimbawa, :!date > / dev / null hindi nangangailangan ng pag-refresh ng screen dahil
ang output ng UNIX petsa Ang command ay nangangailangan lamang ng isang linya ng screen.
Kinakailangan ng POSIX.1‐2008 na i-refresh ang screen kung ito ay na-overwrite, ngunit
walang mga kinakailangan kung paano dapat gawin ng isang pagpapatupad ang pagpapasiya na iyon.
Maaaring i-prompt at i-refresh ng mga pagpapatupad ang screen nang walang kinalaman.

Pagpapaikli
Ang makasaysayang kasanayan ay ang mga character na inilagay bilang bahagi ng isang pagdadaglat
kapalit ay napapailalim sa mapa pagpapalawak, ang showmatch opsyon sa pag-edit, higit pa
pagpapalawak ng pagdadaglat, at iba pa; ibig sabihin, lohikal silang itinulak papunta sa terminal
input queue, at hindi isang simpleng kapalit. Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa
makasaysayang kasanayan. Ang makasaysayang kasanayan ay kapag ang isang hindi salitang karakter (na may
hindi nakatakas ng a ‐V) ay ipinasok pagkatapos ng isang character na salita, vi susuriin para sa
mga pagdadaglat. Ang tseke ay batay sa uri ng karakter na inilagay bago ang salita
katangian ng pares ng salita/hindi salita na nag-trigger ng tseke. Ang salitang katangian ng
pares ng salita/hindi salita na nag-trigger ng check at lahat ng character na inilagay bago ang trigger
ang pares na ganoon ang uri ay kasama sa tseke, maliban sa
mga character, na palaging nililimitahan ang pagdadaglat.

Nangangahulugan ito na, para gumana ang pagdadaglat, ang lhs dapat magtapos sa isang salitang karakter,
maaaring walang mga transition mula sa salita patungo sa mga hindi salita na character (o vice versa) maliban sa
sa pagitan ng huli at susunod na huling mga character sa lhs, at maaaring wala
mga tauhan sa lhs. Bilang karagdagan, dahil sa makasaysayang mga tuntunin sa pagsipi, ito ay
imposibleng magpasok ng literal -V sa lhs. Ang POSIX.1‐2008 ay nangangailangan ng pagsunod
sa makasaysayang kasanayan. Ang mga makasaysayang pagpapatupad ay hindi nagpaalam sa mga user kung kailan ang mga pagdadaglat
na hindi kailanman magagamit ay ipinasok; mahigpit na hinihikayat ang mga pagpapatupad na gawin ito.

Halimbawa, gagana ang mga sumusunod na pagdadaglat:

:ab (p PAPALITAN
:ab p PAPALITAN
:ab ((p PAPALITAN

Ang mga sumusunod na pagdadaglat ay hindi gagana:

:ab ( PAPALITAN
:ab (pp PAPALITAN

Ang makasaysayang kasanayan ay ang mga salita sa vi colon command line ay napapailalim sa
pagpapalawak ng pagdadaglat, kabilang ang mga argumento sa abbrev (at higit na kawili-wili) ang
unabbrev utos. Dahil may mga pagpapatupad na hindi gumagawa ng abbreviation expansion
para sa unang argumento sa mga utos na iyon, ito ay pinahihintulutan, ngunit hindi kinakailangan, ng
POSIX.1–2008. Gayunpaman, ang sumusunod na pagkakasunud-sunod:

:ab foo bar
:ab foo base

nagresulta sa pagdaragdag ng isang pagdadaglat ng "baz" para sa string "bar" sa historikal
ex/vi, at ang pagkakasunod-sunod:

:ab foo1 bar
:ab foo2 bar
:huwag paikliin foo2

tinanggal ang abbreviation "foo1", Hindi "foo2". Ang mga pag-uugaling ito ay hindi pinahihintulutan ng
POSIX.1‐2008 dahil malinaw na nilalabag nila ang mga inaasahan ng gumagamit.

It was historical practice that -V, hindi , ang mga character ay mabibigyang kahulugan bilang
pagtakas sa mga kasunod na karakter sa pagpapaikli utos. Kinakailangan ng POSIX.1‐2008
pagsunod sa makasaysayang kasanayan; gayunpaman, dapat tandaan na ang isang pagdadaglat
naglalaman ng a hindi kailanman gagana.

Mag-aplay
Sa kasaysayan, anumang tekstong sumusunod sa a command separator pagkatapos ng isang apendend,
baguhin, O isingit naging bahagi ng insert text ang command. Halimbawa, sa utos:

:g/pattern/append|stuff1

isang linya na naglalaman ng teksto "bagay1" ay idaragdag sa bawat pattern ng pagtutugma ng linya. Ito
was also historically valid to enter:

:attach|stuff1
bagay2
.

at ang teksto sa ex Ang command line ay idaragdag kasama ng tekstong ipinasok pagkatapos
ito. Nagkaroon ng makasaysayang bug, gayunpaman, na ang user ay kailangang magpasok ng dalawang pagwawakas
mga linya (ang '.' lines) upang wakasan ang text input mode sa kasong ito. Kinakailangan ng POSIX.1‐2008
pagsunod sa makasaysayang kasanayan, ngunit hindi pinapayagan ang makasaysayang pangangailangan para sa maramihang
mga linya ng pagtatapos.

Baguhin
Tingnan ang RATIONALE para sa apendend utos. Makasaysayang kasanayan para sa pagpoposisyon ng cursor pagkatapos
ang utos ng pagbabago kapag walang text na ipinapasok, ay tulad ng inilarawan sa POSIX.1‐2008. Gayunpaman, isa
Ang pagpapatupad ng System V ay kilala na binago upang ang cursor ay nakaposisyon
sa unang address na tinukoy, at hindi sa linya bago ang unang address. POSIX.1–2008
hindi pinapayagan ang pagbabagong ito para sa pagkakapare-pareho.

Kasaysayan, ang baguhin Hindi sinusuportahan ng command ang mga buffer argument, bagama't ang ilan
pinahihintulutan ng mga pagpapatupad ang pagtutukoy ng isang opsyonal na buffer. Ang pag-uugali na ito ay hindi rin
kinakailangan o hindi pinapayagan ng POSIX.1‐2008.

Baguhin Directory
Isang karaniwang extension sa ex ang mga pagpapatupad ay ang paggamit ng mga elemento ng a cdpath i-edit ang opsyon bilang
prefix na mga direktoryo para sa landas mga argumento sa chdir iyon ay mga kamag-anak na pangalan at hindi
mayroon '.' or ".." bilang kanilang unang bahagi. Mga elemento sa cdpath ang opsyon sa pag-edit ay
-hiwalay. Ang paunang halaga ng cdpath Ang pagpipilian sa pag-edit ay ang halaga ng shell
CDPATH variable ng kapaligiran. Ang tampok na ito ay hindi kasama sa POSIX.1‐2008 dahil mayroon ito
hindi umiiral sa alinman sa mga pagpapatupad na itinuturing na makasaysayang kasanayan.

Kopyahin
Makasaysayang pagpapatupad ng ex pinahihintulutang mga kopya sa mga linya sa loob ng tinukoy na hanay;
Halimbawa, :2,5kopya3 was a valid command. Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa
makasaysayang kasanayan.

alisin
Ang POSIX.1‐2008 ay nangangailangan ng suporta para sa makasaysayang pag-parse ng a alisin sumunod na utos
mga watawat, nang walang anumang namamagitan mga karakter. Halimbawa:

1dp Tinatanggal ang unang linya at ipi-print ang linyang pangalawa.

1delep Tulad ng para sa 1dp.

1d Tinatanggal ang unang linya, sine-save ito sa buffer p.

1d p1l (Pee-one-ell.) Tinatanggal ang unang linya, ise-save ito sa buffer p, at listahan ng linya
pangalawa na yun.

Edit
Sa kasaysayan, anuman ex utos ay maaaring ipasok bilang a +utos argumento sa i-edit utos,
kahit na ang ilan (halimbawa, isingit at apendend) ay kilala na nakakalito sa kasaysayan
mga pagpapatupad. Para sa pagkakapare-pareho at pagiging simple ng detalye, kinakailangan ng POSIX.1‐2008
na ang anumang utos ay suportado bilang argumento sa i-edit utos.

Sa kasaysayan, ang command argument ay naisakatuparan sa kasalukuyang linya na nakatakda sa huling linya
ng file, hindi alintana kung ang i-edit Ang command ay naisakatuparan mula sa visual mode o hindi.
Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa makasaysayang kasanayan.

Kasaysayan, ang +utos tinukoy sa i-edit at susunod ang mga utos ay nililimitahan ng
una , at walang paraan upang banggitin ang mga ito. Para sa pagkakapare-pareho, kinakailangan ng POSIX.1‐2008
na ang karaniwan ex ibibigay ang backslash quoting.

Sa kasaysayan, tinukoy ang +utos argument sa edit command ay nangangailangan ng isang filename sa
tukuyin din; Halimbawa, edit: + 100 ay palaging mabibigo. Para sa pagkakapare-pareho at
pagiging simple ng detalye, hindi pinapayagan ng POSIX.1‐2008 na mabigo ang paggamit na ito para doon
dahilan.

Sa kasaysayan, tanging ang posisyon ng cursor ng huling na-edit na file ang naaalala ng
editor. Kinakailangan ng POSIX.1‐2008 na ito ay suportahan; gayunpaman, ang mga pagpapatupad ay
pinahihintulutang tandaan at ibalik ang posisyon ng cursor para sa anumang file na dati nang na-edit.

talaksan
Mga makasaysayang bersyon ng ex editor file command na nagpakita ng kasalukuyang linya at bilang ng
mga linya sa edit buffer ng 0 kapag ang file ay walang laman, habang ang vi -utos ni G
nagpakita ng kasalukuyang linya at bilang ng mga linya sa edit buffer ng 1 sa parehong
sitwasyon. Hindi pinahihintulutan ng POSIX.1‐2008 ang pagkakaibang ito, sa halip ay nangangailangan ng isang mensahe
ay ipapakita na nagpapahiwatig na ang file ay walang laman.

Global
Ang two-pass operation ng global at v ang mga utos ay hindi inilaan upang ipahiwatig
pagpapatupad, tanging ang kinakailangang resulta ng operasyon.

Ang kasalukuyang linya at column ay nakatakda bilang tinukoy para sa indibidwal ex mga utos. Ito
ang pangangailangan ay pinagsama-sama; ibig sabihin, dapat na subaybayan ng kasalukuyang linya at column ang lahat ng
mga utos na isinagawa ng global or v utos.

Isingit
Tingnan ang RATIONALE para sa apendend utos.

Sa kasaysayan, isingit hindi magagamit sa isang address na zero; ibig sabihin, hindi kapag ang edit
walang laman ang buffer. Kinakailangan ng POSIX.1‐2008 na ang utos na ito ay kumilos nang pare-pareho sa
apendend utos.

sumali
Ang aksyon ng sumali utos na may kaugnayan sa mga espesyal na character ay tinukoy lamang para sa
ang POSIX locale dahil nag-iiba ang tamang dami ng white space pagkatapos ng isang period; sa
Japanese walang kinakailangan, sa French lamang ng isang solong espasyo, at iba pa.

listahan
Ang makasaysayang output ng listahan utos ay potensyal na hindi maliwanag. Ang pamantayan
naniniwala ang mga developer na ang pagwawasto nito ay mas mahalaga kaysa sa pagsunod sa kasaysayan
pagsasanay, at ang POSIX.1‐2008 ay nangangailangan ng hindi malabo na output.

mapa
Sa kasaysayan, ang mga mapa ng command mode ay inilapat lamang sa mga pangalan ng command; halimbawa, kung ang
katangian 'x' ay nakamapa sa 'y', ang utos fx hinanap ang 'x' karakter, hindi ang
'y' karakter. Kinakailangan ng POSIX.1‐2008 ang pag-uugaling ito. Sa kasaysayan, pagpasok -V bilang
ang unang karakter ng a vi ang utos ay isang error. Ang ilang mga pagpapatupad ay pinalawig
ang semantika ng vi ganyan ‐V ay nangangahulugan na ang kasunod na command character ay
hindi namamapa. Ito ay pinahihintulutan, ngunit hindi kinakailangan, ng POSIX.1‐2008. Anuman, gamit
‐V upang takasan ang pangalawa o mas huling character sa isang pagkakasunod-sunod ng mga character na maaaring
tugma a mapa command, o anumang character sa text input mode, ay makasaysayang kasanayan, at
pinipigilan ang mga inilagay na key mula sa pagtutugma sa isang mapa. Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa
makasaysayang kasanayan.

Pinahintulutan ng mga makasaysayang pagpapatupad ang mga digit na gamitin bilang a mapa utos lhs, ngunit pagkatapos
hindi pinansin ang mapa. Ang POSIX.1‐2008 ay nangangailangan na ang mga nakamapang digit ay hindi balewalain.

Ang makasaysayang pagpapatupad ng mapa hindi pinahintulutan ng utos mapa mga utos noon
higit sa isang character ang haba kung ang unang character ay napi-print. Ang ugali na ito
ay pinahihintulutan, ngunit hindi kinakailangan, ng POSIX.1‐2008.

Sa kasaysayan, ang mga nakamapang character ay na-remapped maliban kung ang remap hindi naitakda ang opsyon sa pag-edit, o
ang prefix ng mga nakamapang character ay tumugma sa mga mapping character; halimbawa, sa
mapa:

:mapa ab abcd

ang mga karakter "ab" ay ginamit bilang ay at hindi remapped, ngunit ang mga character "cd" ay
nakamapang kung naaangkop. Ito ay maaaring maging sanhi ng walang katapusang mga loop sa vi mga mekanismo ng pagmamapa.
Ang POSIX.1‐2008 ay nangangailangan ng pagsang-ayon sa makasaysayang kasanayan, at ang mga naturang loop ay
nakakagambala.

Ang mga mapa ng text input ay nagkaroon ng parehong mga problema sa pagpapalawak ng lhs para sa ex mapa! at alisin ang mapa!
utos gaya ng ginawa ng ex pagpapaikli at alisin sa ikli mga utos. Tingnan ang RATIONALE para sa ex
pagpapaikli utos. Ang POSIX.1‐2008 ay nangangailangan ng katulad na pagbabago ng ilang makasaysayang kasanayan
para sa mapa at alisin ang mapa mga utos, gaya ng inilarawan para sa pagpapaikli at alisin sa ikli utos.

Sa kasaysayan, mapas na mga subset ng iba mapas kumilos nang iba depende sa
pagkakasunud-sunod kung saan ang mga ito ay tinukoy. Halimbawa:

:mapa! ab maikli
:mapa! abakada mahaba

ay palaging isasalin ang mga character "ab" sa "maikli", gaano man kabilis ang
character "abc" ay pinasok. Kung ang entry order ay nabaligtad:

:mapa! abakada mahaba
:mapa! ab maikli

ang mga karakter "ab" ay magiging sanhi ng pag-pause ng editor, naghihintay para sa pagkumpleto 'c'
character, at ang mga character ay maaaring hindi kailanman maimapa "maikli". Para sa pagkakapare-pareho at
pagiging simple ng detalye, ang POSIX.1‐2008 ay nangangailangan na ang pinakamaikling tugma ay gamitin sa lahat
beses.

Ang haba ng oras na ginugugol ng editor sa paghihintay para makumpleto ng mga character ang lhs is
hindi natukoy dahil ang mga kakayahan sa timing ng mga system ay madalas na hindi eksakto at nagbabago, at
ito ay maaaring depende sa iba pang mga kadahilanan tulad ng bilis ng koneksyon. Ang oras ay dapat
sapat na tagal para makumpleto ng user ang sequence, ngunit hindi sapat ang haba para sa
user na kailangang maghintay. Ilang pagpapatupad ng vi nagdagdag ng a keytime opsyon, na
pinapayagan ang mga user na itakda ang bilang ng 0,1 segundo na hinihintay ng editor para sa pagkumpleto
mga karakter. Dahil ang naka-map na terminal function at cursor key ay may posibilidad na magsimula sa isang
karakter, at ay ang pangunahing pagtatapos vi mode ng pag-input ng teksto, mapas simula sa
ang mga character ay karaniwang hindi kasama sa panahong ito ng timeout, o, kahit man lang ay nag-time out
naiiba.

Utak ng buto
Sa kasaysayan, malinaw na naitakda ng mga user ang mga markang ``nakaraang konteksto''. Sa
karagdagan, ang ex utos '' at '` at ang vi utos '', ``, `', at '` lahat ng tinutukoy
ang parehong marka. Bilang karagdagan, ang mga nakaraang marka ng konteksto ay hindi naitakda kung ang utos, na may
kung saan ang address setting ang marka ay nauugnay, nabigo. Kinakailangan ng POSIX.1‐2008
pagsunod sa makasaysayang kasanayan. Sa kasaysayan, kung ang mga markang linya ay tinanggal, ang marka
ay tinanggal din, ngunit lilitaw muli kung na-undo ang pagbabago. Kinakailangan ng POSIX.1‐2008
pagsunod sa makasaysayang kasanayan.

Ang paglalarawan ng mga espesyal na kaganapan na nagtatakda ng ` at ' ang mga marka ay tumutugma sa kasaysayan
pagsasanay. Halimbawa, sa kasaysayan ang utos /a/,/b/ hindi nagtakda ng ` at ' mga marka, ngunit
ang utos /a/,/b/delete ginawa.

susunod
Sa kasaysayan, anuman ex utos ay maaaring ipasok bilang a +utos argumento sa susunod utos,
kahit na ang ilan (halimbawa, isingit at apendend) ay kilala na nakakalito sa kasaysayan
mga pagpapatupad. Ang POSIX.1‐2008 ay nangangailangan na ang anumang utos ay pinahihintulutan at ito ay kumilos bilang
tinukoy. Ang susunod Ang command ay maaaring tumanggap ng higit sa isang file, kaya ang paggamit tulad ng:

susunod `ls [abc] `

ay pwede; hindi ito kailangang maging wasto para sa i-edit or basahin mga utos, halimbawa, dahil sila
asahan lamang ang isang filename.

Kasaysayan, ang susunod utos ay kumilos nang iba sa :rewind utos sa na ito
hindi pinansin ang force flag kung ang autowrite itinakda ang bandila. Para sa pagkakapare-pareho, ginagawa ng POSIX.1‐2008
hindi pinapayagan ang pag-uugaling ito.

Kasaysayan, ang susunod inilagay ng command ang cursor na parang hindi pa na-edit ang file
dati, hindi alintana. Hindi pinahihintulutan ng POSIX.1‐2008 ang pag-uugaling ito, para sa pagkakapare-pareho sa
i-edit utos.

Mga pagpapatupad na gustong magbigay ng katapat sa susunod utos na nag-edit ng
ginamit ng nakaraang file ang command nauna, na kumukuha ng no file argumento. POSIX.1–2008
hindi nangangailangan ng utos na ito.

Pagbubukas
Kasaysayan, ang buksan mabibigo ang utos kung ang buksan hindi naitakda ang opsyon sa pag-edit.
Hindi binanggit ng POSIX.1‐2008 ang buksan opsyon sa pag-edit at hindi nangangailangan ng ganitong gawi.
Hindi pinapayagan ng ilang makasaysayang pagpapatupad ang pagpasok sa open mode mula sa open o visual mode,
galing lang sa ex mode. Para sa pagkakapare-pareho, hindi pinapayagan ng POSIX.1‐2008 ang pag-uugaling ito.

Sa kasaysayan, ang pagpasok sa open mode mula sa command line (iyon ay, vi +bukas) nagresulta sa
maanomalyang pag-uugali; halimbawa, ang ex maghain at itakda mga utos, at ang vi utos
―Hindi gumana si G. Para sa pagkakapare-pareho, hindi pinapayagan ng POSIX.1‐2008 ang pag-uugaling ito.

Kasaysayan, ang buksan pinahihintulutan lamang ang utos '/' mga character na gagamitin bilang paghahanap
pattern delimiter. Para sa pagkakapare-pareho, kinakailangan ng POSIX.1‐2008 na ginamit ang mga delimiter sa paghahanap
sa pamamagitan ng s, global, at v ang mga utos ay tinatanggap din.

Panatilihin
Ang pangalagaan Ang utos ay hindi naging sanhi ng kasaysayan na ituring na hindi binago ang file
ang mga layunin ng hinaharap na mga utos na maaaring lumabas sa editor. Kinakailangan ng POSIX.1‐2008
pagsunod sa makasaysayang kasanayan.

Ang makasaysayang dokumentasyon ay nagsasaad na ang mail ay hindi ipinadala sa user kapag ang preserve ay
pinaandar; gayunpaman, ang mga makasaysayang pagpapatupad ay nagpadala ng mail sa kasong ito. POSIX.1–2008
nangangailangan ng pagsunod sa mga makasaysayang pagpapatupad.

Print
Ang pagsulat ng NUL sa pamamagitan ng i-print command ay hindi tinukoy bilang isang espesyal na kaso dahil ang
hindi gustong kailanganin ng mga karaniwang developer ex upang suportahan ang mga NUL na character. Sa kasaysayan,
ang mga character ay ipinakita gamit ang ARPA standard mappings, na ang mga sumusunod:

1. Ang mga napi-print na character ay naiwang nag-iisa.

2. Ang mga control character na mas mababa sa \177 ay kinakatawan bilang '^' sinundan ng karakter
offset mula sa '@' character sa mapa ng ASCII; halimbawa, ang \007 ay kinakatawan bilang
'^G'.

3. Ang \177 ay kinakatawan bilang '^' sinundan ng '?'.

Ang pagpapakita ng mga character na may kanilang ika-walong bit set ay hindi gaanong karaniwan. Umiiral
ang mga pagpapatupad ay gumagamit ng hex (0x00), octal (\000), at isang meta-bit na display. (Ang huli
ipinapakitang mga byte na ang kanilang ikawalong bit ay nakatakda bilang dalawang character "M−" na sinusundan ng
pitong-bit na display tulad ng inilarawan sa itaas.) Ang huli ay malamang na may pinakamahusay na pag-angkin sa
makasaysayang kasanayan dahil ito ay ginamit para sa −v opsyon ng 4 BSD at 4 na BSD na nagmula
mga bersyon ng pusa utility mula noong 1980.

Walang partikular na format ng display ang kailangan ng POSIX.1‐2008.

Ang tahasang pag-asa sa hanay ng karakter ng ASCII ay naiwasan kung saan posible, kaya ang
paggamit ng pariralang isang ``implementation-defined multi-character sequence'' para sa display
ng mga hindi napi-print na character bilang kagustuhan sa makasaysayang paggamit ng, halimbawa, "^ako"
para sa . Ang mga pagpapatupad ay hinihikayat na umayon sa makasaysayang kasanayan sa
kawalan ng anumang matibay na dahilan para maghiwalay.

Sa kasaysayan, lahat ex mga utos na nagsisimula sa titik 'p' maaaring ipasok gamit ang
malalaking bersyon ng mga utos; Halimbawa, P[print], pre[serve], at Pu[t] ay lahat na
wastong mga pangalan ng utos. Pinahihintulutan ng POSIX.1‐2008, ngunit hindi nangangailangan, ang makasaysayang kasanayang ito
dahil ang mga capital form ng mga command ay ginagamit ng ilang mga pagpapatupad para sa iba pang mga layunin.

ilagay
Sa kasaysayan, isang ex ilagay command, na isinagawa mula sa open o visual mode, ay pareho sa
bukas o visual na mode P command, kung ang buffer ay pinangalanan at pinutol sa character mode, at
katulad ng sa p command kung ang buffer ay pinangalanan at pinutol sa line mode. Kung ang hindi pinangalanan
buffer ang pinagmulan ng teksto, ang buong linya kung saan kinuha ang teksto
karaniwan ilagay, at ang buffer ay hinawakan na parang nasa line mode, ngunit posible itong makuha
lubhang maanomalyang pag-uugali. Bilang karagdagan, ang paggamit ng Q utos na lumipat sa ex mode, at
pagkatapos ay gumagawa ng a ilagay madalas na nagresulta sa mga error din, tulad ng pagdaragdag ng teksto na
walang kaugnayan sa (dapat) mga nilalaman ng buffer. Para sa pagkakapare-pareho at pagiging simple ng
detalye, hindi pinahihintulutan ng POSIX.1‐2008 ang mga pag-uugaling ito. Lahat ex ilagay ang mga utos ay
kinakailangan upang gumana sa line mode, at ang mga nilalaman ng mga buffer ay hindi binago ng
pagbabago ng mode ng editor.

Basahin
Sa kasaysayan, isang ex basahin command na isinagawa mula sa open o visual mode, na isinagawa sa isang walang laman
file, nag-iwan ng walang laman na linya bilang unang linya ng file. Para sa pagkakapare-pareho at pagiging simple ng
detalye, hindi pinahihintulutan ng POSIX.1‐2008 ang pag-uugaling ito. Sa kasaysayan, a basahin sa bukas
o visual mode mula sa isang program na iniwan ang cursor sa huling linyang binasa, hindi ang una. Para sa
pagkakapare-pareho, hindi pinapayagan ng POSIX.1‐2008 ang pag-uugaling ito.

Makasaysayang pagpapatupad ng ex ay hindi nagawang i-undo basahin mga utos na nagbabasa mula sa
output ng isang programa. Para sa pagkakapare-pareho, hindi pinapayagan ng POSIX.1‐2008 ang pag-uugaling ito.

Kasaysayan, ang ex at vi mensahe pagkatapos ng matagumpay basahin or magsulat tinukoy na utos
``character'', hindi ``bytes''. Kinakailangan ng POSIX.1‐2008 na ang bilang ng mga byte ay
ipinapakita, hindi ang bilang ng mga character, dahil maaaring mahirap ito sa multi-byte
mga pagpapatupad upang matukoy ang bilang ng mga character na nabasa. Hinihikayat ang mga pagpapatupad
upang linawin ang mensaheng ipinapakita sa user.

Sa kasaysayan, hindi pinahihintulutan ang mga pagbabasa sa mga file maliban sa regular na uri, maliban sa FIFO na iyon
ang mga file ay maaaring basahin (marahil lamang dahil hindi sila umiiral noong ex at vi ay
orihinal na isinulat). Dahil ang historical ex sinusuri basahin mo! at basahin ! katumbas,
maaaring walang opsyonal na paraan upang pilitin ang pagbabasa. Pinahihintulutan ng POSIX.1‐2008, ngunit hindi
nangangailangan, ang pag-uugaling ito.

Mabawi
Pinahintulutan ng ilang makasaysayang pagpapatupad ng editor ang mga user na mabawi ang buffer sa pag-edit
mga nilalaman mula sa isang nakaraang sesyon ng pag-edit, at pagkatapos ay lumabas nang hindi nai-save ang mga nilalamang iyon (o
tahasang itinatapon ang mga ito). Ang layunin ng POSIX.1‐2008 sa pag-aatas na i-edit ang buffer
tratuhin bilang nabago na ay upang maiwasan ang error ng user na ito.

I-rewind
Sinuportahan ng mga makasaysayang pagpapatupad ang i-rewind command noong ine-edit ng user ang
unang file sa listahan; iyon ay, ang file na ang i-rewind i-edit ng utos. POSIX.1–2008
nangangailangan ng pagsunod sa makasaysayang kasanayan.

Kapalit
Sa kasaysayan, ex tinanggap ang isang r opsyon sa s utos. Ang epekto ng r ang pagpipilian ay upang
gamitin ang huling regular na expression na ginamit sa anumang command bilang pattern, kapareho ng ~
utos Ang r ang opsyon ay hindi kinakailangan ng POSIX.1‐2008. Sa kasaysayan, ang c at g pagpipilian
ay toggled; halimbawa, ang utos :s/abc/def/ ay katulad ng s/abc/def/ccccgggg.
Para sa pagiging simple ng detalye, hindi pinahihintulutan ng POSIX.1‐2008 ang pag-uugaling ito.

Ang tilde command ay kadalasang ginagamit upang palitan ang huling search RE. Halimbawa, sa
pagkakasunud-sunod:

s/pula/asul/
/berde
~

ang ~ ang utos ay katumbas ng:

s/berde/asul/

Sa kasaysayan, ex tinanggap ang lahat ng sumusunod na form:

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

Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa makasaysayang kasanayang ito.

Ang s ipinapalagay ng utos na ang '^' ang karakter ay sumasakop lamang sa isang column sa
display. Karamihan sa mga ex at vi ipinapalagay ng espesipikasyon na ang sumasakop lamang ng a
nag-iisang column sa display. Walang kilalang set ng character kung saan hindi ito
totoo.

Sa kasaysayan, ang panghuling posisyon ng column para sa mga kapalit na command ay batay sa nakaraan
paggalaw ng haligi; ang isang paghahanap para sa isang pattern na sinusundan ng isang pagpapalit ay umalis sa hanay
hindi nagbabago ang posisyon, habang ang isang 0 na utos na sinusundan ng isang pagpapalit ay magbabago sa column
posisyon sa unang hindi . Para sa pagkakapare-pareho at pagiging simple ng detalye,
Ang POSIX.1‐2008 ay nangangailangan na ang huling posisyon ng column ay palaging nakatakda sa una
hindi- .

Itakda
Ang mga makasaysayang pagpapatupad ay muling ipinakita ang lahat ng mga opsyon para sa bawat paglitaw ng lahat
keyword. Pinahihintulutan ng POSIX.1‐2008, ngunit hindi nangangailangan, ang pag-uugaling ito.

Tag
Walang kinakailangan kung saan ex at vi hahanapin ang file na isinangguni ng tag
pagpasok. Ang makasaysayang kasanayan ay upang hanapin ang landas na matatagpuan sa tag file, batay sa
ang kasalukuyang direktoryo. Ang isang kapaki-pakinabang na extension na makikita sa ilang mga pagpapatupad ay batay sa hitsura
sa direktoryo na naglalaman ng mga tag file na may hawak ng entry, pati na rin. Walang kinakailangan
ginawa kung aling sanggunian para sa tag sa file ng mga tag ang ginagamit. Ito ay sinadya, sa
upang pahintulutan ang mga extension gaya ng maraming entry sa isang tag na file para sa isang tag.

Dahil ang mga user ay madalas na tumukoy ng maraming iba't ibang mga file ng tag, ang ilan sa mga ito ay hindi kailangang may kaugnayan
o umiiral sa anumang partikular na oras, ang POSIX.1‐2008 ay nangangailangan ng mga mensahe ng error tungkol sa problema
ang mga file ng tag ay ipapakita lamang kung ang hiniling na tag ay hindi nahanap, at pagkatapos, isang beses lang para sa
sa bawat oras na ang mga tag nabago ang opsyon sa pag-edit.

Ang pangangailangan na ang kasalukuyang buffer sa pag-edit ay hindi nababago ay kinakailangan lamang kung ang file
na ipinahiwatig ng entry ng tag ay hindi katulad ng kasalukuyang file (tulad ng tinukoy ng kasalukuyang
pangalan ng landas). Sa kasaysayan, ire-reload ang file kung nagbago din ang filename
na parang iba ang filename sa kasalukuyang pathname. Para sa pagkakapare-pareho at pagiging simple
ng detalye, hindi pinahihintulutan ng POSIX.1‐2008 ang pag-uugaling ito, na nangangailangan na ang pangalan ay
ang tanging salik sa desisyon.

Sa kasaysayan, vi naghanap lamang ng mga tag sa kasalukuyang file mula sa kasalukuyang cursor hanggang sa
dulo ng file, at samakatuwid, kung ang wrapscan hindi naitakda ang opsyon, naganap ang mga tag dati
hindi natagpuan ang kasalukuyang cursor. Itinuturing ito ng POSIX.1‐2008 na isang bug, at mga pagpapatupad
ay kinakailangang hanapin ang unang paglitaw sa file, anuman.

Magpawalang-saysay
Ang paglansag-lansagin ang paglalarawan ay sadyang gumagamit ng salitang `` binago ''. Ang paglansag-lansagin utos ay hindi
nilayon na i-undo ang mga utos na pumapalit sa mga nilalaman ng buffer sa pag-edit, gaya ng i-edit,
susunod, mga tag, O mabawi.

Pagpoposisyon ng cursor pagkatapos ng paglansag-lansagin utos ay hindi naaayon sa kasaysayan vi, minsan
sinusubukang ibalik ang orihinal na posisyon ng cursor (global, paglansag-lansagin, at v utos), at
minsan, sa pagkakaroon ng mga mapa, paglalagay ng cursor sa huling linya na idinagdag o binago
sa halip na ang una. Ang POSIX.1‐2008 ay nangangailangan ng pinasimpleng gawi para sa pagkakapare-pareho at
pagiging simple ng pagtutukoy.

bersyon
Ang bersyon Ang utos ay hindi maaaring eksaktong tinukoy dahil walang malawak na tinatanggap
kahulugan ng kung ano ang dapat na nilalaman ng impormasyon ng bersyon. Hinihikayat ang mga pagpapatupad
upang gumawa ng isang bagay na makatwirang matalino.

Sumulat
Kasaysayan, ang ex at vi mensahe pagkatapos ng matagumpay basahin or magsulat tinukoy na utos
``character'', hindi ``bytes''. Kinakailangan ng POSIX.1‐2008 na ang bilang ng mga byte ay
ipinapakita, hindi ang bilang ng mga character dahil maaaring mahirap ito sa multi-byte
mga pagpapatupad upang matukoy ang bilang ng mga character na nakasulat. Ang mga pagpapatupad ay
hinihikayat na linawin ang mensaheng ipinapakita sa user.

Ang mga pagsubok na tinukoy sa pagpapatupad ay pinahihintulutan upang ang mga pagpapatupad ay makagawa ng karagdagang
mga tseke; halimbawa, para sa mga lock o mga oras ng pagbabago ng file.

Sa kasaysayan, nagdulot ng error ang pagtatangkang magdagdag sa isang hindi umiiral na file. Ito ay naiwan
hindi tinukoy sa POSIX.1‐2008 para pahintulutan ang mga pagpapatupad na hayaan ang magsulat magtagumpay, upang
ang append semantics ay katulad ng sa historikal csh.

makasaysayan vi pinahintulutang maisulat ang mga walang laman na buffer sa pag-edit. Gayunpaman, dahil ang paraan vi Nakakuha
sa paligid ng pakikitungo sa mga ``walang laman'' mga file ay palaging may linya sa buffer sa pag-edit, hindi
kahit na ano, isinulat nito ang mga ito bilang mga file ng isang solong, walang laman na linya. Hindi pinahihintulutan ng POSIX.1‐2008
pag-uugaling ito.

Sa kasaysayan, ex naibalik ang karaniwang output at karaniwang error sa kanilang mga halaga kung kailan ex
ay tinawag, bago isinagawa ang pagsusulat sa mga programa. Ito ay maaaring makaistorbo sa terminal
configuration at maging isang isyu sa seguridad para sa ilang mga terminal. POSIX.1‐2008 ay hindi
pinahintulutan ito, na nangangailangan na ang output ng programa ay makuha at ipakita na parang sa pamamagitan ng ex
i-print utos.

Isaayos Bintana
Sa kasaysayan, ang bilang ng linya ay itinakda sa halaga ng mag-scroll opsyon kung ang uri
ang character ay end-of-file. Nasira ang feature na ito sa karamihan ng mga makasaysayang pagpapatupad na matagal
nakaraan, gayunpaman, at hindi nakadokumento kahit saan. Para sa kadahilanang ito, ang POSIX.1‐2008 ay determinado
tahimik.

Kasaysayan, ang z utos ay -sensitibo at z + at z - gumawa ng iba't ibang bagay
kaysa z+ at z− dahil ang uri ay hindi maaaring makilala sa isang bandila. (Ang mga utos z .
at z = ay hindi wasto sa kasaysayan.) Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa makasaysayang ito
pagsasanay.

Kasaysayan, ang z utos pa -sensitive sa na ang bilangin ay hindi maaaring maging
-delimitado; halimbawa, ang mga utos z= 5 at z− 5 ay hindi rin wasto. Dahil ang
bilangin ay hindi malabo na may kinalaman sa alinman sa uri ng karakter o sa mga flag, hindi ito
pinahihintulutan ng POSIX.1‐2008.

Makatakas
Sa kasaysayan, ex ang mga utos ng filter ay nagbabasa lamang ng karaniwang output ng mga utos, na nagpapahintulot
lilitaw ang karaniwang error sa terminal gaya ng dati. Ang vi utility, gayunpaman, basahin ang pareho
karaniwang output at karaniwang error. Ang POSIX.1‐2008 ay nangangailangan ng huling pag-uugali para sa pareho ex
at vi, para sa pagkakapare-pareho.

Ilipat Kaliwa at Ilipat karapatan
Sa kasaysayan, posibleng magdagdag ng mga shift na character upang mapataas ang epekto ng
utos; Halimbawa, << outdented (o >>> naka-indent) ang mga linya ng 3 antas ng indentation
sa halip na ang default na 1. POSIX.1‐2008 ay nangangailangan ng pagsunod sa makasaysayang kasanayan.

-D
Sa kasaysayan, ang Binura ng utos ng ‐D ang prompt, na nagbibigay sa user ng isang
walang patid na presentasyon ng mga linya mula sa edit buffer. Hindi ito kinakailangan ng POSIX.1‐2008;
ang mga pagpapatupad ay hinihikayat na ibigay ito kung maaari. Sa kasaysayan, ang -D
utos kinuha, at pagkatapos ay hindi pinansin, a bilangin. Hindi pinapayagan ng POSIX.1‐2008 ang pag-uugaling ito.

Sumulat Linya Numero
Kasaysayan, ang ex = utos, kapag naisakatuparan sa ex mode sa isang walang laman na buffer sa pag-edit, iniulat
0, at mula sa open o visual mode, iniulat 1. Para sa pagkakapare-pareho at pagiging simple ng
detalye, hindi pinahihintulutan ng POSIX.1‐2008 ang pag-uugaling ito.

Isakatuparan
Sa kasaysayan, ex hindi wastong pinangasiwaan ang pagsasama ng mga text input command (iyon ay,
apendend, isingit, at baguhin) sa mga naisagawang buffer. Hindi ito pinahihintulutan ng POSIX.1‐2008
pagbubukod para sa pagkakapare-pareho.

Sa kasaysayan, ang mga lohikal na nilalaman ng buffer na isinasagawa ay hindi nagbago kung ang
ang buffer mismo ay binago ng mga utos na isinasagawa; ibig sabihin, ginawa ang buffer execution
hindi sumusuporta sa self-modifying code. Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa makasaysayang kasanayan.

Kasaysayan, ang @ utos ay kumuha ng isang hanay ng mga linya, at ang @ Ang buffer ay naisakatuparan nang isang beses bawat
linya, na may kasalukuyang linya ('.') itinakda sa bawat tinukoy na linya. Kinakailangan ng POSIX.1‐2008
pagsunod sa makasaysayang kasanayan.

Ang ilang mga makasaysayang pagpapatupad ay hindi napansin kung ang mga error ay nangyari sa panahon ng buffer execution.
Ito, kasama ng kakayahang tumukoy ng hanay ng mga linya para sa ex @ utos, ginagawa ito
walang kabuluhan upang maging sanhi ng pagbagsak nila ubod. Kinakailangan ng POSIX.1‐2008 na huminto ang mga pagpapatupad
buffer execution kung may anumang error na nangyari, kung ang tinukoy na linya ay hindi umiiral, o kung ang
ang mga nilalaman ng edit buffer mismo ay pinalitan (halimbawa, ang buffer ay nagpapatupad ng ex
edit: utos).

regular expression in ex
Ang makasaysayang kasanayan ay ang mga karakter sa kapalit na bahagi ng huli s utos—
iyon ay, ang mga naitugma sa pamamagitan ng pagpasok ng a '~' sa regular na expression-ay hindi karagdagang
pinalawak ng regular na expression engine. Kaya, kung ang mga character ay naglalaman ng string
"a.," magkatugma sila 'a' sinundan ng ".," at hindi 'a' sinusundan ng anumang karakter.
Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa makasaysayang kasanayan.

Edit Options in ex
Inilalarawan ng mga sumusunod na talata ang dating gawi ng ilang mga opsyon sa pag-edit noon
hindi, sa anumang kadahilanan, kasama sa POSIX.1‐2008. Matindi ang mga pagpapatupad
hinihikayat na gamitin lamang ang mga pangalang ito kung ang functionality na inilalarawan dito ay ganap na sinusuportahan.

pinahaba Ang pinahaba ang opsyon sa pag-edit ay ginamit sa ilang pagpapatupad ng vi maghandog
pinahabang regular na mga expression sa halip na mga pangunahing regular na expression Ang pagpipiliang ito
ay inalis sa POSIX.1‐2008 dahil hindi ito malawakang makasaysayang kasanayan.

flash Ang flash Ang opsyon sa pag-edit ay dating naging sanhi ng pag-flash ng screen sa halip na pag-beep
sa pagkakamali. Inalis ang opsyong ito sa POSIX.1‐2008 dahil hindi ito matatagpuan sa
ilang makasaysayang pagpapatupad.

hardtabs Ang hardtabs makasaysayang tinukoy ng opsyon sa pag-edit ang bilang ng mga column sa pagitan
mga setting ng tab ng hardware. Ang pagpipiliang ito ay tinanggal mula sa POSIX.1‐2008 dahil ito ay
pinaniniwalaang hindi na kapaki-pakinabang sa pangkalahatan.

modelo Ang modelo (minsan pinangalanan mga modelo) opsyon sa pag-edit na dulot ng kasaysayan ex or
vi para basahin ang limang una at huling linya ng file para sa mga utos ng editor. Ito
Ang opsyon ay isang problema sa seguridad, at ang mga vendor ay mahigpit na hinihikayat na tanggalin ito
mula sa makasaysayang pagpapatupad.

buksan Ang buksan makasaysayang hindi pinapayagan ang opsyon sa pag-edit ang ex buksan at nakikita utos.
Ang opsyon sa pag-edit na ito ay tinanggal dahil ang mga utos na ito ay kinakailangan ng
POSIX.1–2008.

optimize Ang optimize i-edit ang pagpipiliang makasaysayang pinabilis ang throughput ng teksto sa pamamagitan ng pagtatakda ng
terminal upang hindi awtomatikong gawin mga character kapag nagpi-print ng higit pa
kaysa sa isang lohikal na linya ng output. Ang opsyong ito ay tinanggal mula sa POSIX.1‐2008
dahil ito ay inilaan para sa mga terminal na walang addressable cursors, na kung saan ay
bihira, if ever, ginagamit pa rin.

ruler Ang ruler ang opsyon sa pag-edit ay ginamit sa ilang pagpapatupad ng vi upang ipakita ang isang
kasalukuyang row/column ruler para sa user. Ang opsyong ito ay tinanggal mula sa POSIX.1‐2008
dahil hindi ito malawakang makasaysayang kasanayan.

sourceany Ang sourceany i-edit ang opsyon na makasaysayang sanhi ex or vi upang pagmulan ng mga start-up na file
na pagmamay-ari ng mga user maliban sa user na nagpapatakbo ng editor. Ang pagpipiliang ito ay
isang problema sa seguridad, at mahigpit na hinihikayat ang mga vendor na alisin ito sa kanilang mga
mga pagpapatupad.

oras Ang oras Ang opsyon sa pag-edit sa kasaysayan ay pinagana ang (karaniwan na ngayon) na tampok ng lamang
naghihintay ng maikling panahon bago ibalik ang mga key na maaaring bahagi ng isang macro.
Ang tampok na ito ay tinanggal mula sa POSIX.1‐2008 dahil ang pag-uugali nito ay karaniwan na ngayon,
ito ay hindi malawakang kapaki-pakinabang, at ito ay bihirang naidokumento.

pandiwang Ang pandiwang ang opsyon sa pag-edit ay ginamit sa ilang pagpapatupad ng vi magdulot vi
upang mag-output ng mga mensahe ng error para sa mga karaniwang error; halimbawa, sinusubukang ilipat ang
lumampas ang cursor sa simula o dulo ng linya sa halip na i-alerto lamang ang
screen. (Ang makasaysayang vi nag-alerto lamang sa terminal at walang iniharap na mensahe
para sa mga ganitong pagkakamali. Ang opsyon sa makasaysayang editor maikli hindi pinili kung kailan
kasalukuyang mga mensahe ng error, gumawa lamang ito ng mga umiiral na mensahe ng error nang higit pa o mas kaunti
verbose.) Inalis ang opsyong ito sa POSIX.1‐2008 dahil hindi ito laganap
makasaysayang kasanayan; gayunpaman, hinihikayat ang mga tagapagpatupad na gamitin ito kung nais nila
upang magbigay ng mga mensahe ng error para sa mga walang muwang na gumagamit.

wraplen Ang wraplen ang opsyon sa pag-edit ay ginamit sa ilang pagpapatupad ng vi upang tukuyin
isang awtomatikong margin na sinusukat mula sa kaliwang margin sa halip na mula sa kanan
margin. Ito ay kapaki-pakinabang kapag maraming laki ng screen ang ginagamit upang mag-edit ng a
iisang file. Inalis ang opsyong ito sa POSIX.1‐2008 dahil hindi
malawakang makasaysayang kasanayan; gayunpaman, hinihikayat ang mga tagapagpatupad na gamitin ito
kung idaragdag nila ang pagpapaandar na ito.

autoindent, ai
Sa kasaysayan, ang utos 0a ay hindi gumawa ng anumang autoindentation, anuman ang kasalukuyang
indentation ng linya 1. POSIX.1‐2008 ay nangangailangan na ang anumang indentation na naroroon sa linya 1 ay
ginagamit.

autoprint, ap
Kasaysayan, ang autoprint ang opsyon sa pag-edit ay hindi ganap na pare-pareho o batay lamang sa
mga pagbabago sa buffer sa pag-edit. Ang mga pagbubukod ay ang basahin utos (kapag nagbabasa mula sa a
file, ngunit hindi mula sa isang filter), ang apendend, baguhin, isingit, global, at v utos, lahat ng
na hindi naapektuhan ng autoprint, at ang mga tag utos, na naapektuhan ng
autoprint. Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa makasaysayang kasanayan.

Kasaysayan, ang autoprint inilapat lang ang opsyon sa huli sa maraming command na ipinasok
gamit mga delimiter; Halimbawa, alisin ay naapektuhan ng autoprint,
pero tanggalin|bersyon ay hindi. Ang POSIX.1‐2008 ay nangangailangan ng pagsunod sa kasaysayan
pagsasanay.

autowrite, aw
Pagdugtong ng '!' karakter sa ex susunod utos upang maiwasan ang pagsasagawa ng awtomatikong pagsulat
ay hindi suportado sa mga makasaysayang pagpapatupad. Kinakailangan ng POSIX.1‐2008 na ang pag-uugali
tugma sa iba ex mga utos para sa pagkakapare-pareho.

balewalain, ic
Makasaysayang pagpapatupad ng case-insensitive na pagtutugma (ang balewalain i-edit ang opsyon) lead
sa mga kontra-intuitive na sitwasyon kung kailan ginamit ang malalaking titik sa mga expression ng range.
Sa kasaysayan, ang proseso ay ang mga sumusunod:

1. Kumuha ng isang linya ng teksto mula sa buffer sa pag-edit.

2. I-convert ang uppercase sa lowercase sa text line.

3. I-convert ang uppercase sa lowercase sa mga regular na expression, maliban sa character class
mga pagtutukoy.

4. Itugma ang mga regular na expression laban sa teksto.

Nangangahulugan ito na, kasama ang balewalain sa epekto, ang teksto:

Ang pusa nakaupo on ang Pagkain

ay matutumbasan ng

/^ang/

ngunit hindi sa pamamagitan ng:

/^[A−Z]siya/

Para sa pagkakapare-pareho sa iba pang mga utos na nagpapatupad ng mga regular na expression, ginagawa ng POSIX.1‐2008
hindi pinapayagan ang pag-uugaling ito.

mga talata, para
Ginawa ng pamantayang ISO POSIX‐2:1993 ang default mga talata at seksyon mga opsyon sa pag-edit
implementasyon-defined, arguing sila ay historikal na nakatuon sa UNIX system troff
text formatter, at maaaring gamitin ng ``portable user'' ang {, }, [[, ]], (, at ) mga utos sa
open o visual mode at ihinto ang cursor sa mga hindi inaasahang lugar. Tinukoy ng POSIX.1‐2008
ang kanilang mga halaga sa lokal na POSIX dahil ang hindi pangkaraniwang pagpapangkat (gumagana lamang sila kapag pinagsama-sama
sa dalawang character sa isang pagkakataon) ay nangangahulugan na hindi magagamit ang mga ito para sa pangkalahatang layunin
paggalaw, anuman.

Basahin lamang
Ang mga pagpapatupad ay hinihikayat na magbigay ng pinakamahusay na posibleng impormasyon sa gumagamit tungkol sa
ang read-only na status ng file, maliban sa hindi nila dapat isaalang-alang ang
kasalukuyang mga espesyal na pribilehiyo ng proseso. Nagbibigay ito sa mga user ng safety net dahil
dapat nilang pilitin ang pag-overwrite ng mga read-only na file, kahit na tumatakbo nang may karagdagang
mga pribilehiyo.

Ang Basahin lamang Ang detalye ng opsyon sa pag-edit ay higit na umaayon sa makasaysayang kasanayan. Ang nag-iisang
Ang pagkakaiba ay hindi napansin ng mga makasaysayang pagpapatupad na itinakda ng user ang
Basahin lamang opsyon sa pag-edit sa mga kaso kung saan minarkahan na ang file na read-only para sa ilang kadahilanan,
at samakatuwid ay muling simulan ang Basahin lamang opsyon sa pag-edit sa susunod na pagkakataon ang mga nilalaman ng
napalitan ang edit buffer. Ang pag-uugaling ito ay hindi pinapayagan ng POSIX.1‐2008.

ulat
Ang kinakailangan na ang mga linyang kinopya sa isang buffer ay nakikipag-ugnayan nang iba kaysa sa mga tinanggal na linya ay
makasaysayang kasanayan. Halimbawa, kung ang ulat Ang opsyon sa pag-edit ay nakatakda sa 3, tinatanggal ang 3 linya
ay magiging sanhi ng pagsusulat ng isang ulat, ngunit 4 na linya ang dapat kopyahin bago isulat ang isang ulat.

Ang pangangailangan na ang ex global, v, buksan, paglansag-lansagin, at nakikita ang mga utos ay nagpapakita ng mga ulat
batay sa kabuuang bilang ng mga linyang idinagdag o tinanggal sa panahon ng pagpapatupad ng command, at iyon
mga utos na isinagawa ng global at v Ang mga utos na hindi nagpapakita ng mga ulat, ay makasaysayan
pagsasanay. Pinapalawak ng POSIX.1‐2008 ang makasaysayang kasanayan sa pamamagitan ng pag-aatas na ang buffer execution ay
ginagamot nang katulad. Ang mga dahilan para dito ay dalawang beses. Sa kasaysayan, ang ulat lamang ng
ang huling utos na naisakatuparan mula sa buffer ay makikita ng user, tulad ng gagawin ng bawat bagong ulat
i-overwrite ang huli. Bilang karagdagan, ang karaniwang mga developer ay naniniwala na ang buffer execution
nagkaroon ng higit na pagkakatulad sa global at v utos kaysa sa ginawa nito sa iba ex mga utos, at
ay dapat kumilos nang katulad, para sa pagkakapare-pareho at pagiging simple ng detalye.

showmatch, sm
Ang haba ng oras na ginugugol ng cursor sa katugmang character ay hindi natukoy dahil ang
Ang mga kakayahan sa tiyempo ng mga system ay madalas na hindi eksakto at nagbabago. Dapat mahaba ang oras
sapat na para mapansin ng gumagamit, ngunit hindi sapat ang haba para mainis ang gumagamit. Ang ilan
mga pagpapatupad ng vi nagdagdag ng a oras ng laban opsyon na nagpapahintulot sa mga user na itakda ang numero
ng 0,1 segundong pagitan ang cursor ay humihinto sa katugmang karakter.

showmode
Ang showmode ang opsyon ay ginamit sa ilang makasaysayang pagpapatupad ng ex at vi sa
ipakita ang kasalukuyang mode ng pag-edit kapag nasa open o visual mode. Ang mga mode ng pag-edit ay mayroon
karaniwang kasama ang ``command'' at ``input'', at kung minsan ang iba pang mga mode gaya ng
``palitan'' at ``palitan''. Ang string ay karaniwang ipinapakita sa ilalim na linya ng
screen sa dulong kanang sulok. Bilang karagdagan, isang nauna '*' karakter na madalas na tinutukoy
kung ang mga nilalaman ng buffer sa pag-edit ay binago. Ang huling display ay may
minsan naging bahagi ng showmode opsyon, at kung minsan ay batay sa isa pang opsyon. Ito
hindi available ang opsyon sa 4 na makasaysayang pagpapatupad ng BSD ng vi, ngunit tiningnan bilang
pangkalahatang kapaki-pakinabang, partikular sa mga baguhan na gumagamit, at kinakailangan ng POSIX.1‐2008.

Ang SMD shorthand para sa showmode ang opsyon ay hindi naroroon sa lahat ng kasaysayan
pagpapatupad ng editor. Kinakailangan ito ng POSIX.1‐2008, para sa pagkakapare-pareho.

Hindi lahat ng makasaysayang pagpapatupad ng editor ay nagpakita ng mode string para sa command mode,
pag-iiba ng command mode mula sa text input mode sa pamamagitan ng kawalan ng mode string.
Pinahihintulutan ng POSIX.1‐2008 ang pag-uugaling ito para sa pagkakapare-pareho sa makasaysayang kasanayan, ngunit
ang mga pagpapatupad ay hinihikayat na magbigay ng isang display string para sa parehong mga mode.

mabagal na pagbukas
Kasaysayan, ang mabagal na pagbukas Ang opsyon ay awtomatikong naitakda kung ang terminal baud rate ay mas mababa
kaysa sa 1200 baud, o kung ang baud rate ay 1200 baud at ang muling iguhit hindi naitakda ang opsyon. Ang
mabagal na pagbukas ang opsyon ay nagkaroon ng dalawang epekto. Una, kapag naglalagay ng mga character sa gitna ng isang linya,
ang mga character pagkatapos ng cursor ay hindi itulak sa unahan, ngunit lilitaw na ma-overwrite.
Pangalawa, kapag lumilikha ng bagong linya ng teksto, ang mga linya pagkatapos ng kasalukuyang linya ay hindi magiging
nag-scroll pababa, ngunit mukhang na-overwrite. Sa parehong mga kaso, tinatapos ang text input mode
ay magiging sanhi ng pag-refresh ng screen upang tumugma sa aktwal na nilalaman ng buffer sa pag-edit.
Sa wakas, ang mga terminal na may sapat na katalinuhan ay naging dahilan upang balewalain ng editor ang
mabagal na pagbukas opsyon. Pinahihintulutan ng POSIX.1‐2008 ang karamihan sa makasaysayang pag-uugali, na nagpapalawak ng kasaysayan
pagsasanay na kailangan mabagal na pagbukas pag-uugali kung ang opsyon sa pag-edit ay itinakda ng user.

tag
Ang default na path para sa mga file ng tag ay hindi natukoy dahil maaaring may sarili ang mga pagpapatupad
tag mga pagpapatupad na hindi tumutugma sa mga makasaysayang. Ang default tag
ang halaga ng opsyon ay dapat na hindi bababa sa isama ang file ./tags.

termino
Makasaysayang pagpapatupad ng ex at vi hindi pinansin ang mga pagbabago sa termino i-edit ang opsyon pagkatapos ng
na-load ang paunang impormasyon sa terminal. Ito ay pinahihintulutan ng POSIX.1‐2008; gayunpaman,
ang mga pagpapatupad ay hinihikayat na pahintulutan ang user na baguhin ang kanilang uri ng terminal sa anuman
time.

maikli
Kasaysayan, ang maikli opsyong i-edit ang opsyonal na nagbigay ng mas maikli, hindi gaanong mapaglarawang error
mensahe, para sa ilang mensahe ng error. Ito ay pinahihintulutan, ngunit hindi kinakailangan, ng POSIX.1‐2008.
Sa kasaysayan, ang pinakakaraniwang mga error sa visual mode (halimbawa, sinusubukang ilipat ang cursor sa nakaraan
ang dulo ng isang linya) ay hindi nagresulta sa isang mensahe ng error, ngunit inalertuhan lang ang terminal.
Ang mga pagpapatupad na nagnanais na magbigay ng mga mensahe para sa mga baguhan na gumagamit ay hinihimok na gawin ito batay sa
ang i-edit opsyon pandiwang, at hindi maikli.

bintana
Sa mga makasaysayang pagpapatupad, ang default para sa bintana ang opsyon sa pag-edit ay batay sa
baud rate tulad ng sumusunod:

1. Kung ang baud rate ay mas mababa sa 1200, ang i-edit opsyon w300 itakda ang halaga ng window; para sa
halimbawa, ang linya:

itakda w300=12

itatakda ang opsyon sa window sa 12 kung ang baud rate ay mas mababa sa 1200.

2. Kung ang baud rate ay katumbas ng 1200, ang i-edit opsyon w1200 itakda ang halaga ng window.

3. Kung ang baud rate ay higit sa 1200, ang i-edit opsyon w9600 itakda ang halaga ng window.

Ang w300, w1200, at w9600 hindi lumalabas ang mga opsyon sa POSIX.1‐2008 dahil sa kanilang
pagdepende sa mga tiyak na baud rate.

Sa mga makasaysayang pagpapatupad, ang laki ng window na ipinapakita ng iba't ibang mga command ay
nauugnay sa, ngunit hindi kinakailangang kapareho ng, ang bintana opsyon sa pag-edit. Halimbawa, ang laki
ng bintana ay itinakda ng ex utos nakikita 10, ngunit hindi nito binago ang halaga ng
bintana opsyon sa pag-edit. Gayunpaman, ang pagbabago ng halaga ng bintana binago ng opsyon sa pag-edit ang
bilang ng mga linyang ipinakita noong muling pininturahan ang screen. POSIX.1‐2008 ay hindi
payagan ang pag-uugaling ito sa mga interes ng pagkakapare-pareho at pagiging simple ng detalye, at
ay nangangailangan na ang lahat ng mga utos na nagbabago sa bilang ng mga linya na ipinapakita ay gawin ito sa pamamagitan ng
pagtatakda ng halaga ng bintana opsyon sa pag-edit.

wrapmargin, wm
Kasaysayan, ang wrap margin ang opsyon ay hindi nakaapekto sa mga mapa na naglalagay ng mga character na mayroon din
nauugnay bilangins; Halimbawa :mapa K 5aABC DEF. Sa kasamaang palad, mayroong malawak na ginagamit
mga mapa na nakadepende sa gawi na ito. Para sa pagkakapare-pareho at pagiging simple ng detalye,
Hindi pinapayagan ng POSIX.1‐2008 ang pag-uugaling ito.

Sa kasaysayan, wrap margin ay kinakalkula gamit ang lapad ng display ng column ng lahat ng mga character
sa screen. Halimbawa, isang pagpapatupad gamit ang "^ako" upang kumatawan mga karakter
kapag ang listahan itinakda ang opsyon sa pag-edit, kung saan '^' at 'ako' bawat isa ay kumuha ng isang column sa
screen, ay kalkulahin ang wrap margin batay sa halagang 2 para sa bawat isa . Ang numero
Binago din ng pagpipiliang i-edit ang epektibong haba ng linya. POSIX.1–2008
nangangailangan ng pagsunod sa makasaysayang kasanayan.

Ang mga naunang bersyon ng pamantayang ito ay pinapayagan para sa mga pagpapatupad na may mga byte maliban sa walo
bits, ngunit ito ay nabago sa bersyong ito.

PAGTATAYA DIREKSYON


Wala.

Gamitin ang exposix online gamit ang mga serbisyo ng onworks.net


Mga Libreng Server at Workstation

Mag-download ng Windows at Linux apps

  • 1
    Phaser
    Phaser
    Ang Phaser ay isang mabilis, libre, at masayang bukas
    source HTML5 game framework na nag-aalok
    WebGL at Canvas rendering sa kabuuan
    desktop at mobile web browser. Mga laro
    pwede maging co...
    I-download ang Phaser
  • 2
    VASSAL Engine
    VASSAL Engine
    Ang VASSAL ay isang game engine para sa paglikha
    mga elektronikong bersyon ng tradisyonal na board
    at mga laro ng card. Nagbibigay ito ng suporta para sa
    pag-render ng piraso ng laro at pakikipag-ugnayan,
    at ...
    I-download ang VASSAL Engine
  • 3
    OpenPDF - Fork ng iText
    OpenPDF - Fork ng iText
    Ang OpenPDF ay isang Java library para sa paglikha
    at pag-edit ng mga PDF file gamit ang LGPL at
    Lisensya ng open source ng MPL. Ang OpenPDF ay ang
    LGPL/MPL open source na kahalili ng iText,
    isang ...
    I-download ang OpenPDF - Fork ng iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - System para sa Automated
    Geoscientific Analyzes - ay isang Geographic
    Information System (GIS) software na may
    napakalawak na kakayahan para sa geodata
    pagproseso at ana...
    I-download ang SAGA GIS
  • 5
    Toolbox para sa Java/JTOpen
    Toolbox para sa Java/JTOpen
    Ang IBM Toolbox para sa Java / JTOpen ay isang
    library ng mga klase ng Java na sumusuporta sa
    client/server at internet programming
    mga modelo sa isang system na tumatakbo sa OS/400,
    i5/OS, o...
    I-download ang Toolbox para sa Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (o D3 para sa Data-Driven Documents)
    ay isang JavaScript library na nagbibigay-daan sa iyo
    upang makabuo ng dynamic, interactive na data
    visualization sa mga web browser. Sa D3
    ikaw...
    I-download ang D3.js
  • Marami pa »

Linux command

Ad