ภาษาอังกฤษภาษาฝรั่งเศสสเปน

Ad


ไอคอน Fav ของ OnWorks

exposix - ออนไลน์ในคลาวด์

เรียกใช้ exposix ในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่ง exposix ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


อดีต — โปรแกรมแก้ไขข้อความ

เรื่องย่อ


ex [-rR] [−s|−v] [-ค คำสั่ง] [-t แท็กสตริง] [-ว ขนาด] [ไฟล์...]

DESCRIPTION


พื้นที่ ex ยูทิลิตี้เป็นตัวแก้ไขข้อความแบบบรรทัด มีโหมดแก้ไขอื่นอีกสองโหมด—
เปิดกว้างและเห็นภาพ—ซึ่งมีการแก้ไขตามหน้าจอ นี้อธิบายเพิ่มเติม
อย่างเต็มที่โดย ex เปิด และ ภาพ คำสั่งและใน vi.

ถ้าตัวถูกดำเนินการคือ '-'ผลลัพธ์ไม่ระบุ

ส่วนนี้ใช้คำว่า แก้ไข กันชน เพื่ออธิบายข้อความการทำงานปัจจุบัน ไม่เจาะจง
การนำไปปฏิบัติมีความหมายโดยนัยในคำนี้ การแก้ไขทั้งหมดจะดำเนินการในการแก้ไข
บัฟเฟอร์ และไม่มีการเปลี่ยนแปลงใด ๆ ที่จะส่งผลต่อไฟล์ใด ๆ จนกว่าคำสั่งตัวแก้ไขจะเขียน
ไฟล์

เทอร์มินัลบางตัวไม่มีความสามารถทั้งหมดที่จำเป็นในการสนับสนุนความสมบูรณ์ ex
คำจำกัดความ เช่น คำสั่งแก้ไขแบบเต็มหน้าจอ (ภาพ โหมด or เปิด โหมด). เมื่อไหร่
คำสั่งเหล่านี้ไม่สามารถรองรับบนเทอร์มินัลดังกล่าวได้ เงื่อนไขนี้จะต้องไม่ก่อให้เกิด
ข้อความแสดงข้อผิดพลาด เช่น ``ไม่ใช่คำสั่งแก้ไข'' หรือรายงานข้อผิดพลาดทางไวยากรณ์ NS
การดำเนินการอาจยอมรับคำสั่งและให้ผลลัพธ์บนหน้าจอที่
ผลของความพยายามไม่ประสบผลสำเร็จในการปฏิบัติตามข้อกำหนดของเล่มนี้
POSIX.1‐2008 หรือรายงานข้อผิดพลาดที่อธิบายข้อบกพร่องที่เกี่ยวข้องกับเทอร์มินัล

OPTIONS


พื้นที่ ex ยูทิลิตี้จะต้องสอดคล้องกับปริมาณคำจำกัดความพื้นฐานของ POSIX.1-2008 Section 12.2,
ประโยชน์ วากยสัมพันธ์ แนวทางยกเว้นการใช้งานที่ไม่ระบุรายละเอียดของ '-'และที่ '+' อาจจะ
ได้รับการยอมรับว่าเป็นตัวคั่นตัวเลือกเช่นกัน '-'.

รองรับตัวเลือกต่อไปนี้:

-ค คำสั่ง
ระบุคำสั่งเริ่มต้นที่จะดำเนินการในบัฟเฟอร์การแก้ไขแรกที่โหลดจาก
ไฟล์ที่มีอยู่ (ดูส่วนคำอธิบายเพิ่มเติม) การดำเนินการอาจ
รองรับมากกว่าหนึ่ง -ค ตัวเลือก. ในการใช้งานดังกล่าว the
คำสั่งจะต้องดำเนินการตามลำดับที่ระบุในบรรทัดคำสั่ง

-ร กู้คืนไฟล์ที่มีชื่อ (ดูส่วนคำอธิบายเพิ่มเติม) การกู้คืน
ข้อมูลสำหรับไฟล์จะถูกบันทึกไว้ระหว่างตัวแก้ไขหรือระบบขัดข้อง (สำหรับ
ตัวอย่าง เมื่อผู้แก้ไขถูกยุติโดยสัญญาณที่ผู้แก้ไขสามารถจับได้)
หรือหลังการใช้ an ex เก็บ คำสั่ง

A ชน ในบริบทนี้เป็นความล้มเหลวที่ไม่คาดคิดของระบบหรือยูทิลิตี้ที่
ต้องรีสตาร์ทระบบหรือยูทิลิตี้ที่ล้มเหลว ระบบล่มหมายความว่า
โปรแกรมอรรถประโยชน์ใดๆ ที่ทำงานอยู่ในขณะนั้นก็ขัดข้องเช่นกัน กรณีเป็นบรรณาธิการหรือระบบ
ขัดข้อง จำนวนการเปลี่ยนแปลงของบัฟเฟอร์การแก้ไข (ตั้งแต่ครั้งล่าสุด เก็บ
คำสั่ง) ที่จะกู้คืนไม่ได้ระบุ

ถ้าไม่ ไฟล์ ตัวถูกดำเนินการและ -t ไม่ได้ระบุตัวเลือกอื่น ๆ ทั้งหมด
ตัวเลือก ทางออก ตัวแปรและอื่น ๆ .exrc ไฟล์จะถูกละเว้น รายการของ
ไฟล์ที่กู้คืนได้ทั้งหมดที่มีให้สำหรับผู้ใช้ที่เรียกใช้จะถูกเขียนและ
บรรณาธิการจะออกตามปกติโดยไม่ต้องดำเนินการใด ๆ เพิ่มเติม

-ร ชุด อ่านเท่านั้น แก้ไขตัวเลือก

-s เตรียมการ ex สำหรับการใช้งานแบบกลุ่มโดยดำเนินการดังต่อไปนี้:

* ระงับการเขียนข้อความแจ้งและข้อความที่ให้ข้อมูล (แต่ไม่ใช่การวินิจฉัย)

* ละเว้นค่าของ ระยะ และประเภทเทอร์มินัลเริ่มต้นของการใช้งานใดๆ และ
ถือว่าเทอร์มินัลเป็นประเภทที่ไม่รองรับโหมดเปิดหรือโหมดภาพ
ดู ภาพ คำสั่งและคำอธิบายของ vi.

* ระงับการใช้ ทางออก ตัวแปรสภาพแวดล้อมและการอ่านค่าใดๆ
.exrc ไฟล์; ดูส่วนคำอธิบายเพิ่มเติม

* ระงับการเยื้องอัตโนมัติโดยไม่สนใจค่าของ อัตโนมัติ แก้ไขตัวเลือก

-t แท็กสตริง
แก้ไขไฟล์ที่มีการระบุ แท็กสตริง; ดู แท็ก. คุณลักษณะแท็ก
แสดงโดย -t แท็กสตริง และ แท็ก คำสั่งเป็นทางเลือก มันจะเป็น
จัดให้อยู่ในระบบใด ๆ ที่ให้การดำเนินการที่สอดคล้องกับ แท็ก;
มิฉะนั้น การใช้ -t ให้ผลลัพธ์ที่ไม่ได้กำหนด บนระบบใด ๆ มันจะเป็น
ข้อผิดพลาดในการระบุมากกว่าหนึ่ง -t ตัวเลือก

-v เริ่มต้นในโหมดภาพ (ดู vi).

-ว ขนาด ตั้งค่าของ หน้าต่าง ตัวเลือกบรรณาธิการเพื่อ ขนาด.

ตัวดำเนินการ


ตัวถูกดำเนินการดังต่อไปนี้จะได้รับการสนับสนุน:

ไฟล์ ชื่อพาธของไฟล์ที่จะแก้ไข

STDIN


อินพุตมาตรฐานประกอบด้วยชุดคำสั่งและข้อความอินพุตตามที่อธิบายไว้ใน
ส่วนคำอธิบายเพิ่มเติม การใช้งานอาจจำกัดแต่ละบรรทัดของอินพุตมาตรฐานไว้ที่
ความยาว {LINE_MAX}

ถ้าอินพุตมาตรฐานไม่ใช่อุปกรณ์ปลายทาง ให้เหมือนกับ -s ตัวเลือกที่ได้รับ
ระบุไว้

หากการอ่านจากอินพุตมาตรฐานส่งกลับข้อผิดพลาด หรือหากเอดิเตอร์ตรวจพบจุดสิ้นสุดของ
เงื่อนไขไฟล์จากอินพุตมาตรฐานจะเทียบเท่ากับ SIGHUP แบบอะซิงโครนัส
เหตุการณ์

INPUT ไฟล์


ไฟล์อินพุตต้องเป็นไฟล์ข้อความหรือไฟล์ที่จะเป็นไฟล์ข้อความ ยกเว้นไฟล์ที่ไม่สมบูรณ์
บรรทัดสุดท้ายที่มีความยาวไม่เกิน {LINE_MAX}−1 ไบต์และไม่มี NUL
ตัวอักษร โดยค่าเริ่มต้น บรรทัดสุดท้ายที่ไม่สมบูรณ์จะถือว่ามีต่อท้าย
. การแก้ไขไฟล์รูปแบบอื่นอาจเป็นทางเลือกโดย ex
การใช้งาน

พื้นที่ .exrc ไฟล์และไฟล์ต้นฉบับต้องเป็นไฟล์ข้อความที่ประกอบด้วย ex คำสั่ง; เห็น
ส่วนคำอธิบายเพิ่มเติม

โดยค่าเริ่มต้น บรรณาธิการจะอ่านบรรทัดจากไฟล์ที่จะแก้ไขโดยไม่ตีความ
บรรทัดใดๆ เหล่านั้นในรูปแบบคำสั่งแก้ไขใดๆ

และพวกเรา ตัวแปร


ตัวแปรสภาพแวดล้อมต่อไปนี้จะส่งผลต่อการดำเนินการของ ex:

คอลัมน์ แทนที่ขนาดหน้าจอแนวนอนที่ระบบเลือก ดูคำจำกัดความพื้นฐาน
ปริมาณของ POSIX.1–2008, บท 8, สิ่งแวดล้อม ตัวแปร สำหรับค่าที่ถูกต้องและ
ผลลัพธ์เมื่อไม่ได้ตั้งค่าหรือเป็นโมฆะ

ทางออก กำหนดรายการของ ex คำสั่งที่ดำเนินการเมื่อเริ่มต้นโปรแกรมแก้ไข ดู
ส่วนคำอธิบายเพิ่มเติมสำหรับรายละเอียดเพิ่มเติมของขั้นตอนการเริ่มต้น

หน้าหลัก กำหนดชื่อพาธของไดเร็กทอรีที่จะค้นหาเอดิเตอร์ start-
ไฟล์ชื่อ .exrc; ดูส่วนคำอธิบายเพิ่มเติม

ภาษา ระบุค่าเริ่มต้นสำหรับตัวแปรการทำให้เป็นสากลที่ไม่ได้ตั้งค่าหรือ
โมฆะ. (ดูปริมาณคำจำกัดความพื้นฐานของ POSIX.1-2008 Section 8.2,
สากล ตัวแปร เพื่อความเหนือกว่าของความเป็นสากล
ตัวแปรที่ใช้ในการกำหนดค่าของหมวดหมู่สถานที่)

LC_ALL หากตั้งค่าเป็นค่าสตริงที่ไม่ว่าง ให้แทนที่ค่าของค่าอื่นๆ ทั้งหมด
ตัวแปรความเป็นสากล

LC_COLLATE
กำหนดโลแคลสำหรับพฤติกรรมของช่วง คลาสสมมูล และมัลติ-
องค์ประกอบการเรียงอักขระภายในนิพจน์ทั่วไป

LC_CTYPE กำหนดสถานที่สำหรับการตีความลำดับไบต์ของข้อมูลข้อความ
เป็นอักขระ (เช่น ไบต์เดี่ยวเมื่อเทียบกับอักขระหลายไบต์ใน
อาร์กิวเมนต์และไฟล์อินพุต) พฤติกรรมของคลาสอักขระภายใน Regular
นิพจน์ การจำแนกประเภทของตัวอักษรเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก
การแปลงตัวพิมพ์ของตัวอักษรและการตรวจสอบขอบเขตของคำ

LC_MESSAGES
กำหนดโลแคลที่ควรใช้เพื่อส่งผลต่อรูปแบบและเนื้อหาของ
ข้อความวินิจฉัยที่เขียนถึงข้อผิดพลาดมาตรฐาน

LINES แทนที่ขนาดหน้าจอแนวตั้งที่ระบบเลือก ใช้เป็นจำนวนบรรทัด
ในขนาดหน้าจอและแนวตั้งในโหมดภาพ ดูฐาน
ปริมาณคำจำกัดความของ POSIX.1-2008, บท 8, สิ่งแวดล้อม ตัวแปร เพื่อความถูกต้อง
ค่าและผลลัพธ์เมื่อไม่ได้ตั้งค่าหรือเป็นโมฆะ

นศ กำหนดตำแหน่งของแค็ตตาล็อกข้อความสำหรับการประมวลผลของ LC_MESSAGES.

เส้นทาง กำหนดเส้นทางการค้นหาสำหรับคำสั่งเชลล์ที่ระบุใน ex บรรณาธิการ
คำสั่ง !, เปลือก, อ่านและ เขียนและคำสั่งโหมดเปิดและภาพ !; ดู
คำอธิบายของการค้นหาคำสั่งและการดำเนินการใน Section 2.9.1.1, คำสั่ง
ค้นหา และ การกระทำ.

SHELL กำหนดตัวแปลบรรทัดคำสั่งที่ต้องการเพื่อใช้เป็นค่าเริ่มต้นของ
เปลือก แก้ไขตัวเลือก

ระยะ กำหนดชื่อประเภทเทอร์มินัล หากตัวแปรนี้ไม่มีการตั้งค่าหรือเป็นโมฆะ an
ต้องใช้ประเภทเทอร์มินัลเริ่มต้นที่ไม่ระบุ

อะซิงโครนัส กิจกรรม


คำต่อไปนี้ใช้ในหัวข้อนี้และต่อไปนี้เพื่อระบุคำสั่งและ
การดำเนินการเหตุการณ์แบบอะซิงโครนัส:

สมบูรณ์ เขียน
การเขียนที่สมบูรณ์คือการเขียนเนื้อหาทั้งหมดของบัฟเฟอร์การแก้ไขไปยังไฟล์
ประเภทอื่นที่ไม่ใช่อุปกรณ์ปลายทางหรือการบันทึกบัฟเฟอร์การแก้ไขที่เกิดขึ้น
โดยผู้ใช้ดำเนินการ ex เก็บ สั่งการ. การเขียนเนื้อหาของการแก้ไข
บัฟเฟอร์ไปยังไฟล์ชั่วคราวที่จะถูกลบออกเมื่อตัวแก้ไขออกจะไม่
ถือเป็นข้อเขียนที่สมบูรณ์

จะต้องดำเนินการดังต่อไปนี้เมื่อได้รับสัญญาณ:

SIGINT หากอินพุตมาตรฐานไม่ใช่อุปกรณ์ปลายทาง ex จะไม่เขียนไฟล์หรือ
กลับไปที่โหมดคำสั่งหรือป้อนข้อความและจะออกด้วยทางออกที่ไม่เป็นศูนย์
สถานะ

มิฉะนั้น หากดำเนินการคำสั่งโหมดป้อนข้อความแบบเปิดหรือแบบภาพ ex ในใบเสร็จรับเงิน
ของ SIGINT จะต้องทำงานเหมือนกับการรับ อักขระ.

มิฉะนั้น:

1. หากดำเนินการ an ex คำสั่งโหมดป้อนข้อความ บรรทัดอินพุตทั้งหมดที่ได้รับ
ที่ป้อนทั้งหมดจะได้รับการแก้ไขในบัฟเฟอร์การแก้ไขและบางส่วน
สายที่ป้อนจะถูกยกเลิก

2. หากมีคำสั่งที่กำลังดำเนินการอยู่ ให้ยกเลิกและข้อความ
แสดง เว้นแต่จะระบุไว้เป็นอย่างอื่นโดย ex or vi คำอธิบายคำสั่ง
ไม่ได้ระบุว่าบรรทัดใด ๆ ที่แก้ไขโดยคำสั่งดำเนินการปรากฏขึ้นหรือไม่
แก้ไขหรือตามที่เคยเป็นก่อนที่จะถูกแก้ไขโดยคำสั่งดำเนินการใน
บัฟเฟอร์

หากคำสั่งที่กำลังดำเนินการเป็นคำสั่งเคลื่อนไหว คำสั่งที่เกี่ยวข้อง
คำสั่งจะถูกยกเลิก

3. หากอยู่ในโหมดคำสั่งแบบเปิดหรือแบบเห็นภาพ เทอร์มินัลจะได้รับการแจ้งเตือน

4. จากนั้นผู้แก้ไขจะกลับสู่โหมดคำสั่ง

SIGCONT หน้าจอจะรีเฟรชหากอยู่ในโหมดเปิดหรือโหมดภาพ

SIGHUP หากบัฟเฟอร์การแก้ไขได้รับการแก้ไขตั้งแต่การเขียนเสร็จสิ้นครั้งล่าสุด ex จะต้อง
พยายามบันทึกบัฟเฟอร์การแก้ไขเพื่อให้สามารถกู้คืนได้ในภายหลังโดยใช้ -ร
หรือตัวเลือก ex กู้ สั่งการ. บรรณาธิการจะไม่เขียนไฟล์หรือส่งคืน
คำสั่งหรือโหมดป้อนข้อความและจะสิ้นสุดด้วยสถานะการออกที่ไม่ใช่ศูนย์

SIGTERM อ้างถึง SIGHUP

ไม่ระบุการดำเนินการสำหรับสัญญาณอื่นๆ ทั้งหมด

STDOUT


เอาต์พุตมาตรฐานจะใช้สำหรับการเขียนข้อความแจ้งไปยังผู้ใช้เท่านั้น สำหรับข้อมูล
ข้อความและสำหรับเขียนบรรทัดจากไฟล์

สแตเดอร์


ข้อผิดพลาดมาตรฐานจะใช้สำหรับข้อความวินิจฉัยเท่านั้น

เอาท์พุท ไฟล์


ผลลัพธ์จาก ex จะเป็นไฟล์ข้อความ

ขยาย DESCRIPTION


เพียง ex โหมดของตัวแก้ไขได้อธิบายไว้ในส่วนนี้ ดู vi สำหรับการแก้ไขเพิ่มเติม
ความสามารถที่มีอยู่ใน ex.

เมื่อเกิดข้อผิดพลาด ex จะเขียนข้อความ หากเครื่องรองรับโหมดโดดเด่น
(เช่นวิดีโอผกผัน) ข้อความจะถูกเขียนในโหมดโดดเด่น ถ้าเทอร์มินัล
ไม่รองรับโหมดโดดเด่นและตัวเลือกแก้ไข ข้อผิดพลาด ถูกตั้งค่า, การดำเนินการแจ้งเตือน
จะต้องนำหน้าข้อความแสดงข้อผิดพลาด

โดยค่าเริ่มต้น ex จะเริ่มในโหมดคำสั่งซึ่งจะถูกระบุโดย : พรอมต์; ดู
รวดเร็ว สั่งการ. สามารถป้อนโหมดป้อนข้อความโดยปุ่ม ผนวก, แทรก,หรือ เปลี่ยนแปลง
คำสั่ง; สามารถออกได้ (และเข้าสู่โหมดคำสั่งอีกครั้ง) โดยพิมพ์ a ('.') ตามลำพัง
ที่จุดเริ่มต้นของบรรทัด

การเขียนอักษรย่อ in ex และ vi
สัญลักษณ์ต่อไปนี้ใช้ในส่วนนี้และต่อไปนี้เพื่อระบุตำแหน่งใน
แก้ไขบัฟเฟอร์:

สลับกัน และ ปัจจุบัน ชื่อเส้นทาง
สองชื่อพาธชื่อ ปัจจุบัน และ สลับกัน, ได้รับการดูแลโดยบรรณาธิการ ใด ๆ ex
คำสั่งที่ใช้ชื่อไฟล์เป็นอาร์กิวเมนต์ให้ตั้งค่าดังนี้:

1. ถ้า ไฟล์ อาร์กิวเมนต์ถูกระบุเพื่อ ex แก้ไข, ex,หรือ กู้ คำสั่ง หรือ if
an ex แท็ก คำสั่งแทนที่เนื้อหาของบัฟเฟอร์การแก้ไข

NS. หากคำสั่งแทนที่เนื้อหาของบัฟเฟอร์การแก้ไข current
ชื่อเส้นทางจะถูกตั้งค่าเป็น ไฟล์ อาร์กิวเมนต์หรือไฟล์ที่ระบุโดยแท็ก
และชื่อพาธสำรองจะถูกตั้งค่าเป็นค่าก่อนหน้าของกระแส
ชื่อพาธ

NS. มิฉะนั้น ชื่อพาธสำรองจะถูกตั้งค่าเป็น ไฟล์ ข้อโต้แย้ง.

2. ถ้า ไฟล์ อาร์กิวเมนต์ถูกระบุเพื่อ ex ถัดไป คำสั่ง:

NS. หากคำสั่งแทนที่เนื้อหาของบัฟเฟอร์การแก้ไข current
ชื่อเส้นทางจะถูกตั้งค่าเป็นอันดับแรก ไฟล์ อาร์กิวเมนต์และชื่อเส้นทางสำรอง
จะถูกตั้งค่าเป็นค่าก่อนหน้าของชื่อพาธปัจจุบัน

3. ถ้า ไฟล์ อาร์กิวเมนต์ถูกระบุเพื่อ ex ไฟล์ คำสั่งชื่อเส้นทางปัจจุบัน
จะถูกตั้งค่าเป็น ไฟล์ อาร์กิวเมนต์ และชื่อพาธสำรองจะถูกตั้งค่าเป็น
ค่าก่อนหน้าของชื่อพาธปัจจุบัน

4. ถ้า ไฟล์ อาร์กิวเมนต์ถูกระบุเพื่อ ex อ่าน และ เขียน คำสั่ง (นั่นคือเมื่อ
การอ่านหรือเขียนไฟล์ ไม่ใช่ไปยังโปรแกรมที่ชื่อ เปลือก แก้ไข
ตัวเลือก) หรือ a ไฟล์ อาร์กิวเมนต์ถูกระบุเพื่อ ex ออก คำสั่ง:

NS. หากชื่อพาธปัจจุบันไม่มีค่า ให้ตั้งชื่อพาธปัจจุบันเป็น
ไฟล์ ข้อโต้แย้ง.

NS. มิฉะนั้น ชื่อพาธสำรองจะถูกตั้งค่าเป็น ไฟล์ ข้อโต้แย้ง.

หากชื่อพาธสำรองถูกกำหนดเป็นค่าก่อนหน้าของชื่อพาธปัจจุบันเมื่อ
ชื่อพาธปัจจุบันไม่มีค่าก่อนหน้า ดังนั้นชื่อพาธสำรองจะมี
ไม่มีค่าเป็นผล

ปัจจุบัน เส้น
บรรทัดของบัฟเฟอร์การแก้ไขที่อ้างอิงโดยเคอร์เซอร์ คำอธิบายแต่ละคำสั่ง
ระบุบรรทัดปัจจุบันหลังจากดำเนินการคำสั่งเป็น ปัจจุบัน เส้น
ความคุ้มค่า. เมื่อบัฟเฟอร์แก้ไขไม่มีบรรทัด บรรทัดปัจจุบันจะเป็นศูนย์ ดู
ที่อยู่ in ex.

ปัจจุบัน คอลัมน์
คอลัมน์บรรทัดแสดงผลปัจจุบันที่เคอร์เซอร์ครอบครอง (คอลัมน์จะเป็น
หมายเลขเริ่มต้นที่ 1.) แต่ละคำอธิบายคำสั่งระบุคอลัมน์ปัจจุบัน
หลังจากที่ได้ดำเนินการตามคำสั่งแล้ว เช่น ปัจจุบัน คอลัมน์ ค่า. คอลัมน์นี้คือ
ในอุดมคติ คอลัมน์ที่จำได้ตลอดอายุบรรณาธิการ การแสดงผลจริง
คอลัมน์บรรทัดที่เคอร์เซอร์วางอยู่อาจแตกต่างจากคอลัมน์ปัจจุบัน
ดูการอภิปรายตำแหน่งเคอร์เซอร์ใน คำสั่ง คำอธิบาย in vi.

ชุด ไปยัง ไม่ใช่
คำอธิบายสำหรับค่าคอลัมน์ปัจจุบัน หมายความว่าคอลัมน์ปัจจุบันจะเป็น
ตั้งค่าเป็นคอลัมน์บรรทัดแสดงผลสุดท้ายซึ่งจะแสดงส่วนใดส่วนหนึ่งของส่วนแรก
ไม่ใช่ ของสาย ถ้าเส้นนั้นไม่มี ไม่ใช่ ตัวละคร
คอลัมน์ปัจจุบันจะถูกตั้งค่าเป็นคอลัมน์บรรทัดสุดท้ายที่แสดงคือ
แสดงส่วนใดส่วนหนึ่งของการไม่ ตัวละครในบรรทัด ถ้าเส้นคือ
ว่างเปล่า คอลัมน์ปัจจุบันจะถูกตั้งค่าเป็นตำแหน่งคอลัมน์ 1

ความยาวของบรรทัดในบัฟเฟอร์การแก้ไขอาจถูกจำกัดไว้ที่ {LINE_MAX} ไบต์ ในที่โล่งและ
โหมดภาพ ความยาวของบรรทัดในบัฟเฟอร์แก้ไขอาจถูกจำกัดจำนวน
อักขระที่จะพอดีกับการแสดงผล หากเกินขีดจำกัดอย่างใดอย่างหนึ่งระหว่างการแก้ไข an
ข้อความแสดงข้อผิดพลาดจะถูกเขียน หากเกินขีด จำกัด หนึ่งบรรทัดที่อ่านจากไฟล์
ข้อความแสดงข้อผิดพลาดจะถูกเขียนขึ้นและเซสชันการแก้ไขอาจสิ้นสุดลง

หากเอดิเตอร์หยุดทำงานเนื่องจากสาเหตุอื่นที่ไม่ใช่คำสั่งของผู้ใช้และการแก้ไข
บัฟเฟอร์ได้รับการแก้ไขตั้งแต่การเขียนเสร็จสิ้นครั้งล่าสุด จะเทียบเท่ากับ SIGHUP
เหตุการณ์แบบอะซิงโครนัส หากระบบล่ม จะเทียบเท่ากับ SIGHUP แบบอะซิงโครนัส
เหตุการณ์

ระหว่างการเริ่มต้น (ก่อนที่จะคัดลอกไฟล์แรกลงในบัฟเฟอร์การแก้ไขหรือผู้ใช้ใดๆ
คำสั่งจากเทอร์มินัลถูกประมวลผล) สิ่งต่อไปนี้จะเกิดขึ้น:

1. ถ้าตัวแปรสภาพแวดล้อม ทางออก ถูกตั้งค่า บรรณาธิการจะดำเนินการ ex คำสั่ง
ที่มีอยู่ในตัวแปรนั้น

2 หาก ทางออก ไม่ได้ตั้งค่าตัวแปร และทั้งหมดต่อไปนี้เป็นจริง:

ก. ดิ หน้าหลัก ตัวแปรสภาพแวดล้อมไม่เป็นค่าว่างและไม่ว่าง

NS. ไฟล์ .exrc ในไดเร็กทอรีที่อ้างถึงโดย หน้าหลัก ตัวแปรสภาพแวดล้อม:

ผม. มีอยู่

ii เป็นเจ้าของโดย ID ผู้ใช้เดียวกันกับ ID ผู้ใช้จริงของกระบวนการหรือ
กระบวนการมีสิทธิที่เหมาะสม

สาม. ไม่ได้เขียนโดยใครอื่นนอกจากเจ้าของ

บรรณาธิการจะต้องดำเนินการ ex คำสั่งที่มีอยู่ในไฟล์นั้น

3. ถ้าและเฉพาะในกรณีที่ทั้งหมดต่อไปนี้เป็นจริง:

NS. ไดเร็กทอรีปัจจุบันไม่ได้ถูกอ้างถึงโดย หน้าหลัก ตัวแปรสภาพแวดล้อม

NS. คำสั่งใน ทางออก ตัวแปรสภาพแวดล้อมหรือคำสั่งใน .exrc แฟ้มใน
ไดเร็กทอรีที่อ้างถึงโดย หน้าหลัก ตัวแปรสภาพแวดล้อมตั้งค่าตัวเลือกตัวแก้ไข
อดีต.

ค. .exrc ไฟล์ในไดเร็กทอรีปัจจุบัน:

ผม. มีอยู่

ii เป็นเจ้าของโดย ID ผู้ใช้เดียวกันกับ ID ผู้ใช้จริงของกระบวนการ หรือโดยหนึ่งใน
ชุด ID ผู้ใช้ที่กำหนดการใช้งาน

สาม. ไม่ได้เขียนโดยใครอื่นนอกจากเจ้าของ

บรรณาธิการจะพยายามดำเนินการ ex คำสั่งที่มีอยู่ในไฟล์นั้น

เส้นในใดๆ .exrc ไฟล์ที่เป็นบรรทัดว่างจะถูกละเว้น ถ้ามี .exrc แฟ้มที่มีอยู่,
แต่ไม่ได้อ่านด้วยเหตุผลของการเป็นเจ้าของหรือการอนุญาต มันจะเป็นข้อผิดพลาด

หลังจาก ทางออก ตัวแปรและอื่น ๆ .exrc ไฟล์ถูกประมวลผล ไฟล์แรกที่ระบุโดย
ผู้ใช้จะได้รับการแก้ไขดังนี้:

1. หากผู้ใช้ระบุ -t ทางเลือก ผลจะเหมือนกับว่า ex แท็ก คำสั่งคือ
ป้อนด้วยอาร์กิวเมนต์ที่ระบุ ยกเว้นว่าหากการประมวลผลแท็กไม่
ไม่ส่งผลให้ไฟล์แก้ไข ผลกระทบจะเป็นไปตามที่อธิบายไว้ในขั้นตอนที่ 3 ด้านล่าง

2. มิฉะนั้น หากผู้ใช้ระบุบรรทัดคำสั่งใดๆ ไฟล์ อาร์กิวเมนต์ ผลจะเป็น
ราวกับว่า ex แก้ไข คำสั่งถูกป้อนด้วยอาร์กิวเมนต์ตัวแรกของอาร์กิวเมนต์เป็น its ไฟล์
ข้อโต้แย้ง.

3. มิฉะนั้น ผลจะเหมือนกับว่า ex แก้ไข คำสั่งถูกป้อนด้วย a
ไม่มีชื่อไฟล์เป็นของมัน ไฟล์ การโต้แย้ง. ไม่ระบุว่าการกระทำนี้จะ
ตั้งชื่อพาธปัจจุบัน ในการใช้งานโดยที่การกระทำนี้ไม่ได้ตั้งค่า
ชื่อพาธปัจจุบัน คำสั่งตัวแก้ไขใดๆ ที่ใช้ชื่อพาธปัจจุบันจะล้มเหลวจนกว่า an
คำสั่ง editor ตั้งชื่อพาธปัจจุบัน

ถ้า -ร ระบุตัวเลือกในครั้งแรกที่ไฟล์ในรายการอาร์กิวเมนต์เริ่มต้นหรือa
ไฟล์ที่ระบุโดย -t แก้ไขตัวเลือกหากข้อมูลการกู้คืนได้รับก่อนหน้านี้
บันทึกไว้ ข้อมูลนั้นจะถูกกู้คืนและบรรณาธิการจะทำตัวราวกับว่า
เนื้อหาของบัฟเฟอร์การแก้ไขได้รับการแก้ไขแล้ว หากมีหลายกรณีของ
ไฟล์ที่จะกู้คืน, ไฟล์ที่บันทึกไว้ล่าสุดจะถูกกู้คืน, และ
ข้อความแจ้งว่ามีไฟล์เวอร์ชันก่อนหน้าที่สามารถกู้คืนได้
จะต้องเขียน หากไม่มีข้อมูลการกู้คืนเกี่ยวกับไฟล์ ข้อมูล
ข้อความถึงผลกระทบนี้จะถูกเขียนขึ้น และการแก้ไขจะดำเนินการตามปกติ

ถ้า -ค ระบุตัวเลือกในครั้งแรกที่ไฟล์ที่มีอยู่แล้ว (รวมถึง a
ไฟล์ที่อาจไม่มีอยู่แต่สำหรับข้อมูลการกู้คืนที่มี เมื่อ -ร
มีการระบุตัวเลือก) แทนที่หรือเริ่มต้นเนื้อหาของบัฟเฟอร์การแก้ไข, ปัจจุบัน
บรรทัดจะถูกตั้งค่าเป็นบรรทัดสุดท้ายของบัฟเฟอร์แก้ไข คอลัมน์ปัจจุบันจะถูกตั้งค่าเป็น
ไม่ใช่ , และ ex คำสั่งที่ระบุด้วย -ค ตัวเลือกจะถูกดำเนินการ ในเรื่องนี้
กรณีไม่สามารถตั้งค่าบรรทัดปัจจุบันและคอลัมน์ปัจจุบันตามที่อธิบายไว้สำหรับคำสั่ง
เกี่ยวข้องกับการเปลี่ยนหรือการเริ่มต้นของเนื้อหาบัฟเฟอร์การแก้ไข อย่างไรก็ตาม ถ้า
-t ตัวเลือกหรือ แท็ก คำสั่งเกี่ยวข้องกับการกระทำนี้ the -ค คำสั่งตัวเลือก
จะถูกดำเนินการและจากนั้นจะทำการเคลื่อนย้ายไปยังแท็ก

รายการอาร์กิวเมนต์ปัจจุบันในขั้นต้นจะถูกตั้งค่าเป็นชื่อไฟล์ที่ระบุโดยผู้ใช้ on
บรรทัดคำสั่ง หากไม่มีการระบุชื่อไฟล์โดยผู้ใช้ รายการอาร์กิวเมนต์ปัจจุบัน
จะว่างเปล่า ถ้า -t ระบุตัวเลือกไม่ได้ระบุว่าชื่อไฟล์ใด ๆ
ผลลัพธ์จากการประมวลผลแท็กจะถูกนำหน้ารายการอาร์กิวเมนต์ปัจจุบัน ในกรณี
โดยที่ชื่อไฟล์ถูกเพิ่มเป็นคำนำหน้าในรายการอาร์กิวเมนต์ปัจจุบัน อาร์กิวเมนต์ปัจจุบัน
การอ้างอิงรายการจะถูกตั้งค่าเป็นชื่อไฟล์นั้น กรณีไม่ใส่ชื่อไฟล์
เป็นคำนำหน้ารายการอาร์กิวเมนต์ปัจจุบัน การอ้างอิงรายการอาร์กิวเมนต์ปัจจุบันจะ
จะอยู่อย่างมีเหตุผลก่อนชื่อไฟล์แรกที่ระบุในบรรทัดคำสั่ง (for
ตัวอย่าง ภายหลัง ex ถัดไป คำสั่งจะแก้ไขชื่อไฟล์แรกจากคำสั่ง
ไลน์). ถ้า -t ไม่ได้ระบุตัวเลือก การอ้างอิงรายการอาร์กิวเมนต์ปัจจุบันจะเป็นto
ชื่อไฟล์แรกบนบรรทัดคำสั่ง

ที่อยู่ in ex
ที่อยู่ใน ex เกี่ยวข้องกับบรรทัดปัจจุบันและคอลัมน์ปัจจุบัน ที่อยู่ไลน์
คือหมายเลขบรรทัดฐาน 1 ที่อยู่ของคอลัมน์คือการนับตาม 1 จาก
จุดเริ่มต้นของบรรทัด โดยทั่วไป บรรทัดปัจจุบันคือบรรทัดสุดท้ายที่ได้รับผลกระทบจากคำสั่ง
หมายเลขบรรทัดปัจจุบันคือที่อยู่ของบรรทัดปัจจุบัน ในแต่ละคำสั่งคำอธิบาย
มีการอธิบายผลกระทบของคำสั่งต่อหมายเลขบรรทัดปัจจุบันและคอลัมน์ปัจจุบัน

ที่อยู่ถูกสร้างขึ้นดังนี้:

1. ตัวละคร '.' (จุด) ให้อยู่ในบรรทัดปัจจุบัน

2. ตัวละคร '$' จะอยู่ที่บรรทัดสุดท้ายของบัฟเฟอร์การแก้ไข

3. เลขทศนิยมบวก n จะกล่าวถึง nบรรทัดที่หนึ่งของบัฟเฟอร์การแก้ไข

4. ที่อยู่ "เอ็กซ์" หมายถึงบรรทัดที่มีเครื่องหมายชื่อเครื่องหมาย 'NS'ซึ่ง
จะเป็นอักษรตัวพิมพ์เล็กจากชุดอักขระแบบพกพา อักขระ backquot
หรืออักขระอัญประกาศเดี่ยว จะถือว่าผิดหากเส้นที่ทำเครื่องหมายไว้ไม่ใช่
อยู่ในบัฟเฟอร์การแก้ไขหรือยังไม่ได้ตั้งค่าเครื่องหมาย เส้นสามารถทำเครื่องหมายได้
กับ ex เครื่องหมาย or k คำสั่งหรือ vi m คำสั่ง

5. นิพจน์ทั่วไปที่ล้อมรอบด้วย ตัวอักษร ('/') จะอยู่ในบรรทัดแรก
พบโดยการค้นหาไปข้างหน้าจากบรรทัดต่อจากบรรทัดปัจจุบันไปยังจุดสิ้นสุดของ
แก้ไขบัฟเฟอร์และหยุดที่บรรทัดแรกที่บรรทัดไม่รวม
สิ้นสุด ตรงกับนิพจน์ทั่วไป ตามที่ระบุไว้ใน ปกติ การแสดงออก
in ex, ที่อยู่ประกอบด้วยนิพจน์ทั่วไป null คั่นด้วย
ตัวอักษร ("//") จะกล่าวถึงบรรทัดถัดไปที่บรรทัดนั้นไม่รวม
สิ้นสุด ตรงกับนิพจน์ทั่วไปล่าสุดที่พบ นอกจากนี้,
ที่สอง สามารถละเว้นได้เมื่อสิ้นสุดบรรทัดคำสั่ง ถ้า แรปสแกน แก้ไข
ตั้งค่าตัวเลือกแล้ว การค้นหาจะวนรอบจุดเริ่มต้นของบัฟเฟอร์การแก้ไขและ
ต่อไปจนถึงและรวมถึงบรรทัดปัจจุบันด้วย เพื่อให้บัฟเฟอร์การแก้ไขทั้งหมดเป็น
ค้นหา ภายในนิพจน์ทั่วไป ลำดับ "\/" จะเป็นตัวแทนของตัวอักษร
แทนตัวคั่นนิพจน์ทั่วไป

6. นิพจน์ทั่วไปที่อยู่ใน ตัวอักษร ('?') จะกล่าวถึง
พบบรรทัดแรกโดยการค้นหาย้อนกลับจากบรรทัดก่อนหน้าบรรทัดปัจจุบัน
ไปยังจุดเริ่มต้นของบัฟเฟอร์การแก้ไขและหยุดที่บรรทัดแรกที่
เส้นยกเว้นการสิ้นสุด ตรงกับนิพจน์ทั่วไป ที่อยู่
ประกอบด้วยนิพจน์ทั่วไป null คั่นด้วย ตัวอักษร ("??")
จะกล่าวถึงบรรทัดก่อนหน้าซึ่งบรรทัดนั้นไม่รวมการสิ้นสุด
ตรงกับนิพจน์ทั่วไปล่าสุดที่พบ นอกจากนี้ที่สอง
mark> สามารถละเว้นได้เมื่อสิ้นสุดบรรทัดคำสั่ง ถ้า แรปสแกน ตั้งค่าตัวเลือกการแก้ไข
การค้นหาจะวนรอบตั้งแต่ต้นบัฟเฟอร์การแก้ไขจนถึงจุดสิ้นสุดของ
แก้ไขบัฟเฟอร์และดำเนินการต่อไปจนถึงและรวมถึงบรรทัดปัจจุบันเพื่อให้การแก้ไขทั้งหมด
บัฟเฟอร์ถูกค้นหา ภายในนิพจน์ทั่วไป ลำดับ "\?" จะเป็นตัวแทนของ a
ตามตัวอักษร แทนตัวคั่น RE

7. อา ('+') หรือเครื่องหมายลบ ('-') ตามด้วยเลขฐานสิบจะอยู่ที่
บรรทัดปัจจุบันบวกหรือลบตัวเลข อา '+' or '-' ไม่ตามด้วยทศนิยม
ตัวเลขจะอยู่ที่บรรทัดปัจจุบันบวกหรือลบ 1

ที่อยู่สามารถตามด้วยศูนย์หรือออฟเซ็ตที่อยู่เพิ่มเติม หรือไม่ก็ได้ -แยกออกจากกัน.
ออฟเซ็ตที่อยู่ถูกสร้างขึ้นดังนี้:

1 '+' or '-' ตามด้วยเลขฐานสิบทันทีให้บวก (ลบ)
ระบุจำนวนบรรทัดไปยัง (จาก) ที่อยู่ NS '+' or '-' ไม่ตามด้วย a
เลขทศนิยมจะบวก (ลบ) 1 ถึง (จาก) ที่อยู่

2. เลขทศนิยมจะเพิ่มจำนวนบรรทัดที่ระบุไปยังที่อยู่

จะต้องไม่เป็นข้อผิดพลาดสำหรับค่าที่อยู่กลางที่จะน้อยกว่าศูนย์หรือมากกว่า
กว่าบรรทัดสุดท้ายในบัฟเฟอร์การแก้ไข มันจะเป็นข้อผิดพลาดสำหรับค่าที่อยู่สุดท้ายถึง
มีค่าน้อยกว่าศูนย์หรือมากกว่าบรรทัดสุดท้ายในบัฟเฟอร์การแก้ไข

คำสั่งใช้ที่อยู่ศูนย์ หนึ่งหรือสองแห่ง ดูคำอธิบายของ 1แอดเดรส และ 2แอดเดรส in
คำสั่ง คำอธิบาย in ex. หากระบุที่อยู่เกินจำนวนที่กำหนดให้กับ
คำสั่งที่ต้องการศูนย์ที่อยู่จะเป็นข้อผิดพลาด มิฉะนั้น ถ้ามากกว่า
ระบุจำนวนที่อยู่ที่ต้องการให้กับคำสั่ง ที่อยู่ที่ระบุก่อน
จะถูกประเมินและทิ้งไปจนกว่าจำนวนที่อยู่ที่ถูกต้องสูงสุดจะยังคงอยู่

ที่อยู่จะแยกจากกันโดย a (',') หรือ (';').
หากไม่มีการระบุที่อยู่ก่อนหรือหลัง a หรือ ตัวคั่นมันจะเป็น
ราวกับว่ามีการระบุที่อยู่ของบรรทัดปัจจุบันก่อนหรือหลังตัวคั่น ใน
กรณีของ a ตัวคั่นบรรทัดปัจจุบัน ('.') จะถูกตั้งค่าเป็นอันดับแรก
ที่อยู่และจากนั้นจะคำนวณที่อยู่ถัดไปเท่านั้น คุณสมบัตินี้สามารถใช้เพื่อ
กำหนดเส้นเริ่มต้นสำหรับการค้นหาไปข้างหน้าและข้างหลัง (ดูกฎข้อ 5 และ 6)

NS ('%') จะเทียบเท่ากับการป้อนที่อยู่ทั้งสอง "1,$".

การกำหนดเขตใด ๆ อักขระระหว่างที่อยู่ ตัวคั่นที่อยู่ หรือที่อยู่
ออฟเซ็ตจะถูกละทิ้ง

คำสั่ง Line วจีวิภาค in ex
สัญลักษณ์ต่อไปนี้ถูกใช้ในส่วนนี้และส่วนต่อไปนี้เพื่ออธิบายพฤติกรรมการแยกวิเคราะห์:

หลบหนี หากอักขระถูกเรียกว่า `` -หนี'' หรือ `` -วี-
หนี'' หมายความว่าตัวละครได้รับหรือสูญเสียความหมายพิเศษ
โดยอาศัยอำนาจนำหน้า, ตามลำดับ, โดย หรือ -V
อักขระ. เว้นแต่จะระบุไว้เป็นอย่างอื่น ตัวละครที่หลบหนีจะถูกยกเลิก
ในขณะนั้นและจะไม่ได้รับการพิจารณาเพิ่มเติมเพื่อวัตถุประสงค์ใด ๆ

การแยกวิเคราะห์บรรทัดคำสั่งจะดำเนินการในขั้นตอนต่อไปนี้ สำหรับแต่ละขั้นตอน ตัวอักษร
ประเมินแล้วจะถูกละเว้น; นั่นคือวลี ``ตัวละครนำ'' หมายถึง
ตัวละครตัวต่อไปที่ยังไม่ได้ประเมิน

1. เป็นผู้นำ ตัวอักษรจะถูกข้าม

2. เป็นผู้นำ ตัวอักษรจะถูกข้าม

3. หากอักขระนำหน้าเป็นอักขระอัญประกาศคู่ อักขระไม่เกิน และ
รวมถึงสิ่งต่อไปที่ไม่ใช่ -หนี จะถูกละทิ้งและใดๆ
อักขระที่ตามมาจะถูกแยกวิเคราะห์เป็นคำสั่งแยกต่างหาก

4. ตัวละครนำที่สามารถตีความได้ว่าเป็นที่อยู่จะต้องได้รับการประเมิน ดู
ที่อยู่ in ex.

5. เป็นผู้นำ ตัวอักษรจะถูกข้าม

6. ถ้าตัวถัดไปคือ a ตัวอักษรหรือ a :

NS. ถ้าตัวถัดไปคือ a :

ผม. ถ้า ex อยู่ในโหมดเปิดหรือแสดงภาพ บรรทัดปัจจุบันจะถูกตั้งค่าเป็นเส้นสุดท้าย
ที่อยู่ที่ระบุ ถ้ามี

ii มิฉะนั้น ถ้าคำสั่งสุดท้ายถูกยกเลิกโดย a อักขระ,
ห้ามมิให้ดำเนินการใดๆ เช่น คำสั่ง "|| " จะต้อง
รันคำสั่งโดยนัยสองคำสั่ง ไม่ใช่สามคำสั่ง

สาม. มิฉะนั้น ขั้นตอนที่ 6.b. จะนำไปใช้

NS. มิฉะนั้นคำสั่งโดยนัยจะเป็น พิมพ์ สั่งการ. สุดท้าย #, pและ l
ธงที่ระบุใดๆ ex คำสั่งจะถูกจดจำและนำไปใช้กับสิ่งนี้
คำสั่งโดยนัย กำลังดำเนินการ ex จำนวน, พิมพ์,หรือ รายการ คำสั่งจะกำหนด
ธงที่จำได้ถึง #, ไม่มีอะไร, และ l, ตามลำดับ, บวกกับแฟล็กอื่น ๆ
ที่กำหนดไว้สำหรับการดำเนินการของ จำนวน, พิมพ์,หรือ รายการ คำสั่ง

If ex ไม่ได้ดำเนินการ a . ในขณะนี้ ทั่วโลก or v คำสั่งและไม่มีที่อยู่หรือนับ
ถูกระบุ บรรทัดปัจจุบันจะเพิ่มขึ้น 1 ก่อนคำสั่งคือ
ดำเนินการ หากการเพิ่มบรรทัดปัจจุบันจะส่งผลให้ที่อยู่ผ่าน
บรรทัดสุดท้ายในบัฟเฟอร์การแก้ไข คำสั่งจะล้มเหลว และการเพิ่มขึ้นจะไม่
เกิดขึ้น

ค. NS หรือ อักขระจะถูกละทิ้งและภายหลังใด ๆ
อักขระจะถูกแยกวิเคราะห์เป็นคำสั่งแยกต่างหาก

7. ชื่อคำสั่งจะประกอบด้วยอักขระตัวถัดไป (ถ้าอักขระไม่ใช่
ตัวอักษร) หรือตัวอักษรถัดไปและตัวอักษรใดๆ ที่ตามมา (ถ้า
ตัวอักษรเป็นตัวอักษร) โดยมีข้อยกเว้นดังต่อไปนี้:

NS. คำสั่งที่ประกอบด้วยคำนำหน้าของอักขระในชื่อคำสั่ง ลบ,
ตามด้วยตัวอักษรใดๆ ทันที ฉัน, 'NS', '+', '-',หรือ '#' จะเป็น
ตีความว่าเป็น ลบ คำสั่ง ตามด้วย ตามด้วยตัวอักษร
ที่ไม่ได้เป็นส่วนหนึ่งของคำนำหน้าของ ลบ สั่งการ. จำนวนสูงสุดของ
ตัวอักษรจะต้องตรงกับชื่อคำสั่ง ลบ; ตัวอย่างเช่น, "เดล" จะต้อง
ไม่ถือว่าเป็น "เดอ" ตามด้วยธง l.

NS. คำสั่งที่ประกอบด้วยตัวอักษร 'เค', ตามด้วยตัวอักษรที่สามารถ
ใช้เป็นชื่อเครื่องหมาย ให้เทียบเท่ากับคำสั่งเครื่องหมาย ตามด้วย
ตามด้วยตัวอักษรที่ตามหลัง 'เค'.

ค. คำสั่งที่ประกอบด้วยตัวอักษร 'NS'ตามด้วยอักขระที่อาจเป็น
ตีความว่าเป็นตัวเลือกที่ถูกต้องสำหรับ s คำสั่งให้เทียบเท่ากับ s
คำสั่งโดยไม่มีรูปแบบหรือค่าทดแทนใด ๆ ตามด้วย a ,
ตามด้วยอักขระหลัง 'NS'.

8. ชื่อคำสั่งจะต้องตรงกับชื่อคำสั่งที่เป็นไปได้และคำสั่ง
ชื่อที่มีคำนำหน้าตรงกับอักขระที่ระบุโดยผู้ใช้จะเป็น
คำสั่งที่ดำเนินการ ในกรณีของคำสั่งที่อักขระที่ระบุโดยผู้ใช้
อาจไม่ชัดเจน คำสั่งที่ดำเนินการจะเป็นดังนี้:

┌───┬─────────────┬────────┬┬───┬───────┐
aผนวก ││nถัดไป ││tt
cเปลี่ยนแปลง ││pพิมพ์ ││uแก้
chเปลี่ยนแปลง ││prพิมพ์ ││unแก้
eแก้ไข ││rอ่าน ││vv
mย้าย ││reอ่าน ││wเขียน
maเครื่องหมาย ││ss │ │
└───┴─────────────┴────────────┴───────┘
ส่วนขยายการใช้งานที่มีชื่อทำให้เกิดความคลุมเครือที่คล้ายกันจะไม่ถูกตรวจสอบ
สำหรับการจับคู่จนกว่าการจับคู่ที่เป็นไปได้ทั้งหมดสำหรับคำสั่งที่ระบุโดย POSIX.1-2008 มี
ได้รับการตรวจสอบ

9. ถ้าคำสั่งคือ a ! คำสั่งหรือถ้าคำสั่งคือ a อ่าน คำสั่งตามด้วยศูนย์
หรือมากกว่า ตัวละครและ a !, หรือถ้าคำสั่งเป็น a เขียน คำสั่งตามด้วย
หนึ่งหรือมากกว่า ตัวละครและ a !คำสั่งที่เหลือให้รวมทั้งหมด
ตัวอักษรจนถึงไม่ใช่ -หนี . NS จะเป็น
ละทิ้งและอักขระใด ๆ ที่ตามมาจะถูกแยกวิเคราะห์เป็นแยกต่างหาก ex คำสั่ง

10. มิฉะนั้น ถ้าคำสั่งคือ an แก้ไข, ex,หรือ ถัดไป คำสั่ง หรือ a ภาพ คำสั่งในขณะที่
ในโหมดเปิดหรือโหมดแสดงภาพ ส่วนถัดไปของคำสั่งจะถูกแยกวิเคราะห์ดังนี้:

ก. ใด ๆ '!' อักขระทันทีตามคำสั่งจะถูกข้ามและเป็นส่วนหนึ่ง
ของคำสั่ง

ข. ชั้นนำใด ๆ อักขระจะถูกข้ามและเป็นส่วนหนึ่งของคำสั่ง

ค. ถ้าตัวถัดไปคือ a '+', อักขระถึงตัวแรกที่ไม่ใช่ -หนี
หรือไม่ -หนี จะถูกข้ามไปและเป็นส่วนหนึ่งของ
คำสั่ง

NS. คำสั่งที่เหลือให้กำหนดตามขั้นตอนที่ระบุไว้ในวรรค
12.

11. มิฉะนั้น ถ้าคำสั่งคือ a ทั่วโลก, เปิด, s,หรือ v คำสั่ง ส่วนต่อไปของ
คำสั่งจะแยกวิเคราะห์ดังนี้:

NS. ชั้นนำใด ๆ อักขระจะถูกข้ามและเป็นส่วนหนึ่งของคำสั่ง

NS. หากอักขระถัดไปไม่ใช่ตัวอักษรและตัวเลข เครื่องหมายอัญประกาศ ,
, หรือ อักขระ:

ผม. อักขระถัดไปจะใช้เป็นตัวคั่นคำสั่ง

ii ถ้าคำสั่งคือ a ทั่วโลก, เปิด,หรือ v คำสั่งตัวอักษรขึ้นต้น
ไม่ใช่ -หนี หรือครั้งแรกที่ไม่ใช่ -หนีตัวคั่น
ให้ข้ามไปและเป็นส่วนหนึ่งของคำสั่ง

สาม. ถ้าคำสั่งคือ an s คำสั่งตัวอักษรขึ้นต้น
ไม่ใช่ -หนี หรือที่สองที่ไม่ใช่ -หนี
ตัวคั่นจะถูกข้ามและเป็นส่วนหนึ่งของคำสั่ง

ค. ถ้าคำสั่งคือ a ทั่วโลก or v คำสั่งตัวอักษรขึ้นต้น
ไม่ใช่ -หนี จะถูกข้ามไปและเป็นส่วนหนึ่งของคำสั่ง

NS. มิฉะนั้น ส่วนที่เหลือของคำสั่งจะถูกกำหนดโดยขั้นตอนที่ระบุไว้ใน
ย่อหน้า 12

12. มิฉะนั้น:

ก. ถ้าคำสั่งเป็น แผนที่, เปิดแผนที่, ย่อ,หรือ ย่อ คำสั่ง ตัวอักษร
จนถึงครั้งแรกที่ไม่ใช่ -V-หนี , หรือสองครั้ง-
อักขระอ้างอิงจะถูกข้ามและเป็นส่วนหนึ่งของคำสั่ง

NS. มิฉะนั้น อักขระถึงตัวแรกที่ไม่ใช่- -หนี ,
หรืออักขระอัญประกาศคู่จะถูกข้ามและเป็นส่วนหนึ่งของ
คำสั่ง

ค. ถ้าคำสั่งเป็น ผนวก, เปลี่ยนแปลง,หรือ แทรก คำสั่งและขั้นตอนที่ 12.b. สิ้นสุด
ที่ a อักขระ อักขระใด ๆ ที่ตามมา จนถึงตัวถัดไป
ไม่ใช่ -หนี จะใช้เป็นข้อความป้อนคำสั่ง

NS. หากคำสั่งลงท้ายด้วยอักขระอัญประกาศคู่ อักขระที่ตามมาทั้งหมด
จนถึงครั้งต่อไปที่ไม่ใช่ -หนี ,จะถูกละทิ้ง.

อี การสิ้นสุด หรือ อักขระจะถูกละทิ้งและใด ๆ
อักขระที่ตามมาจะถูกแยกวิเคราะห์เป็นแยก ex คำสั่ง

อาร์กิวเมนต์คำสั่งจะถูกแยกวิเคราะห์ตามที่อธิบายไว้ในบทสรุปและคำอธิบายของแต่ละ
เป็นรายบุคคล ex สั่งการ. การแยกวิเคราะห์นี้จะไม่ -ละเอียดอ่อน ยกเว้น the !
อาร์กิวเมนต์ซึ่งต้องเป็นไปตามชื่อคำสั่งโดยไม่แทรกแซง ตัวอักษรและ
โดยที่มิฉะนั้นจะคลุมเครือ ตัวอย่างเช่น, นับ และ ธง ไม่จำเป็นต้อง
-แยกจากกันเพราะ "d22p" ไม่คลุมเครือแต่ ไฟล์ ข้อโต้แย้งของ ex ถัดไป
คำสั่งต้องคั่นด้วยอย่างน้อยหนึ่งคำสั่ง ตัวอักษร ใด ๆ อยู่ในคำสั่ง
อาร์กิวเมนต์สำหรับ ย่อ, ย่อ, แผนที่และ เปิดแผนที่ คำสั่งสามารถ -วี-
หลบหนี ซึ่งในกรณีนี้ จะไม่ถูกใช้เป็นตัวคั่นอาร์กิวเมนต์ ใด ๆ
ในอาร์กิวเมนต์คำสั่งสำหรับคำสั่งอื่น ๆ สามารถเป็น -หนี ในกรณีนี้
นั่น จะไม่ถูกใช้เป็นตัวคั่นอาร์กิวเมนต์

ภายในอาร์กิวเมนต์คำสั่งสำหรับ ย่อ, ย่อ, แผนที่และ เปิดแผนที่ คำสั่งใดๆ
ตัวละครสามารถ -V-หนี อักขระที่หลบหนีดังกล่าวทั้งหมดจะต้องได้รับการปฏิบัติ
ตามตัวอักษรและจะไม่มีความหมายพิเศษใดๆ ภายในอาร์กิวเมนต์คำสั่งอื่น ๆ ทั้งหมด ex
คำสั่งที่ไม่ใช่นิพจน์ทั่วไปหรือสตริงการแทนที่ อักขระใดๆ ที่จะ
มิฉะนั้นจะมีความหมายพิเศษคือ -หนี. ตัวละครที่หลบหนีจะเป็น
ปฏิบัติตามตัวอักษร โดยไม่มีความหมายพิเศษเป็นอักขระขยายเชลล์หรือ '!', '%'และ
'#' อักขระขยาย ดู ปกติ การแสดงออก in ex และ การแทนที่ Strings in ex for
คำอธิบายของอาร์กิวเมนต์คำสั่งที่เป็นนิพจน์ทั่วไปหรือสตริงการแทนที่

ไม่ใช่- -หนี '%' ตัวละครที่ปรากฏใน ไฟล์ ข้อโต้แย้งใด ๆ ex คำสั่งจะ
ถูกแทนที่ด้วยชื่อพาธปัจจุบัน หนีไม่พ้น '#' อักขระจะถูกแทนที่ด้วย
ชื่อพาธสำรอง มันจะเป็นข้อผิดพลาดถ้า '%' or '#' อักขระปรากฏเป็นอักขระหลีกใน an
อาร์กิวเมนต์และค่าที่สอดคล้องกันไม่ได้ตั้งค่าไว้

ไม่ใช่- -หนี '!' อักขระในอาร์กิวเมนต์ของ ex ! คำสั่งหรือ
โหมดเปิดและภาพ ! คำสั่งหรือในการโต้แย้งกับ ex อ่าน คำสั่งโดยที่
ครั้งแรกที่ไม่ใช่ หลังชื่อคำสั่งคือ a '!' อักขระหรือในอาร์กิวเมนต์ของ
ex เขียน คำสั่งโดยที่ชื่อคำสั่งตามด้วยหนึ่งหรือมากกว่า ตัวละครและ
ครั้งแรกที่ไม่ใช่ หลังชื่อคำสั่งคือ a '!' อักขระจะถูกแทนที่ด้วย
อาร์กิวเมนต์สุดท้ายจากสามคำสั่งที่ปรากฏขึ้นหลังจากที่ไม่ได้หลบหนีทั้งหมด
'%', '#'และ '!' อักขระถูกแทนที่ มันจะเป็นข้อผิดพลาดถ้า '!' อักขระ
ปรากฏเป็น unscaped ในคำสั่งใดคำสั่งหนึ่งเหล่านี้ และไม่มีการเรียกใช้คำสั่งใดคำสั่งหนึ่งก่อนหน้านี้
ของคำสั่งเหล่านี้

หากเกิดข้อผิดพลาดระหว่างการแยกวิเคราะห์หรือการดำเนินการของ an ex คำสั่ง:

* ข้อความที่ให้ข้อมูลนี้จะถูกเขียนขึ้น การดำเนินการของ ex คำสั่ง
จะหยุดและเคอร์เซอร์ (เช่น บรรทัดและคอลัมน์ปัจจุบัน) จะต้องไม่
แก้ไขเพิ่มเติม

* ถ้า ex คำสั่งที่เกิดจากการขยายแผนที่ อักขระทั้งหมดจากแผนที่นั้น
การขยายจะถูกละทิ้ง เว้นแต่จะระบุไว้เป็นอย่างอื่นโดย แผนที่ คำสั่ง

* มิฉะนั้น ถ้า ex คำสั่งที่เกิดจากการประมวลผลของ an ทางออก สิ่งแวดล้อม
ตัวแปร a .exrc ไฟล์ a :แหล่งที่มา คำสั่ง a -ค ตัวเลือก หรือ a +คำสั่ง กำหนดให้ an
ex แก้ไข, ex, ถัดไป,หรือ ภาพ คำสั่งไม่มีคำสั่งเพิ่มเติมจากแหล่งที่มาของ
คำสั่งจะถูกดำเนินการ

* มิฉะนั้น ถ้า ex คำสั่งที่เกิดจากการดำเนินการของบัฟเฟอร์หรือa ทั่วโลก or v
คำสั่งไม่มีคำสั่งเพิ่มเติมที่เกิดจากการดำเนินการของบัฟเฟอร์หรือ ทั่วโลก or v
คำสั่งจะถูกดำเนินการ

* มิฉะนั้น ถ้า ex คำสั่งไม่ได้ถูกยกเลิกโดย a , อักขระทั้งหมดไม่เกิน
และรวมถึงสิ่งต่อไปที่ไม่ใช่ -หนี จะถูกละทิ้ง

อินพุต การตัดต่อ in ex
สัญลักษณ์ต่อไปนี้ใช้ในส่วนนี้และส่วนต่อไปนี้เพื่อระบุคำสั่ง
การดำเนินการ:

word ในภาษา POSIX คำประกอบด้วยลำดับสูงสุดของตัวอักษร ตัวเลข
และขีดล่าง คั่นที่ปลายทั้งสองข้างด้วยอักขระอื่นที่ไม่ใช่ตัวอักษร
ตัวเลข หรือขีดล่าง หรือที่จุดเริ่มต้นหรือจุดสิ้นสุดของบรรทัด หรือบัฟเฟอร์การแก้ไข

เมื่อรับอักขระอินพุตจากผู้ใช้ใน ex โหมดคำสั่งหรือ ex ป้อนข้อความ
โหมด, ex จะต้องเปิดใช้งานการประมวลผลอินพุตโหมดบัญญัติตามที่กำหนดไว้ในอินเทอร์เฟซระบบ
ปริมาณของ POSIX.1–2008

หากเข้า ex โหมดป้อนข้อความ:

1 หาก จำนวน ตั้งค่าตัวเลือกการแก้ไข ex จะแจ้งให้ป้อนข้อมูลโดยใช้หมายเลขบรรทัดที่
จะถูกกำหนดให้กับบรรทัดหากป้อนในรูปแบบที่ระบุสำหรับ ex
จำนวน คำสั่ง

2 หาก อัตโนมัติ ตั้งค่าตัวเลือกการแก้ไข ex จะแจ้งให้ป้อนข้อมูลโดยใช้ อัตโนมัติ
ตัวอักษรตามที่อธิบายโดย อัตโนมัติ แก้ไขตัวเลือก อัตโนมัติ ตัวอักษรจะ
ตามหมายเลขบรรทัดถ้ามี

หากเข้า ex โหมดคำสั่ง:

1 หาก รวดเร็ว ตั้งค่าตัวเลือกแก้ไขแล้ว อินพุตจะได้รับแจ้งให้ใช้ตัวเดียว ':'
อักขระ; มิฉะนั้นจะไม่มีการแจ้ง

อักขระที่ป้อนในส่วนต่อไปนี้จะมีผลดังต่อไปนี้ใน
สายอินพุต

เลื่อน
สรุป:
EOF

ดูคำอธิบายของ สติ EOF ตัวละครใน สติ.

หากเข้า ex โหมดคำสั่ง:

ถ้า EOF อักขระเป็นอักขระตัวแรกที่ป้อนในบรรทัด บรรทัดจะเป็น
ประเมินราวกับว่ามีอักขระสองตัว: a -D และ a .

ไม่เช่นนั้น EOF ตัวละครจะต้องไม่มีความหมายพิเศษ

หากเข้า ex โหมดป้อนข้อความ:

หากเคอร์เซอร์ตามหลัง an อัตโนมัติ ตัวละคร อัตโนมัติ ตัวละครใน
บรรทัดจะถูกแก้ไขเพื่อให้ส่วนหนึ่งของอักขระป้อนข้อความถัดไปจะเป็น
แสดงในคอลัมน์แรกในบรรทัดต่อจากก่อนหน้า กะความกว้าง แก้ไขตัวเลือก
ขอบเขตของคอลัมน์ และผู้ใช้จะได้รับแจ้งให้ป้อนบรรทัดเดียวกันอีกครั้ง

มิฉะนั้น หากเคอร์เซอร์ตามหลัง a '0'ซึ่งตามมาด้วย อัตโนมัติ อักขระและ
'0' เป็นอักขระป้อนข้อความก่อนหน้า the '0' และทั้งหมด อัตโนมัติ
อักขระในบรรทัดจะถูกละทิ้งและผู้ใช้จะได้รับแจ้งอีกครั้งสำหรับ
อินพุตสำหรับบรรทัดเดียวกัน

มิฉะนั้น หากเคอร์เซอร์ตามหลัง a '^'ซึ่งตามมาด้วย อัตโนมัติ อักขระและ
'^' เป็นอักขระป้อนข้อความก่อนหน้า the '^' และทั้งหมด อัตโนมัติ
อักขระในบรรทัดจะถูกละทิ้งและผู้ใช้จะได้รับแจ้งอีกครั้งสำหรับ
อินพุตสำหรับบรรทัดเดียวกัน นอกจากนี้ อัตโนมัติ ระดับสำหรับบรรทัดอินพุตถัดไป
จะมาจากแนวเดียวกันกับที่ อัตโนมัติ ระดับสำหรับปัจจุบัน
สายอินพุตได้รับมา

มิฉะนั้น ถ้าไม่มี อัตโนมัติ หรืออักขระป้อนข้อความในบรรทัด EOF
ตัวละครจะถูกยกเลิก

ไม่เช่นนั้น EOF ตัวละครจะต้องไม่มีความหมายพิเศษ


สรุป:

-NS

หากเข้า ex โหมดคำสั่ง:

ทำให้บรรทัดคำสั่งถูกแยกวิเคราะห์ ‐J จะถูกแมปไปยัง
เพื่อจุดประสงค์นี้.

หากเข้า ex โหมดป้อนข้อความ:

ยุติบรรทัดปัจจุบัน หากไม่มีอักขระอื่นนอกจาก อัตโนมัติ
อักขระบนบรรทัด อักขระทั้งหมดในบรรทัดจะถูกยกเลิก

แจ้งให้ป้อนข้อความในบรรทัดใหม่ต่อจากบรรทัดปัจจุบัน ถ้า อัตโนมัติ แก้ไข
ตั้งค่าตัวเลือกเป็นจำนวนที่เหมาะสมของ อัตโนมัติ ตัวอักษรจะถูกเพิ่มเป็น
คำนำหน้าบรรทัดตามที่อธิบายโดย ex อัตโนมัติ แก้ไขตัวเลือก


สรุป:


อนุญาตให้มีรายการในภายหลัง หรือ ‐J เป็นตัวอักษร ลบออก
ความหมายพิเศษใด ๆ ที่อาจต้องมีต่อโปรแกรมแก้ไขระหว่างโหมดป้อนข้อความ NS
อักขระจะถูกเก็บรักษาและประเมินผลเมื่อแยกวิเคราะห์บรรทัดคำสั่งหรือคงไว้และ
รวมเมื่อข้อความอินพุตกลายเป็นส่วนหนึ่งของบัฟเฟอร์การแก้ไข

-V
สรุป:
-V

อนุญาตให้ป้อนอักขระใด ๆ ที่ตามมาเป็นอักขระตามตัวอักษร ลบพิเศษใด ๆ
หมายความว่าอาจต้องแก้ไขระหว่างโหมดป้อนข้อความ NS -ตัววี
จะถูกละทิ้งก่อนที่จะแยกวิเคราะห์บรรทัดคำสั่งหรือข้อความที่ป้อนกลายเป็นส่วนหนึ่งของ
แก้ไขบัฟเฟอร์

ถ้าฟังก์ชัน ``ลิเทอรัล ถัดไป'' ถูกดำเนินการโดยระบบพื้นฐาน ฟังก์ชันนั้นคือ
การดำเนินการกำหนดว่าอักขระอื่นที่ไม่ใช่ ‐V ทำหน้าที่นี้

-W
สรุป:
-W

ทิ้ง ‐W และคำก่อนหน้านั้นในบรรทัดอินพุต รวมถึง any
อักขระที่ตามหลังคำและนำหน้า -W. ถ้าคำว่า ``
ฟังก์ชันการลบ'' ดำเนินการโดยระบบพื้นฐาน ซึ่งเป็นการกำหนดการใช้งานที่กำหนดไว้
ไม่ว่าจะเป็นตัวละครอื่นที่ไม่ใช่ ‐W ทำหน้าที่นี้

คำสั่ง คำอธิบาย in ex
สัญลักษณ์ต่อไปนี้ใช้ในส่วนนี้เพื่อแสดงตัวแก้ไขคำสั่ง บางส่วนของ
ตัวดัดแปลงเหล่านี้สามารถละเว้นได้ ซึ่งในกรณีนี้ จะใช้ค่าเริ่มต้นที่ระบุ

1แอดเดรส ที่อยู่บรรทัดเดียว ให้ในรูปแบบใด ๆ ที่อธิบายไว้ใน ที่อยู่ in ex;
ค่าเริ่มต้นจะเป็นบรรทัดปัจจุบัน ('.'), นอกจากที่ระบุไว้.

หากที่อยู่บรรทัดเป็นศูนย์ จะถือเป็นข้อผิดพลาด เว้นแต่จะระบุไว้เป็นอย่างอื่นใน
คำอธิบายคำสั่งต่อไปนี้

หากบัฟเฟอร์การแก้ไขว่างเปล่า และระบุที่อยู่ด้วยคำสั่ง other
กว่า =, ผนวก, แทรก, เปิด, ใส่, อ่าน,หรือ ภาพหรือที่อยู่ไม่เป็นศูนย์
มันจะเป็นความผิดพลาด

2แอดเดรส ที่อยู่สองแห่งที่ระบุช่วงของบรรทัดรวม หากไม่มีที่อยู่
ระบุ ค่าเริ่มต้นสำหรับ 2แอดเดรส จะเป็นบรรทัดปัจจุบันเท่านั้น (".,."), เว้นเสียแต่ว่า
ระบุไว้เป็นอย่างอื่นในคำอธิบายคำสั่งต่อไปนี้ หากที่อยู่หนึ่งคือ
ระบุ 2แอดเดรส ให้ระบุบรรทัดนั้นเท่านั้น เว้นแต่จะระบุไว้เป็นอย่างอื่นใน
คำอธิบายคำสั่งต่อไปนี้

มันจะเป็นข้อผิดพลาดหากที่อยู่แรกมากกว่าที่อยู่ที่สอง

หากบัฟเฟอร์การแก้ไขว่างเปล่า และระบุที่อยู่ทั้งสองด้วยคำสั่ง
นอกเหนือจาก !, เขียน, wq,หรือ ออก คำสั่งหรือที่อยู่อย่างใดอย่างหนึ่งไม่เป็นศูนย์ it
ย่อมเป็นความผิดพลาด

นับ เลขทศนิยมบวก ถ้า นับ ระบุไว้จะเทียบเท่ากับ
ระบุที่อยู่เพิ่มเติมในคำสั่ง เว้นแต่จะระบุไว้เป็นอย่างอื่นโดย
คำอธิบายคำสั่งต่อไปนี้ ที่อยู่เพิ่มเติมจะเท่ากับ
ที่อยู่สุดท้ายที่ระบุในคำสั่ง (ไม่ว่าจะโดยชัดแจ้งหรือโดยค่าเริ่มต้น) plus
นับ-1

หากสิ่งนี้จะส่งผลให้มีที่อยู่มากกว่าบรรทัดสุดท้ายของการแก้ไข
บัฟเฟอร์ ให้แก้ไขให้เท่ากับบรรทัดสุดท้ายของบัฟเฟอร์แก้ไข

ธง อักขระหนึ่งตัวขึ้นไป '+', '-', '#', 'NS',หรือ ฉัน (เอลล์). ธง
ตัวอักษรสามารถ -แยกจากกัน และในลำดับหรือรวมกัน NS
อักขระ '#', 'NS'และ ฉัน จะทำให้บรรทัดที่เขียนในรูปแบบ
ระบุโดย พิมพ์ คำสั่งตามที่กำหนด ธง.

บรรทัดที่จะเขียนมีดังนี้:

1. แก้ไขบรรทัดบัฟเฟอร์ทั้งหมดที่เขียนระหว่างการดำเนินการของ ex &, ~, รายการ,
จำนวน, เปิด, พิมพ์, s, ภาพและ z คำสั่งให้เขียนตามที่กำหนด
by ธง.

2. หลังจากเสร็จสิ้น an ex คำสั่งด้วยแฟล็กเป็นอาร์กิวเมนต์ the
บรรทัดปัจจุบันจะเขียนตามที่กำหนดโดย ธงเว้นแต่บรรทัดปัจจุบัน
เป็นบรรทัดสุดท้ายที่เขียนโดยคำสั่ง

ตัวละคร '+' และ '-' ทำให้เกิดค่าของบรรทัดปัจจุบันหลังจาก
การดำเนินการของ ex คำสั่งที่จะปรับเปลี่ยนตามที่อยู่ออฟเซ็ตตามที่อธิบายไว้ใน
ที่อยู่ in ex. การปรับนี้จะเกิดขึ้นก่อนบรรทัดปัจจุบันคือ
เขียนตามที่อธิบายไว้ใน 2. ข้างต้น

ค่าเริ่มต้นสำหรับ ธง จะไม่มี

กันชน หนึ่งในจำนวนพื้นที่ที่มีชื่อสำหรับเก็บข้อความ มีการระบุชื่อบัฟเฟอร์
โดยตัวอักษรและตัวเลขของสถานที่ POSIX ก็จะมีหนึ่ง
``ไม่มีชื่อ'' บัฟเฟอร์ เมื่อไม่ได้ระบุบัฟเฟอร์สำหรับคำสั่งตัวแก้ไขที่ใช้a
บัฟเฟอร์ ให้ใช้บัฟเฟอร์ที่ไม่มีชื่อ คำสั่งที่เก็บข้อความไว้ในบัฟเฟอร์
จะเก็บข้อความไว้เหมือนเดิมก่อนที่คำสั่งจะมีผล และจะจัดเก็บ
ข้อความที่เกิดขึ้นก่อนหน้าในไฟล์ ก่อนข้อความที่เกิดขึ้นภายหลังในไฟล์
ไม่ว่าจะระบุขอบเขตข้อความอย่างไร คำสั่งที่เก็บข้อความลงใน
บัฟเฟอร์จะเก็บข้อความไว้ในบัฟเฟอร์ที่ไม่มีชื่อเช่นเดียวกับที่ระบุใด ๆ
buffer

In ex คำสั่ง ชื่อบัฟเฟอร์ถูกระบุเป็นชื่อด้วยตัวมันเอง ในที่โล่งหรือ
คำสั่งโหมดภาพชื่อนำหน้าด้วยเครื่องหมายอัญประกาศคู่ ('"') อักขระ.

หากชื่อบัฟเฟอร์ที่ระบุเป็นตัวพิมพ์ใหญ่และเนื้อหาบัฟเฟอร์
จะต้องแก้ไข ต่อท้ายบัฟเฟอร์แทนที่จะเป็น
เขียนทับ หากบัฟเฟอร์ไม่ถูกแก้ไข ให้ระบุชื่อบัฟเฟอร์เป็น
ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ให้ผลลัพธ์เหมือนกัน

นอกจากนี้ยังมีบัฟเฟอร์ที่ตั้งชื่อตามตัวเลข 1 ถึง 9 แบบเปิดและมองเห็นได้
โหมดถ้าขอบเขตของข้อความรวมถึงอักขระจากมากกว่าหนึ่งบรรทัดคือ
กำลังแก้ไขโดย vi c or d คำสั่งอักขระการเคลื่อนไหวที่เกี่ยวข้องกับ
c or d คำสั่งระบุว่าข้อความบัฟเฟอร์จะอยู่ในโหมดบรรทัดหรือ
คำสั่ง %, `, /, ?, (, ), N, n, {,หรือ } ใช้เพื่อกำหนดขอบเขตของข้อความสำหรับ
c or d คำสั่งเนื้อหาของบัฟเฟอร์ 1 ถึง 8 จะถูกย้ายไปยัง
บัฟเฟอร์ตั้งชื่อตามค่าที่มากกว่าตัวเลขถัดไป เนื้อหาของบัฟเฟอร์9
จะถูกละทิ้งและขอบเขตของข้อความจะถูกคัดลอกลงในบัฟเฟอร์ 1 นี้
จะต้องนอกเหนือจากการคัดลอกข้อความลงในบัฟเฟอร์ที่ผู้ใช้ระบุหรือไม่มีชื่อ
บัฟเฟอร์หรือทั้งสองอย่าง สามารถระบุบัฟเฟอร์ตัวเลขเป็นบัฟเฟอร์ต้นทางสำหรับ open
และคำสั่งโหมดภาพ อย่างไรก็ตามการระบุบัฟเฟอร์ตัวเลขเป็นการเขียน
เป้าหมายของคำสั่งโหมดเปิดหรือโหมดภาพจะต้องมีผลลัพธ์ที่ไม่ระบุ

ข้อความของบัฟเฟอร์แต่ละอันต้องมีลักษณะเป็นบรรทัดใดบรรทัดหนึ่งหรือ
โหมดตัวละคร การต่อท้ายข้อความในบัฟเฟอร์ที่ไม่ว่างจะต้องตั้งค่าโหมดให้ตรงกัน
ลักษณะของข้อความที่ต่อท้าย ต่อท้ายข้อความในบัฟเฟอร์จะ
ทำให้เกิดการสร้างบรรทัดเพิ่มเติมอย่างน้อยหนึ่งบรรทัดในบัฟเฟอร์ ข้อความทั้งหมด
เก็บไว้ในบัฟเฟอร์โดย ex คำสั่งจะอยู่ในโหมดบรรทัด NS ex คำสั่งที่ว่า
ใช้บัฟเฟอร์เป็นแหล่งที่มาของข้อความ ระบุเป็นรายบุคคลว่าบัฟเฟอร์ต่างกันอย่างไร
มีการจัดการโหมด คำสั่งโหมดเปิดหรือโหมดภาพแต่ละคำสั่งที่ใช้บัฟเฟอร์สำหรับคำสั่งใดๆ
วัตถุประสงค์ระบุแต่ละโหมดของข้อความที่เก็บไว้ในบัฟเฟอร์และ
วิธีจัดการกับบัฟเฟอร์ของโหมดต่างๆ

ไฟล์ ข้อความคำสั่งที่ใช้หาชื่อพาธ ค่าเริ่มต้นจะเป็นปัจจุบัน
ชื่อพาธตามที่กำหนดไว้ก่อนหน้านี้ ซึ่งในกรณีนี้ ถ้ายังไม่มีชื่อพาธปัจจุบัน
จัดตั้งขึ้นจะเป็นความผิดพลาด เว้นแต่จะระบุไว้เป็นการเฉพาะใน
คำอธิบายคำสั่งส่วนบุคคลที่ตามมา หากข้อความคำสั่งมี any
ของตัวละคร '~', '{', '[', '*', '?', '$', '"', แบ็กโควต, อัญประกาศเดี่ยว,
และ จะต้องอยู่ภายใต้กระบวนการของ ``การขยายเชลล์''
ตามที่อธิบายไว้ด้านล่าง; ถ้าผลลัพธ์ชื่อพาธมากกว่าหนึ่งผลลัพธ์และคำสั่ง
คาดไว้เพียงอันเดียวย่อมเป็นความผิด

กระบวนการของการขยายเชลล์ในเอดิเตอร์ต้องทำดังนี้ NS ex
ยูทิลิตีจะต้องส่งผ่านสองอาร์กิวเมนต์ไปยังโปรแกรมที่ตั้งชื่อโดยตัวเลือกการแก้ไขเชลล์
คนแรกจะเป็น -คและที่สองจะเป็นสตริง "เสียงสะท้อน" และคำสั่ง
ข้อความเป็นอาร์กิวเมนต์เดียว เอาต์พุตมาตรฐานและข้อผิดพลาดมาตรฐานของสิ่งนั้น
คำสั่งจะแทนที่ข้อความคำสั่ง

! อักขระที่ต่อท้ายชื่อคำสั่งเพื่อแก้ไขการดำเนินการได้ เช่น
รายละเอียดในคำอธิบายคำสั่งแต่ละรายการ ยกเว้น ex
อ่าน, เขียนและ ! คำสั่ง '!' ตัวละครจะทำหน้าที่เป็นตัวดัดแปลง if . เท่านั้น
ไม่มี อักขระระหว่างมันกับชื่อคำสั่ง

จำได้ว่า ค้นหา ทิศทาง
พื้นที่ vi คำสั่ง N และ n เริ่มค้นหาในทิศทางไปข้างหน้าหรือข้างหลังใน
บัฟเฟอร์การแก้ไขตามทิศทางการค้นหาที่จำได้ซึ่งในตอนแรก
unset และถูกกำหนดโดย ex ทั่วโลก, v, sและ แท็ก คำสั่งและ vi / และ ?
คำสั่ง

ย่อ
สรุป:
เอบี[ตัวย่อ][ลส RHS]

If ลส และ RHS ไม่ได้ระบุให้เขียนรายการตัวย่อปัจจุบันและไม่ทำอะไรเลย
ขึ้น

การใช้งานอาจจำกัดชุดอักขระที่ยอมรับใน ลส or RHSยกเว้นว่า
ตัวอักษรที่พิมพ์ได้และ อักขระจะไม่ถูกจำกัด เพิ่มเติม
ข้อจำกัดจะต้องกำหนดการดำเนินการ

ทั้งสองอย่าง ลส และ RHSอักขระใด ๆ อาจหนีด้วย a ‐V ซึ่งในกรณีนี้
ห้ามใช้อักขระเพื่อคั่น ลส ราคาเริ่มต้นที่ RHSและการหลบหนี -V จะเป็น
ทิ้ง

ในโหมดป้อนข้อความแบบเปิดและแบบเห็นภาพ หากไม่ใช่คำหรือ ตัวละครที่หนีไม่พ้น
โดย ‐V ถูกป้อนหลังตัวอักษร word ให้ตรวจสอบ a
ชุดอักขระที่ตรงกัน ลสในการป้อนข้อความที่ป้อนระหว่างคำสั่งนี้ ถ้ามันเป็น
พบว่ามีผลประหนึ่งว่า RHS ถูกป้อนแทน ลส.

ชุดของอักขระที่ตรวจสอบถูกกำหนดดังนี้:

1. หากไม่มีอักขระแทรกหน้าคำและไม่ใช่คำหรือ ตัวอักษร
ที่เรียกเช็ค ชุดอักขระจะต้องประกอบด้วยอักขระคำ

2. หากใส่ตัวอักษรนำหน้าคำและไม่ใช่คำหรือ ตัวอักษรที่
เรียกเช็คเป็นอักขระคำ ชุดอักขระจะประกอบด้วย
อักขระที่แทรกก่อนอักขระเรียกที่เป็น word . ทันที
อักขระ บวกกับอักขระคำที่เรียก

3. หากใส่ตัวอักษรนำหน้าคำและไม่ใช่คำหรือ ตัวอักษรที่
เรียกเช็คไม่ใช่อักขระคำ ชุดอักขระจะประกอบด้วย
อักขระที่แทรกก่อนอักขระทริกเกอร์ที่ไม่ใช่
อักขระหรืออักขระคำ รวมทั้งอักขระคำที่เรียก

ไม่ได้ระบุว่า ลส อาร์กิวเมนต์ที่ป้อนสำหรับ ex ย่อ และ ย่อ
คำสั่งจะถูกแทนที่ในลักษณะนี้ ไม่ว่าจะมีการเปลี่ยนหรือไม่ก็ตาม
ผลของคำสั่งจะเหมือนกับว่าไม่มีการแทนที่เกิดขึ้น

ปัจจุบัน เส้น: ไม่เปลี่ยนแปลง

ปัจจุบัน คอลัมน์: ไม่เปลี่ยนแปลง

ผนวก
สรุป:
[1แอดเดรส] a[ต่อท้าย][!]

เข้าสู่ ex โหมดป้อนข้อความ ข้อความที่ป้อนจะถูกวางไว้หลังบรรทัดที่ระบุ ถ้าสาย
มีการระบุศูนย์ข้อความจะถูกวางไว้ที่จุดเริ่มต้นของบัฟเฟอร์การแก้ไข

คำสั่งนี้จะได้รับผลกระทบจาก จำนวน และ อัตโนมัติ แก้ไขตัวเลือก; กำลังติดตาม
ชื่อคำสั่งด้วย '!' จะทำให้ อัตโนมัติ แก้ไขการตั้งค่าตัวเลือกที่จะสลับสำหรับ
ระยะเวลาของคำสั่งนี้เท่านั้น

ปัจจุบัน เส้น: ตั้งค่าเป็นบรรทัดอินพุตสุดท้าย หากไม่มีการป้อนบรรทัดให้ตั้งค่าเป็นที่ระบุ
บรรทัด หรือบรรทัดแรกของบัฟเฟอร์การแก้ไข ถ้าระบุบรรทัดของศูนย์ หรือศูนย์ if
บัฟเฟอร์การแก้ไขว่างเปล่า

ปัจจุบัน คอลัมน์: ตั้งค่าเป็นไม่ใช่- .

ข้อโต้แย้ง
สรุป:
อาร์[gs]

เขียนรายการอาร์กิวเมนต์ปัจจุบัน พร้อมรายการอาร์กิวเมนต์ปัจจุบัน ถ้ามี อยู่ระหว่าง '['
และ ']' อักขระ

ปัจจุบัน เส้น: ไม่เปลี่ยนแปลง

ปัจจุบัน คอลัมน์: ไม่เปลี่ยนแปลง

เปลี่ยนแปลง
สรุป:
[2แอดเดรส] c[hange][!][นับ]

เข้าสู่ ex โหมดป้อนข้อความ ข้อความที่ป้อนเข้ามาแทนที่บรรทัดที่ระบุ ที่ระบุ
บรรทัดจะถูกคัดลอกลงในบัฟเฟอร์ที่ไม่มีชื่อ ซึ่งจะกลายเป็นบัฟเฟอร์โหมดบรรทัด

คำสั่งนี้จะได้รับผลกระทบจาก จำนวน และ อัตโนมัติ แก้ไขตัวเลือก; กำลังติดตาม
ชื่อคำสั่งด้วย '!' จะทำให้ อัตโนมัติ แก้ไขการตั้งค่าตัวเลือกที่จะสลับสำหรับ
ระยะเวลาของคำสั่งนี้เท่านั้น

ปัจจุบัน เส้น: ตั้งค่าเป็นบรรทัดอินพุตสุดท้าย หากไม่มีการป้อนบรรทัดให้ตั้งค่าเป็นบรรทัดก่อนหน้า
ที่อยู่แรกหรือบรรทัดแรกของบัฟเฟอร์การแก้ไขหากไม่มีบรรทัดนำหน้า
ที่อยู่แรกหรือศูนย์หากบัฟเฟอร์การแก้ไขว่างเปล่า

ปัจจุบัน คอลัมน์: ตั้งค่าเป็นไม่ใช่- .

เปลี่ยนแปลง ค้นหาสถานที่
สรุป:
ชดี[ir][!][ไดเรกทอรี]
cd[!][ไดเรกทอรี]

เปลี่ยนไดเร็กทอรีการทำงานปัจจุบันเป็น ไดเรกทอรี.

ถ้าไม่ ไดเรกทอรี อาร์กิวเมนต์ถูกระบุและ หน้าหลัก ตัวแปรสภาพแวดล้อมถูกตั้งค่าเป็นไม่ใช่
ค่าว่างและค่าว่าง ไดเรกทอรี จะเริ่มต้นเป็นค่าที่ระบุใน หน้าหลัก
ตัวแปรสภาพแวดล้อม ถ้า หน้าหลัก ตัวแปรสภาพแวดล้อมว่างเปล่าหรือไม่ได้กำหนดไว้
ค่าเริ่มต้นของ ไดเรกทอรี มีการกำหนดการใช้งาน

ถ้าไม่ '!' ต่อท้ายชื่อคำสั่งและบัฟเฟอร์การแก้ไขได้รับการแก้ไขตั้งแต่
การเขียนที่สมบูรณ์ครั้งสุดท้าย และชื่อพาธปัจจุบันไม่ได้ขึ้นต้นด้วย a '/'มันจะเป็น
ข้อผิดพลาด

ปัจจุบัน เส้น: ไม่เปลี่ยนแปลง

ปัจจุบัน คอลัมน์: ไม่เปลี่ยนแปลง

คัดลอก
สรุป:
[2แอดเดรส] co[py] 1แอดเดรส [ธง]
[2แอดเดรส] t 1แอดเดรส [ธง]

คัดลอกบรรทัดที่ระบุหลังจากบรรทัดปลายทางที่ระบุ บรรทัดศูนย์ระบุว่า
บรรทัดจะถูกวางไว้ที่จุดเริ่มต้นของบัฟเฟอร์การแก้ไข

ปัจจุบัน เส้น: กำหนดให้คัดลอกบรรทัดสุดท้าย

ปัจจุบัน คอลัมน์: ตั้งค่าเป็นไม่ใช่- .

ลบ
สรุป:
[2แอดเดรส] d[ลบ][กันชน][นับ][ธง]

ลบบรรทัดที่ระบุลงในบัฟเฟอร์ (ค่าเริ่มต้นเป็นบัฟเฟอร์ที่ไม่มีชื่อ) ซึ่งจะ
กลายเป็นบัฟเฟอร์โหมดบรรทัด

แฟล็กสามารถติดตามชื่อคำสั่งได้ทันที ดู คำสั่ง Line วจีวิภาค in ex.

ปัจจุบัน เส้น: ตั้งค่าเป็นบรรทัดต่อจากบรรทัดที่ถูกลบ หรือเป็นบรรทัดสุดท้ายในการแก้ไข
บัฟเฟอร์หากบรรทัดนั้นเลยจุดสิ้นสุดของบัฟเฟอร์การแก้ไข หรือถึงศูนย์หากบัฟเฟอร์การแก้ไขคือ
ว่างเปล่า

ปัจจุบัน คอลัมน์: ตั้งค่าเป็นไม่ใช่- .

Edit
สรุป:
e[กล่าวว่า][!][+คำสั่ง][ไฟล์]
ex[!][+คำสั่ง][ไฟล์]

ถ้าไม่ '!' ต่อท้ายชื่อคำสั่งและบัฟเฟอร์การแก้ไขได้รับการแก้ไขตั้งแต่
ครั้งสุดท้ายที่เขียนให้สมบูรณ์ มันจะเป็นข้อผิดพลาด

If ไฟล์ ถูกระบุ แทนที่เนื้อหาปัจจุบันของบัฟเฟอร์การแก้ไขด้วย current
เนื้อหาของ ไฟล์และตั้งชื่อพาธปัจจุบันเป็น ไฟล์. ถ้า ไฟล์ ไม่ได้ระบุ, แทนที่
เนื้อหาปัจจุบันของบัฟเฟอร์การแก้ไขที่มีเนื้อหาปัจจุบันของไฟล์ที่ตั้งชื่อโดย
ชื่อเส้นทางปัจจุบัน หากเนื้อหาปัจจุบันของไฟล์ไม่สามารถเข้าถึงได้ด้วยเหตุผลใดก็ตาม
บัฟเฟอร์การแก้ไขจะว่างเปล่า

พื้นที่ +คำสั่ง ตัวเลือกจะเป็น -คั่นด้วย; ตัวอักษรภายใน +คำสั่ง สามารถ
หนีโดยนำหน้าพวกเขาด้วย อักขระ. ดิ +คำสั่ง จะเป็น
ตีความว่าเป็น ex คำสั่งทันทีหลังจากเนื้อหาของบัฟเฟอร์การแก้ไขได้รับ
แทนที่และตั้งค่าบรรทัดและคอลัมน์ปัจจุบันแล้ว

หากบัฟเฟอร์การแก้ไขว่างเปล่า:

ปัจจุบัน เส้น: ตั้งค่าเป็น 0

ปัจจุบัน คอลัมน์: ตั้งค่าเป็น 1

มิฉะนั้น หากดำเนินการในขณะที่อยู่ใน ex โหมดคำสั่งหรือถ้า +คำสั่ง อาร์กิวเมนต์ถูกระบุ:

ปัจจุบัน เส้น: ตั้งค่าเป็นบรรทัดสุดท้ายของบัฟเฟอร์การแก้ไข

ปัจจุบัน คอลัมน์: ตั้งค่าเป็นไม่ใช่- .

มิฉะนั้นถ้า ไฟล์ ถูกละเว้นหรือส่งผลให้ชื่อพาธปัจจุบัน:

ปัจจุบัน เส้น: ตั้งค่าเป็นบรรทัดแรกของบัฟเฟอร์การแก้ไข

ปัจจุบัน คอลัมน์: ตั้งค่าเป็นไม่ใช่- .

มิฉะนั้นถ้า ไฟล์ เหมือนกับไฟล์ที่แก้ไขล่าสุด ให้ตั้งค่าบรรทัดและคอลัมน์
ดังนี้ หากไฟล์ถูกแก้ไขก่อนหน้านี้ บรรทัดและคอลัมน์สามารถตั้งค่าได้ดังนี้:

ปัจจุบัน เส้น: ตั้งค่าเป็นค่าสุดท้ายที่เก็บไว้เมื่อไฟล์นั้นถูกแก้ไขครั้งล่าสุด ถ้าค่านี้คือ
ไม่ใช่บรรทัดที่ถูกต้องในบัฟเฟอร์การแก้ไขใหม่ ให้ตั้งค่าเป็นบรรทัดแรกของบัฟเฟอร์การแก้ไข

ปัจจุบัน คอลัมน์: หากบรรทัดปัจจุบันถูกตั้งค่าเป็นค่าสุดท้ายที่เก็บไว้เมื่อไฟล์ล่าสุด
แก้ไขแล้ว ตั้งค่าเป็นค่าสุดท้ายที่เก็บไว้เมื่อไฟล์ถูกแก้ไขครั้งล่าสุด มิฉะนั้น หรือหาก
ค่าสุดท้ายไม่ใช่คอลัมน์ที่ถูกต้องในบัฟเฟอร์การแก้ไขใหม่ ตั้งค่าเป็น non- .

มิฉะนั้น:

ปัจจุบัน เส้น: ตั้งค่าเป็นบรรทัดแรกของบัฟเฟอร์การแก้ไข

ปัจจุบัน คอลัมน์: ตั้งค่าเป็นไม่ใช่- .

เนื้อไม่มีมัน
สรุป:
f[s][ไฟล์]

ถ้า ไฟล์ มีการระบุอาร์กิวเมนต์ ชื่อพาธสำรองจะถูกตั้งค่าเป็นปัจจุบัน
ชื่อเส้นทางและชื่อเส้นทางปัจจุบันจะถูกตั้งค่าเป็น ไฟล์.

เขียนข้อความให้ข้อมูล หากไฟล์มีชื่อพาธปัจจุบัน ให้รวมไว้ด้วย
ในข้อความนี้ มิฉะนั้นข้อความจะระบุว่าไม่มีชื่อเส้นทางปัจจุบัน
หากบัฟเฟอร์การแก้ไขมีบรรทัด หมายเลขบรรทัดปัจจุบันและจำนวนบรรทัดในไฟล์
แก้ไขบัฟเฟอร์จะรวมอยู่ในข้อความนี้ มิฉะนั้นข้อความจะระบุว่า
บัฟเฟอร์การแก้ไขว่างเปล่า หากมีการแก้ไขบัฟเฟอร์การแก้ไขตั้งแต่ครั้งสุดท้ายที่เสร็จสิ้น
เขียน ข้อเท็จจริงนี้จะรวมอยู่ในข้อความนี้ ถ้า อ่านเท่านั้น ตั้งค่าตัวเลือกการแก้ไข
ข้อเท็จจริงนี้จะรวมอยู่ในข้อความนี้ ข้อความอาจมีอื่น ๆ ที่ไม่ระบุ
ข้อมูล

ปัจจุบัน เส้น: ไม่เปลี่ยนแปลง

ปัจจุบัน คอลัมน์: ไม่เปลี่ยนแปลง

เหตุการณ์ที่
สรุป:
[2แอดเดรส] g[โลบอล] /Belt hold / [คำสั่ง]
[2แอดเดรส] วี /Belt hold / [คำสั่ง]

ตัวเลือก '!' อักขระหลัง ทั่วโลก คำสั่งจะเหมือนกับการดำเนินการ v
คำสั่ง

If Belt hold ว่างเปล่า (เช่น "//") หรือไม่ได้ระบุ นิพจน์ทั่วไปสุดท้ายที่ใช้
ในคำสั่งบรรณาธิการจะใช้เป็น Belt hold . Belt hold คั่นด้วย
อักขระ (แสดงในเรื่องย่อ) รวมทั้งอักขระที่ไม่ใช่ตัวอักษรและตัวเลขหรือไม่ใช่
นอกเหนือจากนี้ , , หรืออัญประกาศคู่

หากไม่มีการระบุบรรทัด บรรทัดนั้นจะใช้ค่าเริ่มต้นเป็นทั้งไฟล์

พื้นที่ ทั่วโลก และ v คำสั่งเป็นการดำเนินการสองรอบตามตรรกะ ขั้นแรก ทำเครื่องหมายเส้นภายใน
บรรทัดที่ระบุซึ่งบรรทัดไม่รวมการสิ้นสุด ไม้ขีด
(ทั่วโลก) หรือไม่ตรงกัน (v or ทั่วโลก!) ตามแบบที่กำหนด ประการที่สอง ดำเนินการ ex
คำสั่งที่ได้รับจาก คำสั่ง, ด้วยบรรทัดปัจจุบัน ('.') กำหนดให้แต่ละบรรทัดที่ทำเครื่องหมายไว้ ถ้า
เกิดข้อผิดพลาดระหว่างกระบวนการนี้ หรือเนื้อหาของบัฟเฟอร์การแก้ไขถูกแทนที่ (สำหรับ
ตัวอย่าง โดย ex แก้ไข: คำสั่ง) ให้เขียนข้อความแสดงข้อผิดพลาดและไม่มีคำสั่งอีก
อันเป็นผลมาจากการดำเนินการคำสั่งนี้จะถูกประมวลผล

แพลตฟอร์มที่หลากหลาย ex สามารถระบุคำสั่งได้โดยการป้อนคำสั่งหลายคำสั่งในบรรทัดเดียวโดยใช้
NS เพื่อกำหนดเขตหรือหนึ่งต่อบรรทัดโดยหลบหนีแต่ละ กับ
.

หากไม่มีการระบุคำสั่ง:

1. ถ้าใน ex โหมดคำสั่งก็จะเหมือนกับว่า พิมพ์ คำสั่งถูกระบุ

2. มิฉะนั้น จะไม่มีการสั่งการใดๆ

สำหรับ ผนวก, เปลี่ยนแปลงและ แทรก คำสั่ง ให้ใส่ข้อความเข้าเป็นส่วนหนึ่งของ
คำสั่งและการสิ้นสุด สามารถละเว้นได้หากคำสั่งสิ้นสุดรายการของ
คำสั่ง NS เปิด และ ภาพ คำสั่งสามารถระบุเป็นหนึ่งในคำสั่งที่
กรณีแต่ละบรรทัดที่ทำเครื่องหมายจะทำให้บรรณาธิการเข้าสู่โหมดเปิดหรือภาพ ถ้าเปิดหรือ
ออกจากโหมดภาพโดยใช้ปุ่ม vi Q คำสั่งบรรทัดปัจจุบันจะถูกตั้งค่าเป็นถัดไป
เส้นที่ทำเครื่องหมายไว้ และกลับเข้าสู่โหมดเปิดหรือโหมดภาพอีกครั้ง จนกระทั่งรายการเส้นที่ทำเครื่องหมายเป็น
เหนื่อย.

พื้นที่ ทั่วโลก, vและ แก้ คำสั่งใช้ไม่ได้ใน คำสั่ง. เส้นที่ทำเครื่องหมายไว้อาจถูกลบ
โดยคำสั่งที่ดำเนินการสำหรับบรรทัดที่เกิดขึ้นก่อนหน้าในไฟล์มากกว่าบรรทัดที่ทำเครื่องหมายไว้ ใน
ในกรณีนี้ จะไม่มีการดำเนินการคำสั่งใดๆ สำหรับบรรทัดที่ถูกลบ

หากไม่ได้กำหนดทิศทางการค้นหาที่จดจำไว้ ทั่วโลก และ v คำสั่งจะกำหนดให้
ข้างหน้า

พื้นที่ พิมพ์อัตโนมัติ และ อัตโนมัติ แก้ไขตัวเลือกจะถูกยับยั้งในช่วงระยะเวลาของ g or
v คำสั่ง

ปัจจุบัน เส้น: หากไม่มีคำสั่งใดดำเนินการ ให้ตั้งค่าเป็นบรรทัดที่ทำเครื่องหมายสุดท้าย มิฉะนั้น as
ที่กำหนดไว้สำหรับการดำเนินการ ex คำสั่ง

ปัจจุบัน คอลัมน์: หากไม่มีการดำเนินการคำสั่งใด ๆ ให้ตั้งค่าเป็น non- ; อย่างอื่นตามที่กำหนด
สำหรับบุคคล ex คำสั่ง

สิ่งที่ใส่เข้าไป
สรุป:
[1แอดเดรส] i[เนิร์ท][!]

เข้าสู่ ex โหมดป้อนข้อความ ข้อความที่ป้อนจะต้องวางก่อนบรรทัดที่ระบุ ถ้า
บรรทัดเป็นศูนย์หรือ 1 ข้อความจะถูกวางไว้ที่จุดเริ่มต้นของบัฟเฟอร์การแก้ไข

คำสั่งนี้จะได้รับผลกระทบจาก จำนวน และ อัตโนมัติ แก้ไขตัวเลือก; กำลังติดตาม
ชื่อคำสั่งด้วย '!' จะทำให้ อัตโนมัติ แก้ไขการตั้งค่าตัวเลือกที่จะสลับสำหรับ
ระยะเวลาของคำสั่งนี้เท่านั้น

ปัจจุบัน เส้น: ตั้งค่าเป็นบรรทัดอินพุตสุดท้าย หากไม่มีการป้อนบรรทัดให้ตั้งค่าเป็นบรรทัดก่อนหน้า
บรรทัดที่ระบุหรือไปยังบรรทัดแรกของบัฟเฟอร์การแก้ไขหากไม่มีบรรทัด
นำหน้าบรรทัดที่ระบุ หรือศูนย์หากบัฟเฟอร์การแก้ไขว่างเปล่า

ปัจจุบัน คอลัมน์: ตั้งค่าเป็นไม่ใช่- .

ร่วมเป็นผู้ขายกับเราที่
สรุป:
[2แอดเดรส] j[OIN][!][นับ][ธง]

If นับ ระบุไว้:

หากไม่มีการระบุที่อยู่ ร่วม คำสั่งจะทำตัวเหมือน 2แอดเดรส เป็น
สายปัจจุบันและสายปัจจุบันบวก นับ - นับ).

หากระบุที่อยู่หนึ่งรายการ ร่วม คำสั่งจะทำตัวเหมือน 2แอดเดรส เป็น
ที่อยู่ที่ระบุและที่อยู่ที่ระบุ plus นับ (addr,addr + นับ).

หากระบุที่อยู่สองแห่ง ร่วม คำสั่งให้ปฏิบัติเสมือนเป็นคำสั่งเพิ่มเติม
ที่อยู่เท่ากับที่อยู่สุดท้าย plus นับ -1 (แอดเดรส1,แอดเดรส2,แอดเดรส2 + นับ −1)
ถูกระบุ

หากสิ่งนี้จะทำให้ที่อยู่ที่สองมากกว่าบรรทัดสุดท้ายของการแก้ไข
บัฟเฟอร์ ให้แก้ไขให้เท่ากับบรรทัดสุดท้ายของบัฟเฟอร์แก้ไข

ถ้าไม่ นับ ระบุไว้:

หากไม่มีการระบุที่อยู่ ร่วม คำสั่งจะทำตัวเหมือน 2แอดเดรส เป็น
บรรทัดปัจจุบันและบรรทัดถัดไป (.,. +1)

หากระบุที่อยู่หนึ่งรายการ ร่วม คำสั่งจะทำตัวเหมือน 2แอดเดรส เป็น
ที่อยู่ที่ระบุและบรรทัดถัดไป (addr,addr + 1)

รวมข้อความจากบรรทัดที่ระบุเข้าด้วยกันเป็นบรรทัดเดียวซึ่งจะแทนที่
บรรทัดที่ระบุ

ถ้า '!' ต่อท้ายชื่อคำสั่ง ร่วม จะต้องไม่มี
แก้ไขบรรทัดใด ๆ โดยไม่ขึ้นกับสถานที่ปัจจุบัน

มิฉะนั้น ในโลแคล POSIX ให้ตั้งค่าบรรทัดปัจจุบันเป็นบรรทัดแรกของบรรทัดที่ระบุ
จากนั้นสำหรับแต่ละบรรทัดถัดไป ให้ดำเนินการดังนี้:

1. ทิ้งนำ อักขระจากบรรทัดที่จะเข้าร่วม

2. หากบรรทัดที่จะเข้าร่วมว่างเปล่า ให้ลบออก และข้ามขั้นตอนที่ 3 ถึง 5

3. หากบรรทัดปัจจุบันลงท้ายด้วย a , หรืออักขระตัวแรกของบรรทัดที่จะเชื่อม
คือ ')' อักขระ เข้าร่วมบรรทัดโดยไม่ต้องแก้ไขเพิ่มเติม

4. หากอักขระตัวสุดท้ายของบรรทัดปัจจุบันคือ a '.', เข้าร่วมสายด้วยสอง
ตัวอักษรระหว่างพวกเขา

5. มิฉะนั้นให้เข้าร่วมสายเดียว ระหว่างพวกเขา.

ปัจจุบัน เส้น: ตั้งค่าเป็นบรรทัดแรกที่ระบุ

ปัจจุบัน คอลัมน์: ตั้งค่าเป็นไม่ใช่- .

รายการ
สรุป:
[2แอดเดรส] l[คือ][นับ][ธง]

คำสั่งนี้จะเทียบเท่ากับ ex คำสั่ง:

[2แอดเดรส] p[ล้าง][นับ] l[ธง]

ดู พิมพ์.

แผนที่
สรุป:
แผนที่[!][ลส RHS]

If ลส และ RHS ไม่ได้ระบุ:

1 ถ้า '!' มีการระบุให้เขียนรายการปัจจุบันของแผนที่โหมดป้อนข้อความ

2. มิฉะนั้น ให้เขียนรายการปัจจุบันของแมปโหมดคำสั่ง

3. ไม่ต้องทำอะไรอีก

การใช้งานอาจจำกัดชุดอักขระที่ยอมรับใน ลส or RHSยกเว้นว่า
ตัวอักษรที่พิมพ์ได้และ อักขระจะไม่ถูกจำกัด เพิ่มเติม
ข้อจำกัดจะต้องกำหนดการดำเนินการ ในทั้งสองอย่าง ลส และ RHS, อักขระใดก็ได้
หนีไปกับ a ‐V ซึ่งในกรณีนี้ ห้ามใช้อักขระเพื่อคั่น ลส
ราคาเริ่มต้นที่ RHSและการหลบหนี -V จะถูกละทิ้ง

ถ้าตัวละคร '!' ต่อท้าย แผนที่ ชื่อคำสั่ง การทำแผนที่จะมีผล
ระหว่างโหมดป้อนข้อความแบบเปิดหรือแบบภาพแทน เปิด or ภาพ โหมดคำสั่ง สิ่งนี้ทำให้
ลส มีสองที่แตกต่างกัน แผนที่ คำจำกัดความพร้อมกัน: หนึ่งสำหรับโหมดคำสั่งและหนึ่ง
สำหรับโหมดป้อนข้อความ

สำหรับการแมปโหมดคำสั่ง:

เมื่อราคาของ ลส ถูกป้อนเป็นส่วนหนึ่งของ a vi คำสั่งในโหมดเปิดหรือโหมดภาพ (แต่ไม่ใช่
เป็นส่วนหนึ่งของข้อโต้แย้งของคำสั่ง) การกระทำจะเหมือนกับว่า
ตรงกัน RHS ได้เข้ามาแล้ว

หากอักขระใด ๆ ในคำสั่ง ยกเว้นตัวแรก หนีโดยใช้ a
อักขระ ‐V อักขระนั้นต้องไม่เป็นส่วนหนึ่งของการจับคู่กับ ลส.

ไม่ระบุว่าการนำไปปฏิบัติจะสนับสนุนหรือไม่ แผนที่ คำสั่งที่ ลส
มีความยาวมากกว่าหนึ่งอักขระ โดยที่อักขระตัวแรกของ ลส is
พิมพ์ได้

If ลส มีอักขระมากกว่าหนึ่งตัวและอักขระตัวแรกคือ '#', ติดตามโดย
ลำดับของตัวเลขที่สอดคล้องกับคีย์ฟังก์ชันที่เป็นตัวเลข จากนั้นเมื่อสิ่งนี้
คีย์ฟังก์ชันถูกพิมพ์แล้วจะถูกแมปกับ RHS. อักขระอื่นที่ไม่ใช่ตัวเลข
ติดตาม '#' อักขระยังเป็นตัวแทนของปุ่มฟังก์ชั่นที่ตั้งชื่อโดยตัวอักษร
ใน ลส following the '#' และสามารถแมปไปยัง RHS. ไม่ระบุวิธีการ
มีการตั้งชื่อปุ่มฟังก์ชั่นหรือปุ่มฟังก์ชั่นที่รองรับ

สำหรับการแมปโหมดป้อนข้อความ:

เมื่อราคาของ ลส ถูกป้อนเป็นส่วนใดส่วนหนึ่งของข้อความที่ป้อนในการป้อนข้อความเปิดหรือภาพ
โหมดการกระทำจะต้องราวกับว่าที่สอดคล้องกัน RHS ได้เข้ามาแล้ว

หากอักขระใด ๆ ในข้อความที่ป้อนเป็นอักขระหลีกโดยใช้ a ‐V ตัวอักษร that
ตัวละครจะต้องไม่เป็นส่วนหนึ่งของการแข่งขันกับ ลส.

ไม่ได้ระบุว่า ลส ข้อความที่ป้อนในภายหลัง แผนที่ or เปิดแผนที่ คำสั่ง
ถูกแทนที่ด้วย RHS ข้อความเพื่อวัตถุประสงค์ในการแสดงผลหน้าจอ ไม่ว่า
ไม่ว่าการแสดงผลจะปรากฏราวกับว่าหน้าจอที่สอดคล้องกันหรือไม่ RHS ข้อความถูกป้อน
ผลของคำสั่งจะเหมือนกับว่า ลส ข้อความถูกป้อน

หากเป็นเพียงส่วนหนึ่งของ ลส เข้าแล้วไม่ระบุระยะเวลาที่บรรณาธิการจะรอ
เพิ่มเติม อาจจับคู่อักขระก่อนปฏิบัติกับอักขระที่ป้อนแล้วเป็น
ไม่ตรงกับ ลส.

พื้นที่ RHS ตัวละครจะต้องทำการแมปใหม่ เว้นแต่จะระบุไว้เป็นอย่างอื่นโดย
ทำการแมป แก้ไขตัวเลือกยกเว้นว่าถ้าตัวอักษรใน ลส เกิดขึ้นเป็นอักขระนำหน้าใน
RHS, อักขระเหล่านั้นจะไม่ถูกรีแมปใหม่

บนเทอร์มินัลโหมดบล็อก การทำแผนที่ไม่จำเป็นต้องเกิดขึ้นทันที (เช่น อาจเกิดขึ้น
หลังจากเทอร์มินัลส่งกลุ่มอักขระไปยังระบบ) แต่จะต้องบรรลุ
ให้ผลเหมือนกับว่าเกิดขึ้นทันที

ปัจจุบัน เส้น: ไม่เปลี่ยนแปลง

ปัจจุบัน คอลัมน์: ไม่เปลี่ยนแปลง

ทำเครื่องหมาย
สรุป:
[1แอดเดรส] ma[rk] ตัวอักษร
[1แอดเดรส] k ตัวอักษร

การดำเนินการจะต้องสนับสนุน ตัวอักษร ค่าของตัวพิมพ์เล็กตัวเดียวของ POSIX
สถานที่และอักขระ backquote และ single-quote; การสนับสนุนของตัวละครอื่น ๆ คือ
กำหนดการดำเนินการ

หากดำเนินการ vi m คำสั่งตั้งค่าเครื่องหมายที่ระบุเป็นบรรทัดปัจจุบันและ 1-based
อักขระที่มีหมายเลขอ้างอิงโดยคอลัมน์ปัจจุบัน หากมี มิฉะนั้น ตำแหน่งคอลัมน์ 1

มิฉะนั้น ให้ตั้งค่าเครื่องหมายที่ระบุเป็นบรรทัดที่ระบุและขึ้นต้นด้วยเลข 1 ก่อน
ไม่ใช่ ไม่ใช่ ในสายถ้ามี; มิฉะนั้น สิ่งสุดท้ายที่ไม่ใช่ ใน
สายถ้ามี; มิฉะนั้น ตำแหน่งคอลัมน์ 1

เครื่องหมายจะยังคงเชื่อมโยงกับเส้นจนกว่าเครื่องหมายจะถูกรีเซ็ตหรือเส้นเป็น
ถูกลบ หากบรรทัดที่ถูกลบถูกกู้คืนโดยในภายหลัง แก้ คำสั่งเครื่องหมายใด ๆ ก่อนหน้านี้
ที่เกี่ยวข้องกับสายที่ยังไม่ได้รีเซ็ตจะถูกกู้คืนเช่นกัน การใช้งานใดๆ ของ
เครื่องหมายที่ไม่เกี่ยวข้องกับบรรทัดปัจจุบันในบัฟเฟอร์การแก้ไขจะเป็นข้อผิดพลาด

เครื่องหมาย ` และ ' จะต้องกำหนดตามที่อธิบายไว้ก่อนหน้านี้ทันทีก่อนต่อไปนี้
เหตุการณ์เกิดขึ้นในบรรณาธิการ:

1. การใช้ '$' ในฐานะที่เป็น ex ที่อยู่

2. การใช้จำนวนทศนิยมบวกเป็น an ex ที่อยู่

3. การใช้คำสั่งค้นหาเป็น an ex ที่อยู่

4. การใช้เครื่องหมายอ้างอิงเป็น an ex ที่อยู่

5. การใช้คำสั่งโหมดเปิดและโหมดภาพต่อไปนี้: -], %, (, ), [, ], {,
}

6. การใช้คำสั่งโหมดเปิดและโหมดภาพต่อไปนี้: ', G, H, L, M, z ถ้า
บรรทัดปัจจุบันจะเปลี่ยนตามผลของคำสั่ง

7. การใช้คำสั่งโหมดเปิดและโหมดภาพ: /, ?, N, `, n ถ้าบรรทัดปัจจุบันหรือ
คอลัมน์จะเปลี่ยนไปตามผลของคำสั่ง

8. การใช้ ex คำสั่งโหมด: z, แก้, ทั่วโลก, v

สำหรับกฎ 1., 2., 3. และ 4. ให้ ` และ ' เครื่องหมายจะไม่ถูกตั้งหาก ex คำสั่งคือ
แยกวิเคราะห์ตามที่กำหนดโดยกฎ 6.a ใน คำสั่ง Line วจีวิภาค in ex.

สำหรับกฎข้อ 5., 6. และ 7 ให้ ` และ ' เครื่องหมายจะไม่ถูกตั้งค่าหากใช้คำสั่งเป็น
คำสั่งการเคลื่อนไหวในโหมดเปิดและภาพ

สำหรับกฎ 1., 2., 3., 4., 5., 6., 7., และ 8., the ` และ ' เครื่องหมายจะไม่ถูกตั้งหาก
คำสั่งล้มเหลว

พื้นที่ ` และ ' เครื่องหมายจะต้องกำหนดตามที่อธิบายไว้ก่อนหน้านี้ทุกครั้งที่เนื้อหาของการแก้ไข
บัฟเฟอร์ถูกแทนที่ (รวมถึงการแก้ไขบัฟเฟอร์เริ่มต้น) หากเป็น open หรือ visual
โหมดหรือถ้าอยู่ใน ex โหมดและบัฟเฟอร์การแก้ไขไม่ว่างเปล่า ก่อนคำสั่งหรือการเคลื่อนไหวใดๆ
(รวมถึงคำสั่งหรือการเคลื่อนไหวที่กำหนดโดย -ค or -t ตัวเลือกหรือ +คำสั่ง
อาร์กิวเมนต์) ถูกดำเนินการบนบัฟเฟอร์การแก้ไข หากอยู่ในโหมดเปิดหรือแสดงภาพ ให้ทำเครื่องหมายเป็น
ตั้งราวกับว่ากำลังดำเนินการ vi m สั่งการ; มิฉะนั้น ราวกับว่ากำลังดำเนินการ ex เครื่องหมาย คำสั่ง

เมื่อเปลี่ยนจาก ex โหมดเปิดหรือโหมดภาพถ้า ` และ ' เครื่องหมายยังไม่ได้
ตั้งค่า ` และ ' เครื่องหมายจะต้องกำหนดตามที่อธิบายไว้ก่อนหน้านี้

ปัจจุบัน เส้น: ไม่เปลี่ยนแปลง

ปัจจุบัน คอลัมน์: ไม่เปลี่ยนแปลง

ย้าย
สรุป:
[2แอดเดรส] m[เคลื่อนพื้น] 1แอดเดรส [ธง]

ย้ายบรรทัดที่ระบุหลังจากบรรทัดปลายทางที่ระบุ ปลายทางของสายศูนย์
ระบุว่าบรรทัดจะถูกวางไว้ที่จุดเริ่มต้นของบัฟเฟอร์การแก้ไข มันจะเป็น
ข้อผิดพลาดหากบรรทัดปลายทางอยู่ภายในช่วงของบรรทัดที่จะย้าย

ปัจจุบัน เส้น: ตั้งค่าเป็นบรรทัดสุดท้ายที่ย้าย

ปัจจุบัน คอลัมน์: ตั้งค่าเป็นไม่ใช่- .

ถัดไป
สรุป:
n[ต่อ][!][+คำสั่ง][ไฟล์ ...]

ถ้าไม่ '!' ต่อท้ายชื่อคำสั่งและบัฟเฟอร์การแก้ไขได้รับการแก้ไขตั้งแต่
การเขียนที่สมบูรณ์ครั้งสุดท้าย จะเป็นข้อผิดพลาด เว้นแต่ไฟล์จะเขียนสำเร็จเป็น
ระบุโดย เขียนอัตโนมัติ ตัวเลือก

หากมีการระบุไฟล์ตั้งแต่หนึ่งไฟล์ขึ้นไป:

1. ตั้งค่ารายการอาร์กิวเมนต์เป็นชื่อไฟล์ที่ระบุ

2. ตั้งค่าการอ้างอิงรายการอาร์กิวเมนต์ปัจจุบันให้เป็นรายการแรกในรายการอาร์กิวเมนต์

3. ตั้งชื่อพาธปัจจุบันเป็นชื่อไฟล์แรกที่ระบุ

มิฉะนั้น:

1. มันจะเป็นข้อผิดพลาดหากไม่มีชื่อไฟล์ในรายการอาร์กิวเมนต์หลังจาก
ชื่อไฟล์ที่อ้างอิงในปัจจุบัน

2. ตั้งชื่อพาธปัจจุบันและการอ้างอิงรายการอาร์กิวเมนต์ปัจจุบันเป็นชื่อไฟล์หลัง
ชื่อไฟล์ที่อ้างอิงในรายการอาร์กิวเมนต์

แทนที่เนื้อหาของบัฟเฟอร์การแก้ไขด้วยเนื้อหาของไฟล์ที่ตั้งชื่อโดยcurrent
ชื่อพาธ หากเนื้อหาในไฟล์ไม่สามารถเข้าถึงได้ไม่ว่าด้วยเหตุผลใดก็ตาม ให้แก้ไขบัฟเฟอร์
จะว่างเปล่า

คำสั่งนี้จะได้รับผลกระทบจาก เขียนอัตโนมัติ และ นักเขียน แก้ไขตัวเลือก

พื้นที่ +คำสั่ง ตัวเลือกจะเป็น -คั่นด้วย; ตัวละครสามารถหลบหนีได้โดย
นำหน้าด้วย อักขระ. NS +คำสั่ง จะถูกตีความว่าเป็น ex
คำสั่งทันทีหลังจากแทนที่เนื้อหาของบัฟเฟอร์การแก้ไขและ
ตั้งค่าบรรทัดและคอลัมน์ปัจจุบันแล้ว

ปัจจุบัน เส้น: ตั้งค่าตามที่อธิบายไว้สำหรับ แก้ไข คำสั่ง

ปัจจุบัน คอลัมน์: ตั้งค่าตามที่อธิบายไว้สำหรับ แก้ไข คำสั่ง

จำนวน
สรุป:
[2แอดเดรส] nu[mber][นับ][ธง]
[2แอดเดรส] #[นับ][ธง]

คำสั่งเหล่านี้จะเทียบเท่ากับ ex คำสั่ง:

[2แอดเดรส] p[ล้าง][นับ] #[ธง]

ดู พิมพ์.

จุดเปิด
สรุป:
[1แอดเดรส] o[ปากกา] /Belt hold / [ธง]

คำสั่งนี้ไม่จำเป็นต้องได้รับการสนับสนุนบนเทอร์มินัลโหมดบล็อกหรือเทอร์มินัลที่มีไม่เพียงพอ
ความสามารถ หากอินพุตมาตรฐาน เอาต์พุตมาตรฐาน หรือข้อผิดพลาดมาตรฐานไม่ใช่เทอร์มินัล
อุปกรณ์ ผลลัพธ์ไม่ระบุ

เข้าสู่โหมดเปิด

ตัวคั่นต่อท้ายสามารถละเว้นจาก Belt hold ที่ส่วนท้ายของบรรทัดคำสั่ง ถ้า
Belt hold ว่างเปล่า (เช่น "//") หรือไม่ได้ระบุ นิพจน์ทั่วไปสุดท้ายที่ใช้ใน
ให้ใช้ตัวแก้ไขเป็นแบบอย่าง รูปแบบสามารถคั่นด้วย
อักขระ (แสดงในเรื่องย่อ) เช่นเดียวกับตัวอักษรและตัวเลขใดๆ หรือไม่ใช่ นอกเหนือจากนี้
, , หรืออัญประกาศคู่

ปัจจุบัน เส้น: ตั้งค่าเป็นบรรทัดที่ระบุ

ปัจจุบัน คอลัมน์: ตั้งค่าเป็นไม่ใช่- .

อนุรักษ์
สรุป:
ก่อน[ให้บริการ]

บันทึกบัฟเฟอร์การแก้ไขในรูปแบบที่สามารถกู้คืนได้ในภายหลังโดยใช้ปุ่ม -ร ตัวเลือกหรือโดย
โดยใช้โปรแกรม ex กู้ สั่งการ. หลังจากที่ไฟล์ได้รับการเก็บรักษาไว้ ข้อความเมลจะเป็น
ส่งไปยังผู้ใช้ ข้อความนี้สามารถอ่านได้โดยเรียกใช้ mailx คุณประโยชน์. NS
ข้อความต้องมีชื่อไฟล์ เวลาเก็บรักษา และ ex คำสั่ง
ที่สามารถใช้กู้คืนไฟล์ได้ ข้อมูลเพิ่มเติมอาจรวมอยู่ในจดหมาย
ข่าวสาร

ปัจจุบัน เส้น: ไม่เปลี่ยนแปลง

ปัจจุบัน คอลัมน์: ไม่เปลี่ยนแปลง

พิมพ์
สรุป:
[2แอดเดรส] p[ล้าง][นับ][ธง]

เขียนบรรทัดที่อยู่ ลักษณะการทำงานจะไม่ถูกระบุหากจำนวนคอลัมน์บน
display น้อยกว่าจำนวนคอลัมน์ที่จำเป็นในการเขียนอักขระตัวเดียวใน
บรรทัดที่กำลังเขียน

อักขระที่ไม่สามารถพิมพ์ได้ ยกเว้น , จะถูกเขียนเป็นการดำเนินการที่กำหนดไว้
ลำดับหลายอักขระ

ถ้า # มีการระบุแฟล็กหรือ จำนวน ตั้งค่าตัวเลือกการแก้ไขแล้ว ให้นำหน้าแต่ละบรรทัด
ตามหมายเลขบรรทัดในรูปแบบต่อไปนี้:

"%6d ", <เส้น จำนวน>

ถ้า l มีการระบุแฟล็กหรือ รายการ แก้ไขตัวเลือกถูกตั้งค่า:

1. อักขระที่ระบุไว้ในปริมาณคำจำกัดความพื้นฐานของ POSIX.1-2008 ตาราง 5-1,
หนี ลำดับ และ ที่เกี่ยวข้อง สถานะ จะต้องเขียนเป็นหนีที่สอดคล้องกัน
ลำดับ.

2. อักขระที่ไม่สามารถพิมพ์ได้ไม่อยู่ในปริมาณคำจำกัดความพื้นฐานของ POSIX.1-2008 ตาราง
5-1, หนี ลำดับ และ ที่เกี่ยวข้อง สถานะ ให้เขียนเป็นเลขฐานแปดสามหลักหนึ่งตัว
ตัวเลข (โดยนำหน้า ) สำหรับแต่ละไบต์ในอักขระ (ที่สำคัญที่สุด
ไบต์ก่อน)

3. จุดสิ้นสุดของแต่ละบรรทัดให้ทำเครื่องหมาย a '$'และตามตัวอักษร '$' ตัวอักษรภายใน
ให้เขียนบรรทัดนำหน้า .

เส้นยาวจะถูกพับ; ไม่ได้ระบุความยาวที่เกิดการพับ แต่ควร
เหมาะสมกับขั้วเอาท์พุต โดยพิจารณาจากจำนวนคอลัมน์ของขั้วต่อ

หากเส้นพับและ l ไม่ได้ระบุแฟล็กและ รายการ ไม่ได้ตั้งค่าตัวเลือกการแก้ไข
ไม่ได้ระบุว่าแยกอักขระหลายคอลัมน์ที่ตำแหน่งพับหรือไม่
จะไม่ถูกทิ้ง

ปัจจุบัน เส้น: ตั้งค่าเป็นบรรทัดสุดท้ายที่เขียน

ปัจจุบัน คอลัมน์: ไม่เปลี่ยนแปลงหากบรรทัดปัจจุบันไม่เปลี่ยนแปลง มิฉะนั้น ตั้งค่าเป็น non- .

ใส่
สรุป:
[1แอดเดรส] pu[t][กันชน]

ต่อท้ายข้อความจากบัฟเฟอร์ที่ระบุ (โดยดีฟอลต์ คือ บัฟเฟอร์ที่ไม่มีชื่อ) กับที่ระบุ
ไลน์; บรรทัดศูนย์ระบุว่าข้อความจะถูกวางไว้ที่จุดเริ่มต้นของการแก้ไข
กันชน. แต่ละส่วนของบรรทัดในบัฟเฟอร์จะกลายเป็นบรรทัดใหม่ในบัฟเฟอร์แก้ไข
โดยไม่คำนึงถึงโหมดของบัฟเฟอร์

ปัจจุบัน เส้น: ตั้งค่าเป็นบรรทัดสุดท้ายที่ป้อนในบัฟเฟอร์การแก้ไข

ปัจจุบัน คอลัมน์: ตั้งค่าเป็นไม่ใช่- .

เลิก
สรุป:
q[UIT][!]

ถ้าไม่ '!' ถูกผนวกเข้ากับชื่อคำสั่ง:

1. หากบัฟเฟอร์การแก้ไขถูกแก้ไขตั้งแต่การเขียนเสร็จสิ้นครั้งล่าสุด มันจะเป็น
ความผิดพลาด

2. หากมีชื่อไฟล์ในรายการอาร์กิวเมนต์หลังชื่อไฟล์ที่อ้างอิงในปัจจุบัน
และคำสั่งสุดท้ายไม่ใช่ a เลิก, wq, ออก,หรือ ZZ (ดู ทางออก) คำสั่ง มันจะเป็น
ความผิดพลาด

มิฉะนั้น ให้ยุติเซสชั่นการแก้ไข

อ่าน
สรุป:
[1แอดเดรส] r[อี๊ด][!][ไฟล์]

If '!' ไม่ใช่คนแรกที่ไม่ใช่ ให้เป็นไปตามชื่อคำสั่ง สำเนาของ . ที่ระบุ
ไฟล์จะถูกผนวกเข้ากับบัฟเฟอร์การแก้ไขหลังจากบรรทัดที่ระบุ บรรทัดศูนย์ระบุ
ให้วางสำเนาไว้ที่จุดเริ่มต้นของบัฟเฟอร์การแก้ไข จำนวนบรรทัดและ
ไบต์ที่อ่านจะถูกเขียน ถ้าไม่ ไฟล์ เป็นชื่อ, ชื่อเส้นทางปัจจุบันจะเป็น
ค่าเริ่มต้น. หากไม่มีชื่อพาธปัจจุบัน แสดงว่า ไฟล์ จะกลายเป็นชื่อเส้นทางปัจจุบัน ถ้า
ไม่มีชื่อพาธปัจจุบันหรือ ไฟล์ ตัวถูกดำเนินการ มันจะเป็นข้อผิดพลาด ระบุ ไฟล์ ที่
ไม่เป็นแบบปกติให้มีผลที่ไม่ระบุ

มิฉะนั้นถ้า ไฟล์ นำหน้าด้วย '!', ส่วนที่เหลือของบรรทัดหลัง the '!' น่าจะมี '%',
'#'และ '!' ตัวอักษรขยายตามที่อธิบายไว้ใน คำสั่ง Line วจีวิภาค in ex.

พื้นที่ ex ยูทิลิตี้จะส่งสองอาร์กิวเมนต์ไปยังโปรแกรมที่ตั้งชื่อโดยเชลล์ edit
ตัวเลือก; คนแรกจะเป็น -ค และข้อที่สองจะเป็นข้อโต้แย้งที่ขยายไปยัง อ่าน
คำสั่งเป็นอาร์กิวเมนต์เดียว อินพุตมาตรฐานของโปรแกรมจะถูกตั้งค่าเป็น
อินพุตมาตรฐานของ ex โปรแกรมเมื่อมีการเรียกใช้ ข้อผิดพลาดมาตรฐานและมาตรฐาน
เอาต์พุตของโปรแกรมจะถูกผนวกเข้ากับบัฟเฟอร์แก้ไขหลังบรรทัดที่ระบุ

แต่ละบรรทัดในไฟล์ที่คัดลอกหรือเอาต์พุตของโปรแกรม (ตามที่คั่นด้วย ตัวอักษรหรือ
จุดสิ้นสุดของไฟล์หรือเอาต์พุตหากไม่ได้นำหน้าด้วย a . ทันที ) จะเป็น
บรรทัดแยกในบัฟเฟอร์แก้ไข เหตุการณ์ใด ๆ ของ และ
คู่ในเอาท์พุตจะถือว่าเป็นคู่เดียว ตัวอักษร

ความหมายพิเศษของ '!' following the อ่าน คำสั่งสามารถแทนที่ได้โดยการหลบหนี
มันด้วย อักขระ.

ปัจจุบัน เส้น: หากไม่มีการเพิ่มบรรทัดในบัฟเฟอร์การแก้ไข จะไม่เปลี่ยนแปลง มิฉะนั้นหากเปิดอยู่
หรือโหมดภาพ ตั้งค่าเป็นบรรทัดแรกที่ป้อนลงในบัฟเฟอร์การแก้ไข มิเช่นนั้น ให้ตั้งค่าเป็น
บรรทัดสุดท้ายเข้าสู่บัฟเฟอร์การแก้ไข

ปัจจุบัน คอลัมน์: ตั้งค่าเป็นไม่ใช่- .

กู้
สรุป:
บันทึก[เกิน][!] ไฟล์

ถ้าไม่ '!' ต่อท้ายชื่อคำสั่งและบัฟเฟอร์การแก้ไขได้รับการแก้ไขตั้งแต่
ครั้งสุดท้ายที่เขียนให้สมบูรณ์ มันจะเป็นข้อผิดพลาด

ถ้าไม่ ไฟล์ ตัวถูกดำเนินการถูกระบุ จากนั้นจะใช้ชื่อพาธปัจจุบัน ถ้าไม่มี
ชื่อพาธปัจจุบัน or ไฟล์ ตัวถูกดำเนินการ มันจะเป็นข้อผิดพลาด

หากก่อนหน้านี้ไม่มีการบันทึกข้อมูลการกู้คืนเกี่ยวกับ ไฟล์ที่ กู้ คำสั่งจะ
ประพฤติตัวเหมือนกับ แก้ไข คำสั่งและข้อความแจ้งผลนี้จะต้อง
จะเขียน

มิฉะนั้น ให้ตั้งชื่อพาธปัจจุบันเป็น ไฟล์และแทนที่เนื้อหาปัจจุบันของการแก้ไข
บัฟเฟอร์กับเนื้อหาที่กู้คืนของ ไฟล์. หากมีหลายอินสแตนซ์ของไฟล์
ที่จะกู้คืน, หนึ่งที่บันทึกไว้ล่าสุดจะถูกกู้คืน, และข้อมูล
ข้อความว่ามีไฟล์เวอร์ชันก่อนหน้าที่สามารถกู้คืนได้จะเป็น
เขียนไว้. บรรณาธิการจะต้องประพฤติตัวราวกับว่าเนื้อหาของบัฟเฟอร์การแก้ไขนั้นได้รับแล้ว
แก้ไข

ปัจจุบัน ไฟล์: ตั้งค่าตามที่อธิบายไว้สำหรับ แก้ไข คำสั่ง

ปัจจุบัน คอลัมน์: ตั้งค่าตามที่อธิบายไว้สำหรับ แก้ไข คำสั่ง

ม้วนกลับ
สรุป:
ใหม่[ตัว][!]

ถ้าไม่ '!' ต่อท้ายชื่อคำสั่งและบัฟเฟอร์การแก้ไขได้รับการแก้ไขตั้งแต่
การเขียนที่สมบูรณ์ครั้งสุดท้าย จะเป็นข้อผิดพลาด เว้นแต่ไฟล์จะเขียนสำเร็จเป็น
ระบุโดย เขียนอัตโนมัติ ตัวเลือก

หากรายการอาร์กิวเมนต์ว่างเปล่า แสดงว่ามีข้อผิดพลาด

การอ้างอิงรายการอาร์กิวเมนต์ปัจจุบันและชื่อพาธปัจจุบันจะถูกตั้งค่าเป็นตัวแรก
ชื่อไฟล์ในรายการอาร์กิวเมนต์

แทนที่เนื้อหาของบัฟเฟอร์การแก้ไขด้วยเนื้อหาของไฟล์ที่ตั้งชื่อโดยcurrent
ชื่อพาธ หากเนื้อหาในไฟล์ไม่สามารถเข้าถึงได้ไม่ว่าด้วยเหตุผลใดก็ตาม ให้แก้ไขบัฟเฟอร์
จะว่างเปล่า

คำสั่งนี้จะได้รับผลกระทบจาก เขียนอัตโนมัติ และ นักเขียน แก้ไขตัวเลือก

ปัจจุบัน เส้น: ตั้งค่าตามที่อธิบายไว้สำหรับ แก้ไข คำสั่ง

ปัจจุบัน คอลัมน์: ตั้งค่าตามที่อธิบายไว้สำหรับ แก้ไข คำสั่ง

ชุด
สรุป:
เซ[t][ตัวเลือก[=[ความคุ้มค่า]] ...][ไม่ตัวเลือก ...][ตัวเลือก- -][ทั้งหมด]

เมื่อไม่ได้ระบุอาร์กิวเมนต์ ให้เขียนค่าของ ระยะ แก้ไขตัวเลือกและตัวเลือกเหล่านั้น
ที่มีค่าถูกเปลี่ยนจากการตั้งค่าเริ่มต้น เมื่อเกิดการโต้เถียง ทั้งหมด is
ระบุ ให้เขียนค่าตัวเลือกทั้งหมด

ให้ชื่อตัวเลือกตามด้วยตัวอักษร '?' จะทำให้มูลค่าปัจจุบันของสิ่งนั้น
ตัวเลือกที่จะเขียน NS '?' สามารถแยกออกจากชื่อตัวเลือกด้วยศูนย์หรือมากกว่า
ตัวอักษร NS '?' จะจำเป็นสำหรับตัวเลือกที่มีค่าบูลีนเท่านั้น บูลีน
ตัวเลือกสามารถกำหนดค่าได้ตามรูปแบบ ชุด ตัวเลือก เพื่อเปิดหรือ ชุด ไม่ตัวเลือก เพื่อเปิด
พวกเขาปิด; ตัวเลือกสตริงและตัวเลขสามารถกำหนดได้โดยแบบฟอร์ม ชุด ตัวเลือก=ความคุ้มค่า. ใด
สามารถรวมอักขระในสตริงตามที่เป็นอยู่โดยนำหน้าแต่ละ ด้วย an
หลบหนี . สามารถตั้งค่าหรือแสดงรายการได้มากกว่าหนึ่งตัวเลือกโดยใช้คำสั่งชุดเดียว
โดยระบุหลายอาร์กิวเมนต์ โดยแยกจากอาร์กิวเมนต์ถัดไปอย่างน้อยหนึ่งอาร์กิวเมนต์
อักขระ

ดู Edit Options in ex สำหรับรายละเอียดเกี่ยวกับตัวเลือกเฉพาะ

ปัจจุบัน เส้น: ไม่เปลี่ยนแปลง

ปัจจุบัน คอลัมน์: ไม่เปลี่ยนแปลง

เปลือก
สรุป:
NS[ell]

เรียกใช้โปรแกรมที่มีชื่ออยู่ใน เปลือก แก้ไขตัวเลือกด้วยอาร์กิวเมนต์เดียว -ฉัน (เชิงโต้ตอบ
โหมด). การแก้ไขจะดำเนินต่อเมื่อออกจากโปรแกรม

ปัจจุบัน เส้น: ไม่เปลี่ยนแปลง

ปัจจุบัน คอลัมน์: ไม่เปลี่ยนแปลง

แหล่ง
สรุป:
ดังนั้น[urcan ไป] ไฟล์

อ่านและดำเนินการ ex คำสั่งจาก ไฟล์. บรรทัดในไฟล์ที่เป็นบรรทัดว่าง ต้องเป็น
ละเว้น

ปัจจุบัน เส้น: ตามที่กำหนดไว้สำหรับบุคคล ex คำสั่ง

ปัจจุบัน คอลัมน์: ตามที่กำหนดไว้สำหรับบุคคล ex คำสั่ง

แทน
สรุป:
[2แอดเดรส] s[ทดแทน][/Belt hold /ตัวแทน/[ตัวเลือก][นับ][ธง]]
[2แอดเดรส] &[ตัวเลือก][นับ][ธง]]
[2แอดเดรส] ~[ตัวเลือก][นับ][ธง]]

แทนที่ตัวอย่างแรกของรูปแบบ Belt hold โดยสตริง ตัวแทน ในแต่ละรายการที่ระบุ
ไลน์. (ดู ปกติ การแสดงออก in ex และ การแทนที่ Strings in ex.) ใด ๆ ที่ไม่ใช่ตัวอักษร
ไม่ใช่ ตัวคั่นนอกเหนือจาก , '|', หรือจะใช้เครื่องหมายคำพูดคู่ก็ได้
แทน '/'. สามารถใช้อักขระเพื่อหลีกเลี่ยงตัวคั่นได้
อักขระ และอักขระพิเศษอื่น ๆ

ตัวคั่นต่อท้ายสามารถละเว้นจาก Belt hold หรือจาก ตัวแทน ท้ายคำสั่ง
ไลน์. ถ้าทั้งสองอย่าง Belt hold และ ตัวแทน ไม่ได้ระบุหรือว่างเปล่า (เช่น "//")
ล่าสุด s คำสั่งให้ทำซ้ำ ถ้าเพียงแค่ Belt hold ไม่ได้ระบุหรือว่างเปล่าสุดท้าย
นิพจน์ทั่วไปที่ใช้ในเอดิเตอร์จะใช้เป็นรูปแบบ ถ้าเพียงแค่ ตัวแทน ไม่ใช่
ระบุหรือว่างเปล่ารูปแบบจะถูกแทนที่ด้วยอะไร ถ้าทั้งหมด
รูปแบบการทดแทนคือ '%', รูปแบบการแทนที่ครั้งสุดท้ายเพื่อ an s จะใช้คำสั่ง

เข้าสู่ ใน ตัวแทน (ซึ่งต้องหลบหนี ใน ex โหมด
และการหลบหนี ‐V ในเปิดหรือ vi โหมด) จะแบ่งเส้นตรงจุดนั้น
สร้างบรรทัดใหม่ในบัฟเฟอร์การแก้ไข NS จะถูกละทิ้ง

If ตัวเลือก รวมถึงจดหมาย 'NS' (ทั่วโลก) อินสแตนซ์ทั้งหมดที่ไม่ทับซ้อนกันของรูปแบบ
ในบรรทัดจะถูกแทนที่

If ตัวเลือก รวมถึงจดหมาย 'ค' (ยืนยัน) จากนั้นก่อนการเปลี่ยนตัวแต่ละครั้งเส้นจะ
เขียน; บรรทัดที่เขียนจะสะท้อนถึงการแทนที่ก่อนหน้าทั้งหมด ดังต่อไปนี้
ไลน์, ตัวอักษรให้เขียนใต้ตัวอักษรจากบรรทัดที่
ก่อนที่จะ Belt hold จะถูกแทนที่และ '^' ตัวอักษรที่เขียนใต้ตัวอักษร
รวมอยู่ใน Belt hold ถูกแทนที่. NS ex ยูทิลิตี้จะรอการตอบกลับจาก
ผู้ใช้งาน. คำตอบยืนยันจะทำให้เกิดการทดแทนในขณะที่คนอื่น ๆ
ข้อมูลเข้าจะต้องไม่ทำการทดแทน คำตอบยืนยันจะประกอบด้วยบรรทัด
ด้วยคำตอบยืนยัน (ตามที่กำหนดโดยสถานที่ปัจจุบัน) ที่จุดเริ่มต้นของ
ไลน์. บรรทัดนี้จะต้องมีการแก้ไขในลักษณะเดียวกับ ex บรรทัดคำสั่ง.

หากถูกขัดจังหวะ (ดูส่วน ASYNCHRONOUS EVENTS) การแก้ไขใด ๆ ที่ยืนยันโดย
ผู้ใช้จะถูกเก็บไว้ในบัฟเฟอร์การแก้ไขหลังจากขัดจังหวะ

หากไม่ได้กำหนดทิศทางการค้นหาที่จดจำไว้ s คำสั่งจะกำหนดให้ส่งต่อ

ในบทสรุปที่สอง & คำสั่งให้ทำซ้ำการแทนที่ก่อนหน้านี้ราวกับว่า &
คำสั่งถูกแทนที่ด้วย:

s/Belt hold /ตัวแทน/

ที่ไหน Belt hold และ ตัวแทน ตามที่กำหนดไว้ในคราวที่แล้ว s, &,หรือ ~ คำสั่ง

ในบทสรุปที่สาม ~ คำสั่งให้ทำซ้ำการแทนที่ก่อนหน้านี้ราวกับว่า '~'
ถูกแทนที่ด้วย:

s/Belt hold /ตัวแทน/

ที่ไหน Belt hold จะเป็นนิพจน์ทั่วไปสุดท้ายที่ระบุต่อบรรณาธิการและ ตัวแทน จะต้อง
มาจากการทดแทนครั้งก่อน (รวมถึง & และ ~) สั่งการ.

คำสั่งเหล่านี้จะได้รับผลกระทบจาก LC_MESSAGES ตัวแปรสภาพแวดล้อม

ปัจจุบัน เส้น: ตั้งค่าเป็นบรรทัดสุดท้ายที่มีการแทนที่เกิดขึ้น หรือไม่เปลี่ยนแปลงถ้า no
เกิดการทดแทน

ปัจจุบัน คอลัมน์: ตั้งค่าเป็นไม่ใช่- .

เลื่อน
สรุป:
ซู[ใช้จ่าย][!]
st[op][!]

อนุญาตให้การควบคุมกลับสู่กระบวนการเรียก; ex จะระงับตัวเองราวกับว่ามี
รับสัญญาณ SIGTSTP การระงับจะเกิดขึ้นก็ต่อเมื่อเปิดใช้งานการควบคุมงานใน
เปลือกที่เรียก (ดูคำอธิบายของ ชุด -ม).

คำสั่งเหล่านี้จะได้รับผลกระทบจาก เขียนอัตโนมัติ และ นักเขียน แก้ไขตัวเลือก

ปัจจุบัน สงสัย ตัวอักษร (ดู สติ) จะเทียบเท่ากับ แขวน คำสั่ง

แท็ก
สรุป:
ตา[g][!] แท็กสตริง

ผลลัพธ์จะไม่ถูกระบุหากรูปแบบของไฟล์แท็กไม่เป็นไปตามที่ระบุโดย แท็ก
อรรถประโยชน์ (ดู แท็ก) คำอธิบาย.

พื้นที่ แท็ก คำสั่งจะค้นหา แท็กสตริง ในไฟล์แท็กที่อ้างถึงโดย แท็ก แก้ไข
ตัวเลือกตามลำดับที่ระบุไว้จนกว่าจะอ้างอิงถึง แท็กสตริง ถูกพบ ไฟล์
จะถูกค้นหาตั้งแต่ต้นจนจบ หากไม่พบการอ้างอิง ถือเป็นข้อผิดพลาด
และข้อความแสดงข้อผิดพลาดเกี่ยวกับผลกระทบนี้จะถูกเขียนขึ้น หากไม่พบการอ้างอิงหรือถ้า
เกิดข้อผิดพลาดขณะประมวลผลไฟล์ที่อ้างถึงใน แท็ก แก้ไขตัวเลือก มันจะเป็น
ข้อผิดพลาดและข้อความแสดงข้อผิดพลาดจะต้องเขียนขึ้นในครั้งแรกของข้อผิดพลาดดังกล่าว

มิฉะนั้น หากไฟล์แท็กมีรูปแบบ รูปแบบจะถือเป็นรูปแบบปกติ
สำนวนที่ใช้ในบรรณาธิการ ตัวอย่างเช่น สำหรับวัตถุประสงค์ของ s คำสั่ง

ถ้า แท็กสตริง อยู่ในไฟล์ที่มีชื่อต่างจากชื่อพาธปัจจุบัน ให้ตั้งค่า
ชื่อพาธปัจจุบันไปยังชื่อของไฟล์นั้น และแทนที่เนื้อหาของบัฟเฟอร์การแก้ไข
ด้วยเนื้อหาของไฟล์นั้น ในกรณีนี้ ถ้าไม่ใช่ '!' ต่อท้ายชื่อคำสั่ง
และบัฟเฟอร์การแก้ไขถูกแก้ไขตั้งแต่เขียนเสร็จครั้งสุดท้าย มันจะเป็นข้อผิดพลาด
เว้นแต่ไฟล์จะถูกเขียนสำเร็จตามที่ระบุโดย เขียนอัตโนมัติ ตัวเลือก

คำสั่งนี้จะได้รับผลกระทบจาก เขียนอัตโนมัติ, แท็ก, ความยาวแท็กและ นักเขียน แก้ไข
ตัวเลือก

ปัจจุบัน เส้น: หากไฟล์แท็กมีหมายเลขบรรทัด ให้ตั้งค่าเป็นหมายเลขบรรทัดนั้น ถ้า
หมายเลขบรรทัดมากกว่าบรรทัดสุดท้ายในบัฟเฟอร์การแก้ไข ข้อความแสดงข้อผิดพลาดจะเป็น
เป็นลายลักษณ์อักษรและบรรทัดปัจจุบันจะถูกตั้งค่าตามที่ระบุสำหรับ แก้ไข คำสั่ง

หากไฟล์แท็กมีรูปแบบ ให้ตั้งค่าการเกิดขึ้นครั้งแรกของรูปแบบใน
ไฟล์. หากไม่พบรูปแบบที่ตรงกัน ให้เขียนข้อความแสดงข้อผิดพลาดและกระแส
เส้นจะต้องกำหนดตามที่กำหนดไว้สำหรับ แก้ไข คำสั่ง

ปัจจุบัน คอลัมน์: หากไฟล์แท็กมีการอ้างอิงหมายเลขบรรทัดและหมายเลขบรรทัดนั้น
ไม่เกินบรรทัดสุดท้ายในบัฟเฟอร์การแก้ไข หรือหากไฟล์แท็กมี a
ลวดลายและลวดลายนั้นพบ กำหนดเป็นไม่ใช่ . มิเช่นนั้นให้กำหนดตามที่กำหนดไว้สำหรับ
แก้ไข คำสั่ง

ตัวย่อ
สรุป:
อูนา[ตัวย่อ] ลส

If ลส ไม่ใช่รายการในรายการตัวย่อปัจจุบัน (ดู ย่อ) มันจะเป็น
ข้อผิดพลาด มิฉะนั้น ให้ลบ ลส จากรายการตัวย่อ

ปัจจุบัน เส้น: ไม่เปลี่ยนแปลง

ปัจจุบัน คอลัมน์: ไม่เปลี่ยนแปลง

แก้
สรุป:
u[กทำการ]

ย้อนกลับการเปลี่ยนแปลงที่ทำโดยคำสั่งสุดท้ายที่แก้ไขเนื้อหาของ edit
บัฟเฟอร์ รวมทั้ง แก้. เพื่อจุดประสงค์นี้ไฟล์ ทั่วโลก, v, เปิดและ ภาพ คำสั่งและ
คำสั่งที่เกิดจากการดำเนินการบัฟเฟอร์และการขยายอักขระที่แมปจะถูกพิจารณา
คำสั่งเดียว

หากไม่มีการดำเนินการใด ๆ ที่สามารถยกเลิกได้ก่อน แก้ คำสั่งนั้นย่อมมีความผิด

ถ้า แก้ คำสั่งเรียกคืนบรรทัดที่ทำเครื่องหมายไว้ เครื่องหมายจะถูกเรียกคืนด้วย
เว้นแต่จะถูกรีเซ็ตภายหลังการลบบรรทัด

ปัจจุบัน เส้น:

1. หากมีการเพิ่มหรือเปลี่ยนแปลงบรรทัดในไฟล์ ให้ตั้งค่าเป็นบรรทัดแรกที่เพิ่มหรือเปลี่ยนแปลง

2. ตั้งค่าเป็นบรรทัดก่อนลบบรรทัดแรก หากมี

3. ตั้งค่าเป็น 1 หากบัฟเฟอร์การแก้ไขไม่ว่างเปล่า

4. ตั้งค่าเป็นศูนย์

ปัจจุบัน คอลัมน์: ตั้งค่าเป็นไม่ใช่- .

ยกเลิกการแมป
สรุป:
อืม[ap][!] ลส

If '!' ต่อท้ายชื่อคำสั่ง และ if ลส ไม่ใช่รายการในรายการข้อความ
คำจำกัดความแผนที่โหมดอินพุต มันจะเป็นข้อผิดพลาด มิฉะนั้น ให้ลบ ลส จากรายการ
คำจำกัดความแผนที่โหมดป้อนข้อความ

ถ้าไม่ '!' ต่อท้ายชื่อคำสั่ง และ if ลส ไม่ใช่รายการในรายการของ
คำจำกัดความแผนที่โหมดคำสั่ง มันจะเป็นข้อผิดพลาด มิฉะนั้น ให้ลบ ลส จากรายการ
คำจำกัดความแผนที่โหมดคำสั่ง

ปัจจุบัน เส้น: ไม่เปลี่ยนแปลง

ปัจจุบัน คอลัมน์: ไม่เปลี่ยนแปลง

เวอร์ชั่น
สรุป:
เคย [แชร์]

เขียนข้อความที่มีข้อมูลเวอร์ชันสำหรับตัวแก้ไข รูปแบบของข้อความ
ไม่ได้ระบุ

ปัจจุบัน เส้น: ไม่เปลี่ยนแปลง

ปัจจุบัน คอลัมน์: ไม่เปลี่ยนแปลง

ของ Visual
สรุป:
[1แอดเดรส] vi[หวาน][ชนิด][นับ][ธง]

If ex อยู่ในโหมดเปิดหรือโหมดภาพ บทสรุปและพฤติกรรมของคำสั่งภาพ
จะเหมือนกับ แก้ไข คำสั่งตามที่กำหนดโดย Edit.

มิฉะนั้น คำสั่งนี้ไม่จำเป็นต้องได้รับการสนับสนุนบนเทอร์มินัลโหมดบล็อกหรือเทอร์มินัลด้วย
ความสามารถไม่เพียงพอ หากอินพุตมาตรฐาน เอาต์พุตมาตรฐาน หรือข้อผิดพลาดมาตรฐานไม่ใช่
อุปกรณ์ปลายทาง ผลลัพธ์ไม่ระบุ

If นับ ระบุค่าของ หน้าต่าง แก้ไขตัวเลือกจะถูกตั้งค่าเป็น นับ (เช่น
อธิบายไว้ใน หน้าต่าง). ถ้า '^' อักขระประเภทยังระบุ, the หน้าต่าง แก้ไข
จะต้องตั้งค่าตัวเลือกก่อนใช้งานโดยตัวอักษรประเภท

เข้าสู่โหมดภาพ ถ้า ชนิด ไม่ได้ระบุไว้ ให้เสมือนว่า a ชนิด of '+' คือ
ระบุไว้ NS ชนิด จะทำให้เกิดผลกระทบดังต่อไปนี้:

+ วางจุดเริ่มต้นของบรรทัดที่ระบุที่ด้านบนของจอแสดงผล

- วางจุดสิ้นสุดของบรรทัดที่ระบุที่ด้านล่างของจอแสดงผล

. วางจุดเริ่มต้นของบรรทัดที่ระบุตรงกลางหน้าจอ

^ ถ้าเส้นที่ระบุน้อยกว่าหรือเท่ากับค่าของ หน้าต่าง แก้ไขตัวเลือก
ตั้งค่าบรรทัดเป็น 1; มิฉะนั้น ให้ลดบรรทัดด้วยค่าของ หน้าต่าง แก้ไข
ตัวเลือกลบ 1 วางจุดเริ่มต้นของบรรทัดนี้ให้ใกล้กับด้านล่างของ
แสดงเส้นได้มากที่สุดในขณะที่ยังคงแสดงค่าของ หน้าต่าง แก้ไข
ตัวเลือกจำนวนบรรทัด

ปัจจุบัน เส้น: ตั้งค่าเป็นบรรทัดที่ระบุ

ปัจจุบัน คอลัมน์: ตั้งค่าเป็นไม่ใช่- .

เขียน
สรุป:
[2แอดเดรส] w[พิธีกรรม][!][>>][ไฟล์]
[2แอดเดรส] w[พิธีกรรม][!][ไฟล์]
[2แอดเดรส] wq[!][>>][ไฟล์]

หากไม่มีการระบุบรรทัด บรรทัดนั้นจะใช้ค่าเริ่มต้นเป็นทั้งไฟล์

คำสั่ง wq จะเท่ากับ a เขียน คำสั่งตามด้วย a เลิก สั่งการ; ว้าว!
จะเทียบเท่ากับ เขียน! ตามมาด้วย เลิก. ในทั้งสองกรณี ถ้า เขียน คำสั่ง
ล้มเหลว เลิก จะไม่พยายาม

หากชื่อคำสั่งไม่ได้ตามด้วยอย่างน้อยหนึ่งชื่อ ตัวอักษรหรือ ไฟล์ ไม่ใช่
นำหน้าด้วย '!' ตัวละคร เขียน จะเป็นไฟล์.

1 หาก >> มีการระบุอาร์กิวเมนต์ และไฟล์มีอยู่แล้ว บรรทัดจะเป็น
ต่อท้ายไฟล์แทนที่จะแทนที่เนื้อหา ถ้า >> อาร์กิวเมนต์คือ
ระบุ และไฟล์ไม่มีอยู่แล้ว ไม่ได้ระบุว่าwrite
จะดำเนินการราวกับว่า >> ไม่ได้ระบุอาร์กิวเมนต์หรือหากการเขียนจะล้มเหลว

2 หาก อ่านเท่านั้น ตั้งค่าตัวเลือกการแก้ไขแล้ว (ดู อ่านเท่านั้น) เขียน จะล้มเหลว

3 ถ้า ไฟล์ ถูกระบุ และไม่ใช่ชื่อพาธปัจจุบัน และมีไฟล์อยู่ the เขียน
จะล้มเหลว

4 ถ้า ไฟล์ ไม่ได้ระบุไว้ ให้ใช้ชื่อพาธปัจจุบัน ถ้าไม่มีกระแส
ชื่อพาธ the เขียน คำสั่งจะล้มเหลว

5. หากใช้ชื่อพาธปัจจุบัน และชื่อพาธปัจจุบันถูกเปลี่ยนโดย ไฟล์
or อ่าน คำสั่งและไฟล์มีอยู่ the เขียน จะล้มเหลว ถ้า เขียน is
สำเร็จ ภายหลัง เขียนย่อมไม่ล้มเหลวด้วยเหตุนี้ (เว้นแต่ปัจจุบัน
เปลี่ยนชื่อเส้นทางอีกครั้ง)

6. หากไม่ได้เขียนบัฟเฟอร์การแก้ไขทั้งหมด และมีไฟล์ที่จะเขียนอยู่
เขียน จะล้มเหลว

สำหรับกฎ 1., 2., 3. และ 5. ให้ เขียน สามารถบังคับได้โดยการต่อท้ายตัวละคร '!' ไปยัง
ชื่อคำสั่ง

สำหรับกฎข้อ 2., 3. และ 5 ให้ เขียน สามารถบังคับได้โดยการตั้งค่า นักเขียน แก้ไขตัวเลือก

การทดสอบเพิ่มเติมที่กำหนดไว้ในการดำเนินการอาจทำให้ เขียน ที่จะล้มเหลว.

หากบัฟเฟอร์การแก้ไขว่างเปล่า ไฟล์ที่ไม่มีเนื้อหาใด ๆ จะถูกเขียน

ข้อความแสดงข้อมูลจะต้องเขียนโดยสังเกตจากจำนวนบรรทัดและไบต์ที่เขียน

มิฉะนั้น ถ้าคำสั่งถูกตามด้วยอย่างน้อยหนึ่งคำสั่ง ตัวอักษรและไฟล์ is
นำหน้าด้วย '!', ส่วนที่เหลือของบรรทัดหลัง the '!' น่าจะมี '%', '#'และ '!'
ตัวอักษรขยายตามที่อธิบายไว้ใน คำสั่ง Line วจีวิภาค in ex.

พื้นที่ ex ยูทิลิตีจะส่งอาร์กิวเมนต์สองตัวไปยังโปรแกรมที่ตั้งชื่อโดย เปลือก แก้ไข
ตัวเลือก; คนแรกจะเป็น -ค และข้อที่สองจะเป็นข้อโต้แย้งที่ขยายไปยัง เขียน
คำสั่งเป็นอาร์กิวเมนต์เดียว บรรทัดที่ระบุจะต้องเขียนลงในอินพุตมาตรฐาน
ของคำสั่ง ข้อผิดพลาดมาตรฐานและเอาต์พุตมาตรฐานของโปรแกรม หากมี จะเป็น
เขียนตามที่อธิบายไว้สำหรับ พิมพ์ สั่งการ. หากอักขระตัวสุดท้ายในเอาต์พุตนั้นไม่ใช่ a
, NS จะต้องเขียนไว้ที่ส่วนท้ายของผลลัพธ์

ความหมายพิเศษของ '!' following the เขียน คำสั่งสามารถแทนที่ได้โดยการหลบหนี
มันด้วย อักขระ.

ปัจจุบัน เส้น: ไม่เปลี่ยนแปลง

ปัจจุบัน คอลัมน์: ไม่เปลี่ยนแปลง

เขียน และ ทางออก
สรุป:
[2แอดเดรส] x[it][!][ไฟล์]

หากบัฟเฟอร์การแก้ไขไม่ได้รับการแก้ไขตั้งแต่ครั้งสุดท้ายที่เสร็จสิ้น เขียน, ออก จะเป็น
เทียบเท่ากับ เลิก คำสั่งหรือถ้า '!' ต่อท้ายชื่อคำสั่ง to ล้มเลิก!.

มิฉะนั้น, ออก จะเทียบเท่ากับ wq คำสั่งหรือถ้า '!' ต่อท้าย
ชื่อคำสั่ง to ว้าว!.

ปัจจุบัน เส้น: ไม่เปลี่ยนแปลง

ปัจจุบัน คอลัมน์: ไม่เปลี่ยนแปลง

งัด
สรุป:
[2แอดเดรส] ya[nk][กันชน][นับ]

คัดลอกบรรทัดที่ระบุไปยังบัฟเฟอร์ที่ระบุ (โดยค่าเริ่มต้นคือ บัฟเฟอร์ที่ไม่มีชื่อ) ซึ่ง
จะกลายเป็นบัฟเฟอร์โหมดบรรทัด

ปัจจุบัน เส้น: ไม่เปลี่ยนแปลง

ปัจจุบัน คอลัมน์: ไม่เปลี่ยนแปลง

ปรับ หน้าต่าง
สรุป:
[1แอดเดรส] z[!][ชนิด ...][นับ][ธง]

หากไม่มีการระบุบรรทัด บรรทัดปัจจุบันจะเป็นค่าเริ่มต้น ถ้า ชนิด ถูกละไว้เป็น
ดีค่าบรรทัดปัจจุบันจะต้องเพิ่มขึ้น 1 ถ้าเพิ่มกระแส
บรรทัดจะทำให้มากกว่าบรรทัดสุดท้ายในบัฟเฟอร์แก้ไข มันจะเป็น
ความผิดพลาด

ถ้ามี ตัวอักษรระหว่าง ชนิด อาร์กิวเมนต์และคำนำหน้า z ชื่อคำสั่ง
หรือตัวเลือก '!' อักขระก็จะเป็นความผิดพลาด

If นับ ระบุค่าของ หน้าต่าง แก้ไขตัวเลือกจะถูกตั้งค่าเป็น นับ (เช่น
อธิบายไว้ใน หน้าต่าง) ถ้า นับ ละไว้ ให้ค่าเริ่มต้นเป็น 2 เท่าของมูลค่าของ
เลื่อน แก้ไขตัวเลือกหรือ if ! ระบุจำนวนบรรทัดในการแสดงผลลบ 1

If ชนิด ละเว้นแล้ว นับ บรรทัดที่ขึ้นต้นด้วยบรรทัดที่กำหนดจะถูกเขียน
มิฉะนั้น, นับ บรรทัดที่ขึ้นต้นด้วยบรรทัดที่ระบุโดย ชนิด อาร์กิวเมนต์จะเป็น
เขียนไว้.

พื้นที่ ชนิด อาร์กิวเมนต์จะเปลี่ยนบรรทัดที่จะเขียน ค่าที่เป็นไปได้ของ ชนิด เป็น
ดังต่อไปนี้:

− บรรทัดที่ระบุจะลดลงตามค่าต่อไปนี้:

(((ตัวเลข of ``-'' ตัวอักษร) x นับ) -1)

หากการคำนวนได้ผลลัพธ์เป็นตัวเลขที่น้อยกว่า 1 ถือว่าผิด เขียน
บรรทัดจากบัฟเฟอร์การแก้ไข เริ่มต้นที่ค่าใหม่ของบรรทัด จนถึง นับ เส้นหรือ
มีการเขียนบรรทัดสุดท้ายในบัฟเฟอร์การแก้ไขแล้ว

+ บรรทัดที่ระบุจะเพิ่มขึ้นตามค่าต่อไปนี้:

(((ตัวเลข of ``+'' ตัวอักษร) -1) x นับ) +1

หากการคำนวณจะส่งผลให้ตัวเลขมากกว่าบรรทัดสุดท้ายในการแก้ไข
บัฟเฟอร์ มันจะเป็นข้อผิดพลาด เขียนบรรทัดจากบัฟเฟอร์การแก้ไขโดยเริ่มจาก new
ค่าของเส้น จนถึง นับ บรรทัดหรือบรรทัดสุดท้ายในบัฟเฟอร์การแก้ไขได้รับ
เขียนไว้.

=,. ถ้ามากกว่าหนึ่ง '.' or '=' ระบุไว้ก็จะเป็นความผิดพลาด ต่อไปนี้
จะต้องดำเนินการ:

1 ถ้า นับ เป็นศูนย์ ไม่มีอะไรจะเขียน

2. เขียน .ให้มากที่สุด N บรรทัดก่อนบรรทัดปัจจุบันในบัฟเฟอร์แก้ไขเป็น
มีอยู่. ถ้า นับ or '!' ถูกระบุ N จะเป็น:

(นับ −1) /2

มิฉะนั้น, N จะเป็น:

(นับ -3) /2

If N เป็นตัวเลขที่น้อยกว่า 3 ห้ามเขียนบรรทัดใด

3 ถ้า '=' ถูกกำหนดเป็นอักขระประเภทเขียนบรรทัดประกอบด้วย
จำนวนคอลัมน์ที่น้อยกว่าในหน้าจอหารด้วยสองหรือ40 '-'
อักขระ

4. เขียนบรรทัดปัจจุบัน

5. ทำซ้ำขั้นตอนที่ 3

6. เขียน .ให้มากที่สุด N บรรทัดหลังบรรทัดปัจจุบันในบัฟเฟอร์การแก้ไขตามที่มีอยู่
N จะถูกกำหนดเป็นในขั้นตอนที่ 2 ถ้า N เป็นตัวเลขที่น้อยกว่า 3 เส้นใด ๆ จะต้องไม่เป็น
เขียนไว้. ถ้า นับ น้อยกว่า 3 ห้ามเขียนบรรทัดใด

^ บรรทัดที่ระบุจะลดลงตามค่าต่อไปนี้:

(((ตัวเลข of ``^'' ตัวอักษร) + 1) x นับ) -1

หากการคำนวนได้ผลลัพธ์เป็นตัวเลขที่น้อยกว่า 1 ถือว่าผิด เขียน
บรรทัดจากบัฟเฟอร์การแก้ไข เริ่มต้นที่ค่าใหม่ของบรรทัด จนถึง นับ เส้นหรือ
มีการเขียนบรรทัดสุดท้ายในบัฟเฟอร์การแก้ไขแล้ว

ปัจจุบัน เส้น: ตั้งค่าเป็นบรรทัดสุดท้ายที่เขียน เว้นแต่เป็นประเภท =ซึ่งในกรณีนี้ให้ตั้งค่าเป็น
บรรทัดที่ระบุ

ปัจจุบัน คอลัมน์: ตั้งค่าเป็นไม่ใช่- .

หนี
สรุป:
! คำสั่ง
[addr]! คำสั่ง

เนื้อหาของบรรทัดหลัง '!' น่าจะมี '%', '#'และ '!' ตัวอักษรขยาย
ตามที่อธิบายไว้ใน คำสั่ง Line วจีวิภาค in ex. หากการขยายทำให้เกิดข้อความของบรรทัด
จะเปลี่ยนให้แสดงใหม่นำหน้าด้วย .เดียว '!' ตัวอักษร

พื้นที่ ex ยูทิลิตีจะดำเนินการโปรแกรมที่ตั้งชื่อโดย เปลือก แก้ไขตัวเลือก มันจะผ่านสอง
ข้อโต้แย้งของโปรแกรม คนแรกจะเป็น -คและที่สองจะเป็นการขยาย
ข้อโต้แย้งของ ! คำสั่งเป็นอาร์กิวเมนต์เดียว

หากไม่มีการระบุบรรทัด อินพุตมาตรฐาน เอาต์พุตมาตรฐาน และข้อผิดพลาดมาตรฐานของ
โปรแกรมจะต้องตั้งค่าเป็นอินพุตมาตรฐาน เอาต์พุตมาตรฐาน และข้อผิดพลาดมาตรฐานของ ex
โปรแกรมเมื่อมีการเรียกใช้ นอกจากนี้ จะต้องเขียนข้อความเตือนหากการแก้ไข
บัฟเฟอร์ได้รับการแก้ไขตั้งแต่การเขียนเสร็จสิ้นครั้งล่าสุดและ เตือน ตั้งค่าตัวเลือกการแก้ไขแล้ว

หากมีการระบุเส้น ให้ส่งผ่านไปยังโปรแกรมเป็นอินพุตมาตรฐาน และ
เอาต์พุตมาตรฐานและข้อผิดพลาดมาตรฐานของโปรแกรมจะแทนที่บรรทัดเหล่านั้นในการแก้ไข
กันชน. แต่ละบรรทัดในเอาต์พุตของโปรแกรม (ตามที่คั่นด้วย ตัวอักษรหรือจุดสิ้นสุด
ของผลลัพธ์ถ้าไม่ได้นำหน้าด้วย a . ทันที ) ให้แยกบรรทัด
ในบัฟเฟอร์การแก้ไข เหตุการณ์ใด ๆ ของ และ คู่ในผลลัพธ์
จะถือว่าโสด ตัวอักษร ให้คัดลอกบรรทัดที่ระบุลงใน
บัฟเฟอร์ที่ไม่มีชื่อก่อนที่จะถูกแทนที่ และบัฟเฟอร์ที่ไม่มีชื่อจะกลายเป็นบรรทัด-
บัฟเฟอร์โหมด

หากเข้า ex โหมดเดียว '!' ตัวอักษรจะถูกเขียนเมื่อโปรแกรมเสร็จสิ้น

คำสั่งนี้จะได้รับผลกระทบจาก เปลือก และ เตือน แก้ไขตัวเลือก หากไม่มีเส้น
ระบุไว้คำสั่งนี้จะได้รับผลกระทบจาก เขียนอัตโนมัติ และ นักเขียน แก้ไขตัวเลือก ถ้า
มีการระบุบรรทัดคำสั่งนี้จะได้รับผลกระทบจาก พิมพ์อัตโนมัติ แก้ไขตัวเลือก

ปัจจุบัน เส้น:

1. หากไม่มีการระบุบรรทัด ไม่เปลี่ยนแปลง

2. มิฉะนั้น ให้ตั้งค่าเป็นบรรทัดสุดท้ายที่อ่าน หากมีการอ่านบรรทัดใดอยู่

3. มิฉะนั้น ให้ตั้งค่าเป็นบรรทัดก่อนบรรทัดแรกของบรรทัดที่ระบุ ถ้าบรรทัดนั้น
ที่มีอยู่

4. มิฉะนั้น ให้ตั้งค่าเป็นบรรทัดแรกของบัฟเฟอร์การแก้ไข หากบัฟเฟอร์การแก้ไขไม่ว่างเปล่า

5. มิฉะนั้น ตั้งค่าเป็นศูนย์

ปัจจุบัน คอลัมน์: หากไม่มีการระบุบรรทัด จะไม่เปลี่ยนแปลง มิฉะนั้น ตั้งค่าเป็น non- .

เปลี่ยน ซ้าย
สรุป:
[2แอดเดรส] <[< ...][นับ][ธง]

เลื่อนบรรทัดที่ระบุไปที่จุดเริ่มต้นของบรรทัด จำนวนตำแหน่งคอลัมน์ที่จะ
เลื่อนจะเป็นจำนวนอักขระคำสั่งคูณค่าของ กะความกว้าง แก้ไข
ตัวเลือก. ชั้นนำเท่านั้น อักขระจะถูกลบหรือเปลี่ยนเป็นอื่น ๆ
ตัวละครในการขยับ; อักขระอื่น ๆ จะไม่ได้รับผลกระทบ

เส้นที่จะเลื่อนจะถูกคัดลอกลงในบัฟเฟอร์ที่ไม่มีชื่อซึ่งจะกลายเป็นบรรทัด-
บัฟเฟอร์โหมด

คำสั่งนี้จะได้รับผลกระทบจาก พิมพ์อัตโนมัติ แก้ไขตัวเลือก

ปัจจุบัน เส้น: ตั้งค่าเป็นบรรทัดสุดท้ายในบรรทัดที่ระบุ

ปัจจุบัน คอลัมน์: ตั้งค่าเป็นไม่ใช่- .

เปลี่ยน ขวา
สรุป:
[2แอดเดรส] >[> ...][นับ][ธง]

เลื่อนบรรทัดที่ระบุออกจากจุดเริ่มต้นของบรรทัด จำนวนตำแหน่งคอลัมน์
ที่จะเลื่อนจะเป็นจำนวนอักขระคำสั่งคูณค่าของ กะความกว้าง
แก้ไขตัวเลือก การเปลี่ยนแปลงจะต้องสำเร็จโดยการเพิ่ม ตัวอักษรเป็นคำนำหน้าถึง
สายหรือเปลี่ยนผู้นำ อักขระอื่น ๆ ตัวอักษร เส้นเปล่า
จะไม่มีการเปลี่ยนแปลง

เส้นที่จะเลื่อนจะถูกคัดลอกลงในบัฟเฟอร์ที่ไม่มีชื่อซึ่งจะกลายเป็นบรรทัด-
บัฟเฟอร์โหมด

คำสั่งนี้จะได้รับผลกระทบจาก พิมพ์อัตโนมัติ แก้ไขตัวเลือก

ปัจจุบัน เส้น: ตั้งค่าเป็นบรรทัดสุดท้ายในบรรทัดที่ระบุ

ปัจจุบัน คอลัมน์: ตั้งค่าเป็นไม่ใช่- .

-NS
สรุป:
-NS

เขียนต่อไป n เส้นที่ไหน n เป็นค่าต่ำสุดของค่า เลื่อน แก้ไขตัวเลือกและ
จำนวนบรรทัดต่อจากบรรทัดปัจจุบันในบัฟเฟอร์การแก้ไข หากบรรทัดปัจจุบันคือ
บรรทัดสุดท้ายของบัฟเฟอร์แก้ไข มันจะเป็นข้อผิดพลาด

ปัจจุบัน เส้น: ตั้งค่าเป็นบรรทัดสุดท้ายที่เขียน

ปัจจุบัน คอลัมน์: ตั้งค่าเป็นไม่ใช่- .

เขียน Line จำนวน
สรุป:
[1แอดเดรส] = [ธง]

If เส้น ไม่ได้ระบุไว้ ค่าเริ่มต้นจะเป็นบรรทัดสุดท้ายในบัฟเฟอร์การแก้ไข เขียน
หมายเลขบรรทัดของบรรทัดที่ระบุ

ปัจจุบัน เส้น: ไม่เปลี่ยนแปลง

ปัจจุบัน คอลัมน์: ไม่เปลี่ยนแปลง

ดำเนินงาน
สรุป:
[2แอดเดรส] @ กันชน
[2แอดเดรส] * กันชน

หากไม่ได้ระบุบัฟเฟอร์หรือระบุเป็น '@' or '*', บัฟเฟอร์สุดท้ายที่ดำเนินการจะเป็น
ใช้แล้ว. หากไม่มีการดำเนินการบัฟเฟอร์ก่อนหน้านี้ จะเป็นข้อผิดพลาด

สำหรับแต่ละบรรทัดที่ระบุโดยที่อยู่ ให้ตั้งค่าบรรทัดปัจจุบัน ('.') ถึงที่กำหนด
บรรทัดและดำเนินการเนื้อหาของชื่อ กันชน (อย่างที่พวกเขาเป็นอยู่ ณ เวลาที่ @ คำสั่ง
ถูกประหารชีวิต) เป็น ex คำสั่ง สำหรับแต่ละบรรทัดของบัฟเฟอร์โหมดบรรทัด และทั้งหมดยกเว้นบรรทัดสุดท้าย
บรรทัดของบัฟเฟอร์โหมดอักขระ the ex คำสั่ง parser จะทำงานราวกับว่าบรรทัดเป็น
สิ้นสุดโดย .

หากเกิดข้อผิดพลาดระหว่างกระบวนการนี้ หรือบรรทัดที่ระบุโดยที่อยู่ไม่
มีอยู่เมื่อบรรทัดปัจจุบันจะถูกตั้งค่าหรือระบุมากกว่าหนึ่งบรรทัด
โดยที่อยู่และเนื้อหาของบัฟเฟอร์การแก้ไขจะถูกแทนที่ (เช่น โดย ex
แก้ไข: คำสั่ง) ให้เขียนข้อความแสดงข้อผิดพลาด และไม่มีคำสั่งที่เป็นผลจาก . อีกต่อไป
การดำเนินการของคำสั่งนี้จะถูกประมวลผล

ปัจจุบัน เส้น: ตามที่กำหนดไว้สำหรับบุคคล ex คำสั่ง

ปัจจุบัน คอลัมน์: ตามที่กำหนดไว้สำหรับบุคคล ex คำสั่ง

ปกติ การแสดงออก in ex
พื้นที่ ex ยูทิลิตีจะต้องสนับสนุนนิพจน์ทั่วไปที่เป็น superset ของ Regular Regular พื้นฐาน
นิพจน์ที่อธิบายไว้ในปริมาณคำจำกัดความพื้นฐานของ POSIX.1-2008 Section 9.3, ขั้นพื้นฐาน
ปกติ การแสดงออก. นิพจน์ทั่วไปที่เป็นโมฆะ ("//") จะเท่ากับค่าสุดท้าย
พบนิพจน์ทั่วไป

นิพจน์ทั่วไปสามารถใช้ในที่อยู่เพื่อระบุบรรทัดและในบางคำสั่ง (for
ตัวอย่างเช่น แทน คำสั่ง) เพื่อระบุส่วนของบรรทัดที่จะแทนที่

โครงสร้างต่อไปนี้สามารถใช้เพื่อปรับปรุงนิพจน์ทั่วไปพื้นฐานได้:

\< จับคู่จุดเริ่มต้นของa word. (ดูคำจำกัดความของ word at the beginning of
คำสั่ง คำอธิบาย in ex.)

\> จับคู่จุดสิ้นสุดของ a word.

~ จับคู่อะไหล่ชิ้นสุดท้าย แทน สั่งการ. NS ('~')
อักขระหลีกในนิพจน์ทั่วไปให้กลายเป็นอักขระปกติได้ด้วย
ไม่มีความหมายพิเศษ NS จะถูกละทิ้ง

เมื่อตัวแก้ไขตัวเลือก มายากล ไม่ได้กำหนดไว้เฉพาะอักขระที่มีความหมายพิเศษเท่านั้น
be '^' ที่จุดเริ่มต้นของรูปแบบ '$' ที่ส่วนท้ายของรูปแบบ และ . NS
อักขระ '.', '*', '['และ '~' ให้ถือว่าเป็นอักขระธรรมดา เว้นแต่จะระบุไว้ก่อนหน้า
โดย ; เมื่อนำหน้าด้วย a พวกเขาจะได้ความหมายพิเศษกลับคืนมา
หรือในกรณีของ ,ถูกจัดการเป็นโสด . ตัวอักษร
ที่ใช้หลบหนีตัวละครอื่น ๆ จะถูกละทิ้ง

การแทนที่ Strings in ex
บทบาท '&' ('\&' ถ้าตัวแก้ไขตัวเลือก มายากล ไม่ได้ตั้งค่า) ในสตริงการแทนที่
จะต้องยืนสำหรับข้อความที่ตรงกับรูปแบบที่จะแทนที่ บทบาท '~' ('\~' if
มายากล ไม่ได้ตั้งค่า) จะถูกแทนที่ด้วยชิ้นส่วนทดแทนของก่อนหน้านี้ แทน
สั่งการ. ลำดับ '\NS'ที่นี่มี n เป็นจำนวนเต็ม จะถูกแทนที่ด้วยข้อความที่ตรงกัน
โดยนิพจน์อ้างอิงกลับที่สอดคล้องกัน หากอ้างอิงกลับที่สอดคล้องกัน
นิพจน์ไม่ตรงกัน แล้วตัวอักษร '\NS' จะถูกแทนที่ด้วยสตริงว่าง

สตริง '\l', '\ยู', '\L'และ '\ยู' สามารถใช้เพื่อแก้ไขกรณีขององค์ประกอบใน
สตริงการแทนที่ (โดยใช้ '\&' or "\"หลัก) สัญกรณ์ สตริง '\l' ('\ยู') จะ
ทำให้อักขระที่ตามมาถูกแปลงเป็นตัวพิมพ์เล็ก (ตัวพิมพ์ใหญ่) สตริง '\L'
('\ยู') จะทำให้ตัวอักษรทั้งหมดที่ตามมาถูกแปลงเป็นตัวพิมพ์เล็ก
(ตัวพิมพ์ใหญ่) ตามที่ถูกแทนที่ด้วยการแทนที่จนถึงสตริง '\ อี' or '\อี'หรือ
พบจุดสิ้นสุดของสตริงการแทนที่

มิฉะนั้น อักขระใดๆ ที่ตามหลัง a จะถือว่าตามตัวอักษรนั้น
ตัวละครและการหลบหนี จะถูกละทิ้ง

ตัวอย่างการแปลงตัวพิมพ์ด้วย the s คำสั่งมีดังนี้:

:p
พื้นที่ แมว นั่ง on เสื่อ.
:s/\<.at\>/\u&/gp
พื้นที่ แคท กกท. on เสื่อ.
:s/S\(.*\)M/S\U\1\eM/p
พื้นที่ แคท กกท. ON DIE เสื่อ.

Edit Options in ex
พื้นที่ ex ยูทิลิตีมีตัวเลือกมากมายที่ปรับเปลี่ยนลักษณะการทำงาน ตัวเลือกเหล่านี้มี
การตั้งค่าเริ่มต้น ซึ่งสามารถเปลี่ยนแปลงได้โดยใช้ปุ่ม ชุด คำสั่ง

ตัวเลือกคือบูลีนเว้นแต่จะระบุไว้เป็นอย่างอื่น

อัตโนมัติ, ai
[ค่าเริ่มต้น ยกเลิกการตั้งค่า]

If อัตโนมัติ ถูกตั้งค่า แต่ละบรรทัดในโหมดอินพุตจะถูกเยื้อง (ใช้ก่อนมากเท่า
ตัวอักษรเท่าที่เป็นไปได้ตามที่กำหนดโดยตัวเลือกตัวแก้ไข แท็บสต็อปแล้วใช้
อักขระ) ให้สอดคล้องกับบรรทัดอื่น ดังนี้

1. หากอยู่ในโหมดเปิดหรือโหมดภาพและการป้อนข้อความเป็นส่วนหนึ่งของคำสั่งเชิงบรรทัด (ดู
คำอธิบายเพิ่มเติมใน vi) จัดชิดกับคอลัมน์แรก

2. มิฉะนั้น หากอยู่ในโหมดเปิดหรือแสดงภาพ การเยื้องสำหรับแต่ละบรรทัดจะถูกตั้งค่าเป็น
ดังต่อไปนี้:

NS. หากก่อนหน้านี้มีการแทรกบรรทัดเป็นส่วนหนึ่งของคำสั่งนี้ ให้ตั้งค่าเป็น
การเยื้องของบรรทัดที่แทรกสุดท้ายโดยค่าเริ่มต้น หรือตามที่ระบุไว้เป็นอย่างอื่นสำหรับ
NS -D ตัวอักษรใน อินพุต โหมด คำสั่ง in vi.

NS. มิฉะนั้น จะถูกตั้งค่าเป็นการเยื้องของบรรทัดปัจจุบันก่อนหน้า if
ใด ๆ; มิฉะนั้นไปยังคอลัมน์แรก

3 สำหรับ ex a, iและ c คำสั่ง การเยื้องแต่ละบรรทัด ให้กำหนดดังนี้

NS. หากก่อนหน้านี้มีการแทรกบรรทัดเป็นส่วนหนึ่งของคำสั่งนี้ ให้ตั้งค่าเป็น
การเยื้องของบรรทัดที่แทรกสุดท้ายโดยค่าเริ่มต้น หรือตามที่ระบุไว้เป็นอย่างอื่นสำหรับ
EOF ตัวละครใน เลื่อน.

NS. มิฉะนั้น ถ้าคำสั่งคือ ex a คำสั่งก็ให้ตั้งเป็นเส้น
ต่อท้ายถ้ามี; มิฉะนั้นไปยังคอลัมน์แรก

ค. มิฉะนั้น ถ้าคำสั่งคือ ex i คำสั่งก็ให้ตั้งเป็นเส้น
แทรกไว้ก่อนถ้ามี; มิฉะนั้นไปยังคอลัมน์แรก

NS. มิฉะนั้น ถ้าคำสั่งคือ ex c คำสั่งก็ให้กำหนดเป็นการเยื้อง
ของสายที่เปลี่ยน

พิมพ์อัตโนมัติ, ap
[ค่าเริ่มต้น ชุด]

If พิมพ์อัตโนมัติ ถูกตั้งค่า บรรทัดปัจจุบันจะถูกเขียนหลังจากแต่ละ ex คำสั่งที่ปรับเปลี่ยน
เนื้อหาของบัฟเฟอร์การแก้ไขปัจจุบันและหลังจากแต่ละ แท็ก คำสั่งที่ tag
พบรูปแบบการค้นหาหรือหมายเลขบรรทัดแท็กถูกต้อง เว้นแต่:

1. คำสั่งถูกดำเนินการในขณะที่อยู่ในโหมดเปิดหรือโหมดภาพ

2. คำสั่งถูกดำเนินการเป็นส่วนหนึ่งของa ทั่วโลก or v คำสั่งหรือ @ การดำเนินการบัฟเฟอร์

3. คำสั่งเป็นรูปแบบของ อ่าน คำสั่งที่อ่านไฟล์ในบัฟเฟอร์การแก้ไข

4. คำสั่งคือ ผนวก, เปลี่ยนแปลง,หรือ แทรก คำสั่ง

5. คำสั่งไม่ได้ยุติโดย a .

6. บรรทัดปัจจุบันจะเขียนด้วยแฟล็กที่ระบุในคำสั่ง ตัวอย่างเช่น,
ลบ # จะต้องเขียนบรรทัดปัจจุบันตามที่กำหนดไว้สำหรับตัวแก้ไขธงไปที่ ลบ
คำสั่งและไม่เป็นไปตามที่ .กำหนด พิมพ์อัตโนมัติ แก้ไขตัวเลือก

เขียนอัตโนมัติ, aw
[ค่าเริ่มต้น ยกเลิกการตั้งค่า]

If เขียนอัตโนมัติ ถูกตั้งค่าและบัฟเฟอร์การแก้ไขได้รับการแก้ไขตั้งแต่ครั้งสุดท้ายโดยสมบูรณ์
เขียนลงในไฟล์ใด ๆ เนื้อหาของบัฟเฟอร์การแก้ไขจะถูกเขียนราวกับว่า ex เขียน
คำสั่งถูกระบุโดยไม่มีอาร์กิวเมนต์ ก่อนที่แต่ละคำสั่งจะได้รับผลกระทบจาก
เขียนอัตโนมัติ ดำเนินการแก้ไขตัวเลือก ต่อท้ายอักขระ '!' ไปยังชื่อคำสั่งใดๆ
ของ ex คำสั่งยกเว้น '!' จะป้องกันการเขียน ถ้าเขียนไม่ผ่าน จะเป็น
ข้อผิดพลาดและคำสั่งจะไม่ถูกดำเนินการ

สวยงาม, bf
[ค่าเริ่มต้น ยกเลิกการตั้งค่า]

If สวยงาม ถูกตั้งค่า อักขระที่ไม่สามารถพิมพ์ได้ทั้งหมด ยกเว้น , , และ
feed> ตัวอักษรจะถูกละทิ้งจากข้อความที่อ่านจากไฟล์

ไดเรกทอรี dir
[ค่าเริ่มต้น การใช้งานที่กำหนด]

ค่าของตัวเลือกนี้ระบุไดเร็กทอรีที่บัฟเฟอร์ตัวแก้ไขจะเป็น
วางไว้ ถ้าไดเร็กทอรีนี้ไม่สามารถเขียนได้โดยผู้ใช้ ตัวแก้ไขจะออกจากการทำงาน

เข้ากันได้ ed
[ค่าเริ่มต้น ยกเลิกการตั้งค่า]

ทำให้มี g และ c คำต่อท้ายบนคำสั่งทดแทนที่ต้องจดจำและ
สลับโดยทำซ้ำคำต่อท้าย

ข้อผิดพลาด, eb
[ค่าเริ่มต้น ยกเลิกการตั้งค่า]

หากบรรณาธิการอยู่ใน ex โหมดและเทอร์มินัลไม่รองรับโหมดโดดเด่น (เช่น
วิดีโอผกผัน) และ ข้อผิดพลาด ถูกตั้งค่า ข้อความแสดงข้อผิดพลาดจะต้องนำหน้าด้วยการแจ้งเตือน
สถานีปลายทาง

อดีต
[ค่าเริ่มต้น ยกเลิกการตั้งค่า]

If อดีต ถูกตั้งค่า ex จะเข้าถึงใด ๆ .exrc ไฟล์ในไดเร็กทอรีปัจจุบัน ตามที่อธิบายไว้ใน
การเขียนอักษรย่อ in ex และ vi. ถ้า อดีต ไม่ได้ตั้งค่า ex จะละเลยใดๆ .exrc แฟ้มใน
ไดเร็กทอรีปัจจุบันระหว่างการเริ่มต้น เว้นแต่ไดเร็กทอรีปัจจุบันจะตั้งชื่อโดย
หน้าหลัก ตัวแปรสภาพแวดล้อม

ละเว้น, ic
[ค่าเริ่มต้น ยกเลิกการตั้งค่า]

If ละเว้น ถูกกำหนด อักขระที่มีการแสดงตัวพิมพ์ใหญ่และตัวพิมพ์เล็กจะ
ให้การรับรองเหล่านั้นเทียบเท่ากับวัตถุประสงค์ของการแสดงออกปกติ
การเปรียบเทียบ

พื้นที่ ละเว้น แก้ไขตัวเลือกจะส่งผลต่อนิพจน์ทั่วไปที่จำได้ทั้งหมด ตัวอย่างเช่น,
ยกเลิกการตั้งค่า ละเว้น แก้ไขตัวเลือกจะทำให้เกิดในภายหลัง vi n คำสั่งให้ค้นหา
นิพจน์ทั่วไปพื้นฐานสุดท้ายในแบบคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่

รายการ
[ค่าเริ่มต้น ยกเลิกการตั้งค่า]

If รายการ ถูกตั้งค่าให้แก้ไขบรรทัดบัฟเฟอร์ที่เขียนขณะอยู่ใน ex โหมดคำสั่งจะเขียนเป็น
ที่กำหนดไว้สำหรับ พิมพ์ สั่งกับ l ธงที่ระบุ ในโหมดเปิดหรือโหมดภาพ แต่ละ
แก้ไขบรรทัดบัฟเฟอร์จะแสดงตามที่ระบุไว้สำหรับ ex พิมพ์ สั่งกับ l ธง
ระบุไว้ ในโหมดป้อนข้อความแบบเปิดหรือแบบภาพ เมื่อเคอร์เซอร์ไม่พักบนใดๆ
อักขระในบรรทัดจะวางอยู่บน '$' ทำเครื่องหมายที่ส่วนท้ายของบรรทัด

มายากล
[ค่าเริ่มต้น ชุด]

If มายากล ถูกตั้งค่าแก้ไขการตีความอักขระในนิพจน์ทั่วไปและ
สตริงการแทนที่การแทนที่ (ดู ปกติ การแสดงออก in ex และ การแทนที่ Strings in
ex).

ข้อความ
[ค่าเริ่มต้น ชุด]

If ข้อความ ถูกตั้งค่าการอนุญาตให้ผู้อื่นใช้ เขียน or คุย คำสั่งให้เขียนถึง
เทอร์มินัลจะต้องเปิดในขณะที่อยู่ในโหมดเปิดหรือภาพ คำสั่งระดับเชลล์ ข้อความ
n จะมีความสำคัญเหนือการตั้งค่าใด ๆ ของ ex ข้อความ ตัวเลือก; นั่นคือถ้า ข้อความ y คือ
ออกก่อนที่เอดิเตอร์จะเริ่มต้น (หรือในเชลล์เอสเคป) เช่น:

:!ข้อความ y

ข้อความ ตัวเลือกใน ex จะระงับข้อความที่เข้ามา แต่ ข้อความ ตัวเลือกจะไม่
เปิดใช้งานข้อความขาเข้า if ข้อความ n เป็นประเด็น.

จำนวน, nu
[ค่าเริ่มต้น ยกเลิกการตั้งค่า]

If จำนวน ถูกตั้งค่าให้แก้ไขบรรทัดบัฟเฟอร์ที่เขียนขณะอยู่ใน ex โหมดคำสั่งจะเขียนด้วย
หมายเลขบรรทัดในรูปแบบที่ระบุโดย พิมพ์ สั่งกับ # ธงที่ระบุ ใน
ex โหมดป้อนข้อความ แต่ละบรรทัดจะต้องนำหน้าด้วยหมายเลขบรรทัดที่จะมีใน
ไฟล์

ในโหมดเปิดหรือโหมดแสดงภาพ แต่ละบรรทัดบัฟเฟอร์การแก้ไขจะแสดงด้วยบรรทัดก่อนหน้า
ในรูปแบบที่ .กำหนด ex พิมพ์ สั่งกับ # ธงที่ระบุ นี้
หมายเลขบรรทัดจะไม่ถือว่าเป็นส่วนหนึ่งของบรรทัดเพื่อวัตถุประสงค์ในการประเมิน
คอลัมน์ปัจจุบัน นั่นคือ ตำแหน่งคอลัมน์ 1 จะเป็นตำแหน่งคอลัมน์แรกหลังจาก
รูปแบบที่กำหนดโดย พิมพ์ คำสั่ง

ย่อหน้า สำหรับ
[ค่าเริ่มต้นในตำแหน่งที่ตั้ง POSIX IPLPPPQPP LIpplpipbp]

พื้นที่ ย่อหน้า แก้ไขตัวเลือกจะกำหนดขอบเขตย่อหน้าเพิ่มเติมสำหรับการเปิดและ
คำสั่งโหมดภาพ NS ย่อหน้า แก้ไขตัวเลือกสามารถตั้งค่าเป็นสตริงอักขระ
ประกอบด้วยคู่อักขระศูนย์หรือมากกว่า ตั้งเป็นเลขคี่จะเป็นข้อผิดพลาด
จำนวนตัวอักษร

รวดเร็ว
[ค่าเริ่มต้น ชุด]

If รวดเร็ว ถูกตั้งค่า ex อินพุตโหมดคำสั่งจะต้องได้รับพร้อมท์ด้วย a (':'); เมื่อไร
unset จะไม่มีการแจ้งใดๆ

อ่านเท่านั้น
[ค่าเริ่มต้น เห็น ข้อความ]

ถ้า อ่านเท่านั้น ตั้งค่าตัวเลือกแก้ไขแล้ว โหมดอ่านอย่างเดียวจะเปิดใช้งาน (ดู เขียน)
อ่านเท่านั้น แก้ไขตัวเลือกจะถูกเริ่มต้นเพื่อตั้งค่าหากเงื่อนไขใดเงื่อนไขหนึ่งต่อไปนี้คือ
จริง:

* ระบุตัวเลือกบรรทัดคำสั่ง −R

* การดำเนินการเทียบเท่ากับ เข้า() เรียกฟังก์ชันดังต่อไปนี้
อาร์กิวเมนต์ระบุว่าไฟล์ไม่มีสิทธิ์ในการเขียน:

1. ชื่อพาธปัจจุบันใช้เป็น เส้นทาง ข้อโต้แย้ง.

2. ค่าคงที่ W_ตกลง ใช้เป็นไฟล์ อะโมเดะ ข้อโต้แย้ง.

พื้นที่ อ่านเท่านั้น แก้ไขตัวเลือกสามารถเริ่มต้นเพื่อตั้งค่าอื่น ๆ ที่กำหนดไว้ในการใช้งาน
เหตุผล. NS อ่านเท่านั้น แก้ไขตัวเลือกจะไม่เริ่มต้นเพื่อยกเลิกการตั้งค่าตามพิเศษใด ๆ
สิทธิ์ของผู้ใช้หรือกระบวนการ NS อ่านเท่านั้น แก้ไขตัวเลือกจะเริ่มต้นใหม่แต่ละ
เวลาที่แทนที่เนื้อหาของบัฟเฟอร์การแก้ไข (เช่น โดย an แก้ไข or ถัดไป
คำสั่ง) เว้นแต่ผู้ใช้จะกำหนดไว้อย่างชัดแจ้ง ซึ่งในกรณีนี้ ให้ตั้งค่าไว้จนถึง
ผู้ใช้ยกเลิกการตั้งค่าอย่างชัดเจน เมื่อ unset จะเริ่มต้นอีกครั้งในแต่ละครั้งที่
เนื้อหาของบัฟเฟอร์การแก้ไขจะถูกแทนที่

วาดใหม่
[ค่าเริ่มต้น ยกเลิกการตั้งค่า]

ตัวแก้ไขจำลองเทอร์มินัลอัจฉริยะบนเทอร์มินัลใบ้ (เนื่องจากสิ่งนี้มีแนวโน้มที่จะ
ต้องการเอาต์พุตจำนวนมากไปยังเทอร์มินัล ซึ่งจะมีประโยชน์ในการส่งสัญญาณสูงเท่านั้น
ความเร็ว)

ทำการแมป
[ค่าเริ่มต้น ชุด]

If ทำการแมป ถูกตั้งค่า การแปลแผนที่จะต้องอนุญาตให้มีการกำหนดแผนที่ในแง่ของแผนที่อื่นๆ
การแปลจะดำเนินต่อไปจนกว่าจะได้ผลิตภัณฑ์ขั้นสุดท้าย หากไม่ได้ตั้งค่าเพียงขั้นตอนเดียว
การแปลจะต้องทำ

รายงาน
[ค่าเริ่มต้น 5]

คุณค่าของสิ่งนี้ รายงาน แก้ไขตัวเลือกระบุจำนวนบรรทัดที่จะเพิ่ม, คัดลอก,
ลบหรือแก้ไขในบัฟเฟอร์การแก้ไขจะทำให้ข้อความแสดงข้อมูลถูกเขียน
ให้กับผู้ใช้ เงื่อนไขต่อไปนี้จะทำให้เกิดข้อความแสดงข้อมูล ข้อความ
จะต้องประกอบด้วยจำนวนบรรทัดที่เพิ่ม คัดลอก ลบ หรือแก้ไข แต่เป็นอย่างอื่น
ไม่ระบุ

* อ ex or vi คำสั่งแก้ไข นอกเหนือจาก เปิด, แก้,หรือ ภาพที่ปรับเปลี่ยนอย่างน้อย
ค่าของ รายงาน แก้ไขตัวเลือกจำนวนบรรทัดและที่ไม่ได้เป็นส่วนหนึ่งของ ex
ทั่วโลก or v คำสั่งหรือ ex or vi การดำเนินการบัฟเฟอร์จะทำให้ข้อมูล
ข้อความที่จะเขียน

* อ ex งัด or vi y or Y คำสั่งที่คัดลอกอย่างน้อยค่าของ รายงาน แก้ไข
ตัวเลือกบวก 1 จำนวนบรรทัดและที่ไม่ได้เป็นส่วนหนึ่งของ ex ทั่วโลก or v คำสั่งหรือ
ex or vi การดำเนินการบัฟเฟอร์จะทำให้ข้อความแสดงข้อมูลถูกเขียนขึ้น

* อ ex ทั่วโลก, v, เปิด, แก้,หรือ ภาพ คำสั่งหรือ ex or vi การดำเนินการบัฟเฟอร์ที่เพิ่ม
หรือลบทั้งหมดอย่างน้อยมูลค่าของ รายงาน แก้ไขตัวเลือกจำนวนบรรทัด
และที่ไม่เป็นส่วนหนึ่งของ ex ทั่วโลก or v คำสั่งหรือ ex or vi การดำเนินการบัฟเฟอร์
จะทำให้เกิดข้อความข้อมูลที่จะเขียน (เช่น ถ้า 3 บรรทัดคือ
เพิ่มและลบ 8 บรรทัดระหว่าง an ex ภาพ คำสั่ง 5 จะเป็นตัวเลขเปรียบเทียบ
ป้องกันและปราบปราม รายงาน แก้ไขตัวเลือกหลังจากคำสั่งเสร็จสิ้น)

เลื่อน SCR
[ค่าเริ่มต้น (จำนวนบรรทัดในจอแสดงผล -1)/2]

ค่าของ เลื่อน แก้ไขตัวเลือกจะกำหนดจำนวนบรรทัดที่เลื่อนโดย ex
-D และ z คำสั่ง สำหรับ vi -D และ ‐U คำสั่งมันจะเป็น
จำนวนบรรทัดเริ่มต้นที่จะเลื่อนเมื่อไม่มีก่อนหน้า -D หรือ -คำสั่งยู
ถูกประหารชีวิต

ส่วน
[ค่าเริ่มต้นในภาษา POSIX NHSHH HUnhsh]

พื้นที่ ส่วน แก้ไขตัวเลือกจะกำหนดขอบเขตส่วนเพิ่มเติมสำหรับการเปิดและ
คำสั่งโหมดภาพ NS ส่วน แก้ไขตัวเลือกสามารถตั้งค่าเป็นสตริงอักขระประกอบด้วย
มีคู่อักขระตั้งแต่ศูนย์ขึ้นไป ตั้งเป็นเลขคี่ของ . จะถือว่าผิด
อักขระ

เปลือก, sh
[ค่าเริ่มต้นจากตัวแปรสภาพแวดล้อม SHELL]

ค่าของตัวเลือกนี้จะเป็นสตริง ค่าเริ่มต้นจะถูกนำมาจาก SHELL
ตัวแปรสภาพแวดล้อม ถ้า SHELL ตัวแปรสภาพแวดล้อมเป็นโมฆะหรือว่างเปล่า the sh (ดู sh)
ยูทิลิตี้จะเป็นค่าเริ่มต้น

ความกว้างกะ, sw
[ค่าเริ่มต้น 8]

ค่าของตัวเลือกนี้จะให้ความกว้างในคอลัมน์ของระดับการเยื้องที่ใช้
ระหว่างการเยื้องอัตโนมัติและโดยคำสั่ง shift (< และ >).

โชว์แมทช์, sm
[ค่าเริ่มต้น ยกเลิกการตั้งค่า]

ฟังก์ชั่นที่อธิบายไว้สำหรับ โชว์แมตช์ ไม่จำเป็นต้องรองรับตัวเลือกการแก้ไขใน block-
โหมดเทอร์มินัลหรือเทอร์มินัลที่มีความสามารถไม่เพียงพอ

If โชว์แมตช์ ถูกตั้งค่าในโหมดเปิดหรือโหมดภาพเมื่อ a ')' or '}' ถูกพิมพ์ถ้าตรงกัน
'(' or '{' ปรากฏอยู่บนหน้าจอในขณะนี้, การจับคู่ '(' or '{' จะถูกตั้งค่าสถานะ
ย้ายเคอร์เซอร์ไปยังตำแหน่งในช่วงเวลาที่ไม่ระบุ

โหมดโชว์
[ค่าเริ่มต้น ยกเลิกการตั้งค่า]

If โหมดโชว์ ถูกตั้งค่าในโหมดเปิดหรือโหมดภาพ โหมดปัจจุบันที่ตัวแก้ไขอยู่ในนั้น
แสดงในบรรทัดสุดท้ายของการแสดงผล โหมดคำสั่งและโหมดป้อนข้อความจะเป็น
แตกต่าง; แบบอื่นๆ ที่ไม่ระบุรายละเอียดและข้อมูลที่กำหนดให้นำไปปฏิบัติอาจเป็น
แสดง

เปิดช้า
[ค่าเริ่มต้น ยกเลิกการตั้งค่า]

If เปิดช้า ถูกตั้งค่าระหว่างโหมดป้อนข้อความแบบเปิดและแบบเห็นภาพ ตัวแก้ไขจะไม่อัปเดต
ส่วนของจอแสดงผลนอกเหนือจากคอลัมน์บรรทัดที่แสดงที่แสดงอักขระ
ป้อนโดยผู้ใช้ (ดู อินพุต โหมด คำสั่ง in vi).

แท็บสต็อป, ts
[ค่าเริ่มต้น 8]

ค่าของตัวเลือกการแก้ไขนี้จะระบุขอบเขตของคอลัมน์ที่ใช้โดยa ใน
แสดง (ดู พิมพ์อัตโนมัติ, ap และ อินพุต โหมด คำสั่ง in vi).

ความยาวแท็ก tl
[ศูนย์เริ่มต้น]

ค่าของตัวเลือกการแก้ไขนี้จะระบุจำนวนอักขระสูงสุดที่
ถือว่ามีนัยสำคัญในชื่อแท็กที่ผู้ใช้ระบุและในชื่อแท็กจากแท็ก
ไฟล์. หากค่าเป็นศูนย์ อักขระทั้งหมดในชื่อแท็กทั้งสองจะมีนัยสำคัญ

แท็ก
[ค่าเริ่มต้น เห็น ข้อความ]

ค่าของตัวเลือกการแก้ไขนี้จะเป็นสตริงของ -คั่นชื่อพาธของไฟล์
ใช้โดย แท็ก สั่งการ. ไม่ได้ระบุค่าเริ่มต้น

ระยะ
[ค่าเริ่มต้นจากตัวแปรสภาพแวดล้อม ระยะ]

ค่าของตัวเลือกการแก้ไขนี้จะเป็นสตริง ค่าเริ่มต้นจะถูกนำมาจาก ระยะ
ตัวแปรในสภาพแวดล้อม ถ้า ระยะ ตัวแปรสภาพแวดล้อมว่างเปล่าหรือเป็นโมฆะ
ไม่ได้ระบุค่าเริ่มต้น บรรณาธิการจะใช้ค่าของตัวเลือกการแก้ไขนี้เพื่อกำหนด
ประเภทของอุปกรณ์แสดงผล

ผลลัพธ์จะไม่ถูกระบุหากผู้ใช้เปลี่ยนค่าของตัวเลือกแก้ไขคำหลัง
การเริ่มต้นแก้ไข

สั้น
[ค่าเริ่มต้น ยกเลิกการตั้งค่า]

If สั้น ถูกตั้งค่า ข้อความแสดงข้อผิดพลาดอาจมีรายละเอียดน้อยกว่า อย่างไรก็ตาม ยกเว้นข้อแม้นี้
ไม่ได้ระบุข้อความแสดงข้อผิดพลาด นอกจากนี้ ข้อความแสดงข้อผิดพลาดบางข้อความไม่จำเป็นต้องเปลี่ยนสำหรับ
การตั้งค่าต่างๆ ของตัวเลือกนี้

เตือน
[ค่าเริ่มต้น ชุด]

If เตือน ถูกตั้งค่าและเนื้อหาของบัฟเฟอร์การแก้ไขได้รับการแก้ไขตั้งแต่เป็น
สุดท้ายเขียนเสร็จบรรณาธิการจะเขียนข้อความเตือนก่อนบาง !
คำสั่ง (ดู หนี).

หน้าต่าง
[ค่าเริ่มต้น เห็น ข้อความ]

ค่าที่ใช้ในโหมดเปิดและภาพโดย -วงดนตรี คำสั่ง ‐F และใน
โหมดภาพ เพื่อระบุจำนวนบรรทัดที่แสดงเมื่อมีการทาสีหน้าจอใหม่

ถ้า -ว ไม่ได้ระบุตัวเลือกบรรทัดคำสั่ง ค่าเริ่มต้นจะถูกตั้งค่าเป็น
มูลค่าของ LINES ตัวแปรสภาพแวดล้อม ถ้า LINES ตัวแปรสภาพแวดล้อมว่างเปล่าหรือ
null ค่าเริ่มต้นจะเป็นจำนวนบรรทัดในการแสดงผลลบ 1

การตั้งค่า หน้าต่าง แก้ไขตัวเลือกเป็นศูนย์หรือเป็นค่าที่มากกว่าจำนวนบรรทัดใน
จอแสดงผลลบ 1 (ไม่ว่าจะโดยชัดแจ้งหรือขึ้นอยู่กับ -ว หรือตัวเลือก LINES สิ่งแวดล้อม
ตัวแปร) จะทำให้ หน้าต่าง แก้ไขตัวเลือกที่จะกำหนดจำนวนบรรทัดใน
แสดงลบ 1

อัตราบอดของบรรทัดเทอร์มินัลอาจเปลี่ยนค่าเริ่มต้นในการดำเนินการที่กำหนดไว้
ลักษณะ.

ขอบกระดาษ, wm
[ค่าเริ่มต้น 0]

หากค่าของตัวเลือกการแก้ไขนี้เป็นศูนย์ จะไม่มีผลใดๆ

หากไม่ได้อยู่ในโลแคล POSIX ผลกระทบของตัวเลือกการแก้ไขนี้จะถูกกำหนดโดยการใช้งาน

มิฉะนั้น จะต้องระบุจำนวนคอลัมน์จากระยะขอบสิ้นสุดของเทอร์มินัล

ระหว่างโหมดป้อนข้อความแบบเปิดและแบบภาพ สำหรับอักขระแต่ละตัวที่ส่วนใดส่วนหนึ่งของ
อักขระจะแสดงในคอลัมน์ที่น้อยกว่า ขอบกระดาษ คอลัมน์จากตอนจบ
ขอบของเส้นแสดงผล บรรณาธิการต้องปฏิบัติดังนี้

1. หากตัวละครที่เรียกเหตุการณ์นี้คือ a มันและทั้งหมดที่อยู่ข้างหน้าทันที
อักขระในบรรทัดปัจจุบันที่ป้อนระหว่างการดำเนินการของ current
คำสั่งป้อนข้อความ จะถูกละทิ้ง และตัวแก้ไขจะทำตัวเหมือนกับว่าผู้ใช้มี
เข้าที่เดียว แทนที่. นอกจากนี้ หากอักขระถัดไปที่ผู้ใช้ป้อนคือ
NS , ก็จะต้องละทิ้งเช่นกัน.

2. มิฉะนั้น ถ้ามีอย่างใดอย่างหนึ่งขึ้นไป ตัวอักษรบนบรรทัดปัจจุบันทันที
ก่อนกลุ่มสุดท้ายของการแทรกไม่ใช่ อักขระที่ป้อนระหว่าง
การดำเนินการของคำสั่งป้อนข้อความปัจจุบัน the ตัวอักษรจะเป็น
แทนที่ราวกับว่าผู้ใช้ได้ป้อนเดียว แทนที่.

ถ้า อัตโนมัติ ตั้งค่าตัวเลือกแก้ไขและดำเนินการเหตุการณ์ที่อธิบายไว้ใน 1. หรือ 2.
ใด ๆ อักขระที่หรือหลังเคอร์เซอร์ในบรรทัดปัจจุบันจะถูกละทิ้ง

ระยะขอบสิ้นสุดจะถูกกำหนดโดยระบบหรือแทนที่โดยผู้ใช้เช่น
อธิบายไว้สำหรับ คอลัมน์ ในส่วนตัวแปรสภาพแวดล้อมและปริมาณคำจำกัดความพื้นฐาน
ของ POSIX.1–2008, บท 8, สิ่งแวดล้อม ตัวแปร.

แรปสแกน, ws
[ค่าเริ่มต้น ชุด]

If แรปสแกน ถูกตั้งค่า ค้นหา (the ex / or ? ที่อยู่หรือโหมดเปิดและภาพ /, ?, N,
และ n คำสั่ง) จะต้องล้อมรอบจุดเริ่มต้นหรือจุดสิ้นสุดของบัฟเฟอร์การแก้ไข เมื่อไม่ได้ตั้งค่า
การค้นหาจะหยุดที่จุดเริ่มต้นหรือจุดสิ้นสุดของบัฟเฟอร์การแก้ไข

นักเขียน, wa
[ค่าเริ่มต้น ยกเลิกการตั้งค่า]

If นักเขียน ถูกตั้งค่า การตรวจสอบบางอย่างที่ดำเนินการเมื่อดำเนินการ ex เขียน คำสั่ง
จะถูกยับยั้งตามที่อธิบายไว้ในตัวเลือกบรรณาธิการ เขียนอัตโนมัติ.

EXIT สถานภาพ


ค่าทางออกต่อไปนี้จะถูกส่งคืน:

0 สำเร็จลุล่วง

>0 เกิดข้อผิดพลาด

ผลกระทบที่เกิด OF ข้อผิดพลาด


เมื่อพบข้อผิดพลาดใดๆ และอินพุตมาตรฐานไม่ใช่ไฟล์อุปกรณ์ปลายทาง ex
จะต้องไม่เขียนไฟล์หรือกลับไปที่คำสั่งหรือโหมดป้อนข้อความและจะสิ้นสุดด้วย
สถานะการออกที่ไม่ใช่ศูนย์

มิฉะนั้น เมื่อพบข้อผิดพลาดที่ไม่สามารถกู้คืนได้ จะเทียบเท่ากับ SIGHUP
เหตุการณ์แบบอะซิงโครนัส

มิฉะนั้น เมื่อพบข้อผิดพลาด บรรณาธิการต้องปฏิบัติตนตามที่ระบุไว้ใน คำสั่ง
Line วจีวิภาค in ex.

พื้นที่ ดังต่อไปนี้ ส่วน เป็น ข้อมูล.

ใบสมัคร การใช้


หากรับสัญญาณ SIGSEGV ในขณะที่ ex กำลังบันทึกไฟล์ ไฟล์อาจไม่เป็น
บันทึกเรียบร้อยแล้ว

พื้นที่ ถัดไป คำสั่งสามารถรับได้มากกว่าหนึ่งไฟล์ ดังนั้นการใช้งานเช่น:

ถัดไป `ล [เอบีซี]*`

ถูกต้อง; มันจะไม่ถูกต้องสำหรับ แก้ไข or อ่าน คำสั่ง เช่น เพราะพวกเขา
คาดหวังเพียงไฟล์เดียวและเกิดผลลัพธ์ที่ไม่ระบุ

ตัวอย่าง


ไม่

หลักการและเหตุผล


พื้นที่ ex/vi ข้อกำหนดจะขึ้นอยู่กับการปฏิบัติทางประวัติศาสตร์ที่พบใน 4 BSD และ System
การใช้งาน V ​​ของ ex และ vi.

A หวงห้าม บรรณาธิการ (ทั้งประวัติศาสตร์ สีแดง ยูทิลิตี้และการปรับเปลี่ยนเพื่อ ex) คือ
พิจารณาและปฏิเสธไม่ให้รวม ไม่มีตัวเลือกใดให้ระดับความปลอดภัยที่
ผู้ใช้อาจคาดหวัง

เป็นที่ยอมรับว่า ex โหมดภาพและคุณสมบัติที่เกี่ยวข้องจะยากถ้าไม่
เป็นไปไม่ได้ที่จะนำไปใช้อย่างน่าพอใจบนเทอร์มินัลโหมดบล็อกหรือเทอร์มินัลที่ไม่มี
การกำหนดตำแหน่งเคอร์เซอร์ทุกรูปแบบ ดังนั้นจึงไม่ใช่ข้อกำหนดบังคับที่คุณสมบัติดังกล่าว
ควรทำงานบนเทอร์มินัลทั้งหมด อย่างไรก็ตามเป็นความตั้งใจที่ ex การดำเนินงาน
ควรจัดเตรียมความสามารถที่ครบถ้วนบนเทอร์มินัลทั้งหมดที่สามารถรองรับได้

Options
พื้นที่ -ค แทนที่สำหรับ +คำสั่ง ได้รับแรงบันดาลใจจาก -อี ตัวเลือกของ ความกระหายน้ำ. ตามประวัติศาสตร์ ทั้งหมด
คำสั่งดังกล่าว (ดู แก้ไข และ ถัดไป เช่นกัน) ถูกดำเนินการจากบรรทัดสุดท้ายของการแก้ไข
กันชน. นี่หมายความว่า ตัวอย่างเช่น ว่า "+/รูปแบบ" จะล้มเหลวเว้นแต่ แรปสแกน ตัวเลือก
ได้รับการตั้งค่า. POSIX.1-2008 ต้องสอดคล้องกับการปฏิบัติทางประวัติศาสตร์ NS +คำสั่ง ตัวเลือกที่
ไม่ได้ระบุโดย POSIX.1-2008 อีกต่อไป แต่อาจมีอยู่ในการใช้งานบางอย่าง
ในอดีต การใช้งานบางอย่างจำกัด ex คำสั่งที่สามารถระบุเป็น part
ของอาร์กิวเมนต์บรรทัดคำสั่ง เพื่อความสอดคล้อง POSIX.1-2008 ไม่อนุญาตให้สิ่งเหล่านี้
ข้อ จำกัด

ในการใช้งานทางประวัติศาสตร์ของบรรณาธิการ the -ร ตัวเลือก (และ อ่านเท่านั้น แก้ไขตัวเลือก)
ป้องกันการเขียนทับไฟล์เท่านั้น ยังคงอนุญาตให้ต่อท้ายไฟล์ การทำแผนที่
เข้าไปใน csh โนคลอบเบอร์ ตัวแปร. การใช้งานบางอย่างยังไม่ได้ปฏิบัติตาม
ความหมายนี้และ อ่านเท่านั้น ไม่อนุญาตให้ต่อท้ายอย่างใดอย่างหนึ่ง POSIX.1-2008 ตามหลัง
ปฏิบัติแบบหลังโดยเชื่อว่าเป็นความหมายที่ชัดเจนและสัญชาตญาณของ อ่านเท่านั้น.

พื้นที่ -s ตัวเลือกระงับความคิดเห็นของผู้ใช้แบบโต้ตอบทั้งหมดและมีประโยชน์สำหรับการแก้ไขสคริปต์
ในงานแบทช์ รายการผลกระทบเฉพาะคือการปฏิบัติทางประวัติศาสตร์ ประเภทเทอร์มินัล
``ไม่สามารถรองรับโหมดเปิดและโหมดภาพได้'' ได้รับการตั้งชื่อว่า ``ใบ้'' ในอดีต

พื้นที่ -t จำเป็นต้องใช้ตัวเลือกเนื่องจาก แท็ก ยูทิลิตี้ปรากฏใน POSIX.1-2008 และ
ตัวเลือกมีให้ในการใช้งานในอดีตทั้งหมดของ ex.

ประวัติศาสตร์ ex และ vi ค่าสาธารณูปโภคได้รับการยอมรับ a -x ตัวเลือกซึ่งทำการเข้ารหัสตาม
อัลกอริทึมที่พบในประวัติศาสตร์ ฝังศพใต้ถุนโบสถ์ คุณประโยชน์. NS -x ตัวเลือกสำหรับการเข้ารหัสและ
ที่เกี่ยวข้อง ฝังศพใต้ถุนโบสถ์ ยูทิลิตี้ถูกละเว้นเนื่องจากอัลกอริทึมที่ใช้ไม่สามารถระบุได้และ
กฎหมายควบคุมการส่งออกของบางประเทศทำให้การส่งออกการเข้ารหัสทำได้ยาก
เทคโนโลยี. นอกจากนี้ในอดีตไม่ได้ให้ระดับความปลอดภัยที่ผู้ใช้
อาจคาดหวัง

Standard อินพุต
เงื่อนไขการสิ้นสุดไฟล์ไม่เท่ากับอักขระสิ้นสุดไฟล์ ปลายทั่วไปของ-
ตัวอักษรไฟล์, ‐D เป็นประวัติศาสตร์ an ex คำสั่ง

ไม่มีความยาวบรรทัดสูงสุดในการใช้งานในอดีตของ ex. โดยเฉพาะอย่างที่มัน
ถูกแยกเป็นส่วนๆ ที่อยู่มีความยาวสูงสุดแตกต่างจากชื่อไฟล์
นอกจากนี้ ขนาดบัฟเฟอร์บรรทัดสูงสุดถูกประกาศเป็น BUFSIZ ซึ่งมีความยาวต่างกัน
ในระบบต่างๆ รุ่นนี้เลือกค่าของ {LINE_MAX} เพื่อกำหนดความสมเหตุสมผล
ข้อจำกัดในการใช้งานแบบพกพาของ ex และเพื่อช่วยนักเขียนชุดทดสอบในการพัฒนา
การทดสอบจริงที่ใช้ขีดจำกัดนี้

อินพุต ไฟล์
เป็นการตัดสินใจที่ชัดเจนโดยนักพัฒนามาตรฐานที่ เพิ่มไปยังใด ๆ
ไฟล์ขาดอย่างใดอย่างหนึ่ง เชื่อกันว่าคุณลักษณะนี้ของ ex และ vi เป็นที่พึ่งพาโดยผู้ใช้ใน
เพื่อให้ไฟล์ข้อความไม่มีส่วนท้าย พกพาได้มากขึ้น เป็นที่ยอมรับว่า
สิ่งนี้จะต้องมีตัวเลือกหรือส่วนขยายที่ผู้ใช้ระบุสำหรับการใช้งานที่อนุญาต ex
และ vi เพื่อแก้ไขไฟล์ประเภทอื่นที่ไม่ใช่ข้อความหากไฟล์ดังกล่าวไม่ได้ระบุโดย
ระบบ. ตกลงกันว่าความสามารถในการแก้ไขไฟล์ประเภทใดก็ได้จะเป็นประโยชน์
แต่ก็ไม่ถือว่าจำเป็นต้องมอบอำนาจให้ ex or vi จำเป็นต้องนำไปปฏิบัติ
เพื่อจัดการกับไฟล์อื่นที่ไม่ใช่ไฟล์ข้อความ

ย่อหน้าในส่วน INPUT FILES ``โดยค่าเริ่มต้น ...'' มีวัตถุประสงค์เพื่อปิด
ปัญหาความปลอดภัยที่ยาวนานใน ex และ vi; ของ ``modeline'' หรือ ``modelines''
แก้ไขตัวเลือก คุณลักษณะนี้อนุญาตให้มีบรรทัดใดก็ได้ในห้าบรรทัดแรกหรือห้าบรรทัดสุดท้ายของไฟล์
ที่มีสตริง "อดีต:" or "วี:" (และเห็นได้ชัดว่า "อี:" or "วีเอ็กซ์:") เป็นเส้น
มีคำสั่งแก้ไขและ ex ตีความข้อความทั้งหมดจนถึงตอนต่อไป ':' หรือ
เป็นคำสั่ง พิจารณาผลที่ตามมา เช่น ของผู้ใช้ที่ไม่สงสัยโดยใช้ ex or
vi เป็นตัวแก้ไขเมื่อตอบกลับข้อความเมลซึ่งมีบรรทัดเช่น:

อดีต:! rm -rf :

ปรากฏในบรรทัดลายเซ็น นักพัฒนามาตรฐานเชื่อมั่นอย่างยิ่งว่าบรรณาธิการ
โดยค่าเริ่มต้น ไม่ควรตีความบรรทัดใดๆ ของไฟล์ แม่ค้าขอให้ลบออก
คุณลักษณะนี้จากการใช้งานของ ex และ vi.

ไม่ตรงกัน เหตุการณ์ที่เกิดขึ้น
จุดประสงค์ของวลี ``เขียนให้สมบูรณ์'' คือให้เขียนบัฟเฟอร์การแก้ไขทั้งหมด
เพื่อการจัดเก็บที่มั่นคง หมายเหตุเกี่ยวกับไฟล์ชั่วคราวมีไว้สำหรับการใช้งานที่
ใช้ไฟล์ชั่วคราวเพื่อแก้ไขบัฟเฟอร์ที่ไม่มีชื่อโดยผู้ใช้

ในอดีต SIGQUIT ถูกละเลยโดย exแต่เทียบเท่ากับ Q คำสั่งในการมองเห็น
โหมด; นั่นคือออกจากโหมดภาพและเข้าสู่ ex โหมด. POSIX.1-2008 อนุญาต แต่ทำ
ไม่ต้องการพฤติกรรมนี้ ในอดีต SIGINT มักถูกใช้โดย vi ผู้ใช้ที่จะยุติ
โหมดป้อนข้อความ ( ‐C มักจะเข้าง่ายกว่า ). การใช้งานบางอย่าง
of vi แจ้งเทอร์มินัลเกี่ยวกับเหตุการณ์นี้ และบางส่วนไม่ได้แจ้ง POSIX.1-2008 ต้องการสิ่งนั้น
SIGINT มีพฤติกรรมเหมือนกับ และเทอร์มินัลจะไม่ได้รับการแจ้งเตือน

ในอดีต การระงับ ex ตัวแก้ไขระหว่างโหมดป้อนข้อความคล้ายกับ SIGINT เช่น
บรรทัดที่เสร็จสมบูรณ์ยังคงอยู่ แต่บรรทัดบางส่วนถูกละทิ้ง และบรรณาธิการกลับมาที่
โหมดคำสั่ง POSIX.1‐2008 เงียบในประเด็นนี้ แนะนำให้นำไปปฏิบัติ
ปฏิบัติตามแนวปฏิบัติทางประวัติศาสตร์ ถ้าเป็นไปได้

ประวัติศาสตร์ vi เอดิเตอร์ไม่ถือว่า SIGTSTP เป็นเหตุการณ์แบบอะซิงโครนัส และมันคือ
ดังนั้นจึงไม่สามารถระงับโปรแกรมแก้ไขในโหมดป้อนข้อความแบบเห็นภาพได้ มีสองวิชาหลัก
เหตุผลนี้ อย่างแรกคือ SIGTSTP เป็นสัญญาณออกอากาศบนระบบ UNIX และ
ห่วงโซ่ของเหตุการณ์ที่เปลือก execเป็นแอปพลิเคชันที่แล้ว execs vi มักเกิด
ความสับสนสำหรับสถานะเทอร์มินัลถ้า SIGTSTP ถูกส่งไปยังกลุ่มกระบวนการใน
ลักษณะเริ่มต้น ประการที่สองคือการใช้งาน UNIX . ส่วนใหญ่ คำสาปแช่ง แพ็คเกจไม่ได้
ไม่จัดการกับ SIGTSTP อย่างปลอดภัย และการรับ SIGTSTP ผิดเวลาจะทำให้พวกเขา
ที่จะผิดพลาด POSIX.1‐2008 เงียบในประเด็นนี้ แนะนำให้นำไปปฏิบัติ
ระงับเป็นเหตุการณ์แบบอะซิงโครนัสถ้าเป็นไปได้

ในอดีต การปรับเปลี่ยนบัฟเฟอร์การแก้ไขที่ทำขึ้นก่อน SIGINT ขัดจังหวะการดำเนินการ
ถูกเก็บไว้; นั่นคือที่ใดก็ได้จากศูนย์ถึงทุกบรรทัดที่จะแก้ไขอาจมี
ได้รับการแก้ไขเมื่อถึงเวลาที่ SIGINT มาถึง การเปลี่ยนแปลงเหล่านี้ไม่ได้ถูกละทิ้งโดย
การมาถึงของ SIGINT POSIX.1-2008 อนุญาตพฤติกรรมนี้ โดยสังเกตว่า แก้ คำสั่งคือ
จำเป็นต้องสามารถยกเลิกคำสั่งที่เสร็จสิ้นบางส่วนเหล่านี้ได้

การดำเนินการสำหรับสัญญาณอื่นที่ไม่ใช่ SIGINT, SIGCONT, SIGHUP และ SIGTERM คือ
ไม่ระบุเนื่องจากการใช้งานบางอย่างพยายามบันทึกบัฟเฟอร์การแก้ไขในสถานะที่มีประโยชน์
เมื่อรับสัญญาณอื่นๆ

Standard ความผิดพลาด
สำหรับ ex/vi, ข้อความวินิจฉัยคือข้อความที่รายงานอันเป็นผลมาจากความพยายามที่ล้มเหลว
เรียก ex or viเช่นตัวเลือกที่ไม่ถูกต้องหรือทรัพยากรไม่เพียงพอหรือผิดปกติ
เงื่อนไขการสิ้นสุด ข้อความวินิจฉัยไม่ควรสับสนกับข้อความแสดงข้อผิดพลาด
สร้างโดยคำสั่งผู้ใช้ที่ไม่เหมาะสมหรือผิดกฎหมาย

การเขียนอักษรย่อ in ex และ vi
หาก ex คำสั่ง (นอกจาก cd, ชดีร์,หรือ แหล่ง) มีอาร์กิวเมนต์ชื่อไฟล์ หนึ่งหรือทั้งสองอย่าง
ชื่อพาธสำรองและชื่อพาธปัจจุบันจะถูกตั้งค่า อย่างไม่เป็นทางการมีการกำหนดดังนี้:

1 หาก ex คำสั่งคือคำสั่งแทนที่เนื้อหาของบัฟเฟอร์การแก้ไขและมัน
สำเร็จ ชื่อพาธปัจจุบันจะถูกตั้งค่าเป็นอาร์กิวเมนต์ชื่อไฟล์ (ตัวแรก
อาร์กิวเมนต์ชื่อไฟล์ในกรณีของ ถัดไป คำสั่ง) และชื่อพาธสำรองจะเป็น
ตั้งค่าเป็นชื่อพาธปัจจุบันก่อนหน้า หากมี

2. ในกรณีของไฟล์รูปแบบการอ่าน/เขียนของ อ่าน และ เขียน คำสั่งถ้ามี
ไม่มีชื่อพาธปัจจุบัน ชื่อพาธปัจจุบันจะถูกตั้งค่าเป็นอาร์กิวเมนต์ชื่อไฟล์

3. มิฉะนั้น ชื่อพาธสำรองจะถูกตั้งค่าเป็นอาร์กิวเมนต์ชื่อไฟล์

ตัวอย่างเช่น แก้ไข: foo และ :ฟื้นตัว fooเมื่อสำเร็จ ให้ตั้งชื่อพาธปัจจุบัน และ
หากมีชื่อพาธปัจจุบันก่อนหน้า ชื่อพาธสำรอง คำสั่ง :เขียน,
!สั่งการและ แก้ไข: ไม่ได้ตั้งชื่อพาธปัจจุบันหรือชื่ออื่น ถ้า แก้ไข: foo
คำสั่งล้มเหลวด้วยเหตุผลบางประการ จะมีการตั้งชื่อพาธสำรอง NS อ่าน และ
เขียน คำสั่งตั้งชื่อเส้นทางสำรองเป็น ไฟล์ อาร์กิวเมนต์ เว้นแต่ปัจจุบัน
ไม่ได้ตั้งค่าชื่อพาธ ซึ่งในกรณีนี้จะตั้งชื่อพาธปัจจุบันเป็น ไฟล์ ข้อโต้แย้ง
ชื่อพาธอื่นไม่ได้ถูกกำหนดโดย . ในอดีต :แหล่งที่มา สั่งการ. POSIX.1-2008
ต้องสอดคล้องกับการปฏิบัติทางประวัติศาสตร์ การดำเนินการเพิ่มคำสั่งที่ใช้
ขอแนะนำให้ตั้งชื่อไฟล์เป็นอาร์กิวเมนต์เพื่อตั้งชื่อพาธสำรองตามที่อธิบายไว้ที่นี่

ประวัติศาสตร์ ex และ vi อ่าน .exrc แฟ้มใน $ HOME ไดเร็กทอรีสองครั้ง ถ้าตัวแก้ไข
ถูกประหารชีวิตใน $ HOME ไดเร็กทอรี POSIX.1-2008 ห้ามพฤติกรรมนี้

ในอดีต 4 BSD ex และ vi อ่าน $ HOME และท้องถิ่น .exrc ไฟล์หากพวกเขาเป็นเจ้าของ
โดย ID จริงของผู้ใช้หรือ แหล่งข่าว ตั้งค่าตัวเลือกโดยไม่คำนึงถึงตัวเลือกอื่น
ข้อควรพิจารณา นี่เป็นปัญหาด้านความปลอดภัยเพราะสามารถใส่ UNIX . แบบปกติได้
คำสั่งของระบบภายใน a .exrc ไฟล์. POSIX.1-2008 ไม่ได้ระบุ แหล่งข่าว ตัวเลือก
และขอแนะนำให้ลบการใช้งานในอดีต

พื้นที่ .exrc ไฟล์ต้องเป็นของ ID จริงของผู้ใช้ และผู้อื่นไม่สามารถเขียนได้
กว่าเจ้าของ. ข้อยกเว้นสิทธิ์ที่เหมาะสมมีวัตถุประสงค์เพื่ออนุญาตให้ผู้ใช้
ได้รับสิทธิพิเศษ แต่ยังคงใช้ .exrc ไฟล์ในโฮมไดเร็กทอรีของพวกเขา

System V รีลีส 3.2 และใหม่กว่า vi การใช้งานเพิ่มตัวเลือก [ไม่] exrc. พฤติกรรม
คือท้องถิ่น .exrc ไฟล์เป็นแบบอ่านอย่างเดียวหากไฟล์ อดีต ตั้งค่าตัวเลือกแล้ว ค่าเริ่มต้นสำหรับ
อดีต ตัวเลือกถูกปิด ดังนั้นโดยค่าเริ่มต้น local .exrc ไฟล์ไม่ได้อ่าน ปัญหานี้คือ
ตั้งใจจะแก้คือว่า System V อนุญาตให้ผู้ใช้แจกไฟล์ได้จึงไม่มี
การทดสอบความเป็นเจ้าของหรือความสามารถในการเขียนที่เป็นไปได้เพื่อให้แน่ใจว่าไฟล์นั้นปลอดภัย นี่ยังคงเป็น
ปัญหาด้านความปลอดภัยบนระบบที่ผู้ใช้สามารถแจกไฟล์ได้ แต่ไม่มีอะไร
เพิ่มเติมที่ POSIX.1-2008 สามารถทำได้ ข้อยกเว้นที่กำหนดการใช้งานมีจุดมุ่งหมายเพื่อ
อนุญาตให้กลุ่มมีท้องถิ่น .exrc ไฟล์ที่แชร์โดยผู้ใช้ โดยการสร้าง pseudo-users
เพื่อเป็นเจ้าของไฟล์ที่แชร์

POSIX.1-2008 ไม่ได้กล่าวถึงทั้งระบบ ex และ vi ไฟล์เริ่มต้น ในขณะที่พวกเขามีอยู่ใน
การใช้งานหลายอย่างของ ex และ viไม่มีอยู่ในการใช้งานใด ๆ
พิจารณาการปฏิบัติทางประวัติศาสตร์โดย POSIX.1-2008 การใช้งานที่มีไฟล์ดังกล่าว
ควรใช้เฉพาะเมื่อเป็นเจ้าของโดย ID ผู้ใช้จริงหรือผู้ใช้ที่เหมาะสม (for
เช่น รูทบนระบบ UNIX) และหากผู้ใช้รายอื่นไม่สามารถเขียนได้
เจ้าของ. ควรอ่านไฟล์เริ่มต้นทั้งระบบก่อนไฟล์ ทางออก ตัวแปร, $HOME/.exrc,
หรือท้องถิ่น .exrc ไฟล์จะได้รับการประเมิน

ตามประวัติศาสตร์ ใดๆ ex สามารถป้อนคำสั่งใน ทางออก ตัวแปรหรือ .exrc ไฟล์,
แม้ว่าสิ่งที่ต้องการให้แก้ไขบัฟเฟอร์มีบรรทัดข้อความโดยทั่วไปแล้ว
ทำให้การปฏิบัติทางประวัติศาสตร์ของบรรณาธิการลดลง แกน. POSIX.1-2008 ต้องการสิ่งนั้น
ใด ex คำสั่งได้รับอนุญาตใน ทางออก ตัวแปรและ .exrc ไฟล์เพื่อความเรียบง่ายของ
ข้อมูลจำเพาะและความสอดคล้องแม้ว่าหลายคนจะเห็นได้ชัดว่าล้มเหลวภายใต้จำนวนมาก
พฤติการณ์

การเริ่มต้นเนื้อหาของบัฟเฟอร์การแก้ไขใช้วลี ``ผลกระทบจะต้อง
เป็น'' ในเรื่องต่างๆ ex คำสั่ง เจตนาของวลีนี้คือการแก้ไขบัฟเฟอร์
เนื้อหาที่โหลดระหว่างขั้นตอนการเริ่มต้นจะไม่สูญหาย นั่นคือกำลังโหลดการแก้ไข
บัฟเฟอร์ควรล้มเหลวหาก .exrc file อ่านในเนื้อหาของไฟล์และไม่ได้
ต่อมาเขียนบัฟเฟอร์การแก้ไข เจตนาเพิ่มเติมของวลีนี้คือระบุว่า
บรรทัดและคอลัมน์ปัจจุบันเริ่มต้นถูกกำหนดตามที่ระบุสำหรับบุคคล ex คำสั่ง

ประวัติศาสตร์ -t ตัวเลือกทำงานราวกับว่าการค้นหาแท็กเป็น a +คำสั่ง; นั่นคือมันเป็น
ดำเนินการจากบรรทัดสุดท้ายของไฟล์ที่ระบุโดยแท็ก ส่งผลให้มีการค้นหา
ล้มเหลวหากรูปแบบเป็นรูปแบบการค้นหาไปข้างหน้าและ แรปสแกน แก้ไขตัวเลือกไม่ได้
ชุด. POSIX.1-2008 ไม่อนุญาตให้มีพฤติกรรมนี้ โดยกำหนดให้ต้องค้นหาแท็ก
รูปแบบจะดำเนินการกับไฟล์ทั้งหมด และหากไม่พบ ให้ตั้งค่าบรรทัดปัจจุบัน
ไปยังตำแหน่งที่เหมาะสมกว่าในไฟล์

ในอดีต บัฟเฟอร์การแก้ไขที่ว่างเปล่าถูกนำเสนอสำหรับการแก้ไขเมื่อไฟล์ไม่ได้ถูกระบุโดย
ผู้ใช้ไม่มีชื่อ สิ่งนี้ได้รับอนุญาตโดย POSIX.1-2008; อย่างไรก็ตาม การนำไปปฏิบัติคือ
สนับสนุนให้ผู้ใช้ใช้ชื่อไฟล์ชั่วคราวสำหรับบัฟเฟอร์นี้เพราะอนุญาต
การใช้งานของ ex คำสั่งที่ใช้ชื่อพาธปัจจุบันระหว่างเซสชันการแก้ไขชั่วคราว

ตามประวัติ ไฟล์ที่ระบุโดยใช้เครื่องหมาย -t ตัวเลือกไม่ได้เป็นส่วนหนึ่งของอาร์กิวเมนต์ปัจจุบัน
รายการ. แนวปฏิบัตินี้ได้รับอนุญาตโดย POSIX.1-2008; อย่างไรก็ตาม แนะนำให้นำไปปฏิบัติ
เพื่อรวมชื่อในรายการอาร์กิวเมนต์ปัจจุบันเพื่อความสอดคล้อง

ประวัติศาสตร์ -ค โดยทั่วไปแล้วคำสั่งจะไม่ถูกดำเนินการจนกว่าจะมีไฟล์ที่มีอยู่แล้ว
ได้รับการแก้ไข POSIX.1‐2008 กำหนดให้สอดคล้องกับแนวปฏิบัติทางประวัติศาสตร์นี้ คำสั่งว่า
อาจทำให้ -ค คำสั่งที่จะดำเนินการรวมถึง ex คำสั่ง แก้ไข, ถัดไป, กู้,
ม้วนกลับและ แท็กและ vi คำสั่ง -^ และ -]. ตามประวัติศาสตร์ การอ่าน a
ไฟล์ลงในบัฟเฟอร์การแก้ไขไม่ได้ทำให้เกิด -ค คำสั่งที่จะดำเนินการ (แม้ว่ามันอาจจะ
ตั้งชื่อพาธปัจจุบัน) ยกเว้นว่าจะทำให้ -ค สั่งให้เป็น
ดำเนินการถ้า: บรรณาธิการอยู่ใน ex โหมด บัฟเฟอร์การแก้ไขไม่มีชื่อพาธปัจจุบัน edit
บัฟเฟอร์ว่างเปล่า และยังไม่ได้พยายามอ่านคำสั่ง เพื่อความสม่ำเสมอและ
ความเรียบง่ายของข้อกำหนด POSIX.1-2008 ไม่อนุญาตให้มีพฤติกรรมนี้

ประวัติศาสตร์ -ร ตัวเลือกจะเหมือนกับเซสชันแก้ไขปกติหากไม่มีการกู้คืน
ข้อมูลที่มีอยู่สำหรับไฟล์. อนุญาตให้ผู้ใช้ป้อน:

vi -ร *.ค

และกู้คืนไฟล์ใด ๆ ที่สามารถกู้คืนได้ ในการใช้งานบางอย่าง การกู้คืนคือ
พยายามเฉพาะในไฟล์แรกที่ตั้งชื่อและไฟล์นั้นไม่ได้ถูกป้อนเข้าไปในอาร์กิวเมนต์
รายการ; ในส่วนอื่นๆ มีการพยายามกู้คืนสำหรับแต่ละไฟล์ที่มีชื่อ นอกจากนี้บางประวัติศาสตร์
ละเว้นการนำไปใช้ -ร if -t ถูกระบุหรือไม่สนับสนุนบรรทัดคำสั่ง ไฟล์
ข้อโต้แย้งกับ -t ตัวเลือก. เพื่อความสม่ำเสมอและความเรียบง่ายของข้อกำหนด
POSIX.1-2008 ไม่อนุญาตให้มีกรณีพิเศษเหล่านี้ และต้องพยายามกู้คืน
ครั้งแรกที่แต่ละไฟล์ถูกแก้ไข

ประวัติศาสตร์ vi เริ่มต้น ` และ ' เครื่องหมาย แต่ ex ไม่ได้. นี่หมายความว่าถ้า
คำสั่งแรกใน ex โหมดคือ ภาพ หรือถ้าเป็น ex คำสั่งถูกดำเนินการก่อน (เช่น
vi +10 ไฟล์), vi ถูกป้อนโดยไม่มีการทำเครื่องหมายเริ่มต้น เพราะมาตรฐาน
นักพัฒนาเชื่อว่าเครื่องหมายดังกล่าวมีประโยชน์โดยทั่วไป และเพื่อความสม่ำเสมอและความเรียบง่าย
ของข้อกำหนด POSIX.1-2008 กำหนดให้มีการเริ่มต้นเสมอหากอยู่ใน open หรือ
โหมดภาพหรือถ้าใน ex โหมดและบัฟเฟอร์การแก้ไขไม่ว่างเปล่า ไม่เริ่มต้นใน ex
โหมดหากบัฟเฟอร์การแก้ไขว่างเปล่าเป็นการฝึกฝนทางประวัติศาสตร์ แต่ก็เป็นมาโดยตลอด
เป็นไปได้ที่จะตั้งค่า (และใช้งาน) เครื่องหมายในบัฟเฟอร์แก้ไขว่างในโหมดเปิดและโหมดแก้ไขภาพ
การประชุม

ที่อยู่
ประวัติศาสตร์ ex และ vi ยอมรับแบบฟอร์มที่อยู่เพิ่มเติม '\/' และ '\?'. พวกเขาเป็น
เทียบเท่ากับ "//" และ "??"ตามลำดับ POSIX.1-2008 ไม่จำเป็นต้องใช้โดยส่วนใหญ่
เพราะไม่มีใครจำได้ว่าพวกเขาเคยทำอะไรที่ต่างไปจากเดิมหรือไม่

ประวัติศาสตร์ ex และ vi อนุญาตที่อยู่ศูนย์สำหรับหลายคำสั่งและได้รับอนุญาต
% ที่อยู่ในไฟล์เปล่าสำหรับผู้อื่น เพื่อความสอดคล้อง POSIX.1-2008 ต้องการการสนับสนุน
สำหรับคำสั่งแรกในไม่กี่คำสั่งที่เหมาะสมและไม่อนุญาตเป็นอย่างอื่น ใน
นอกจากนี้ เนื่องจาก POSIX.1-2008 กำหนดให้ % มีเหตุผลเทียบเท่ากับ "1,$", มันคือ
ยังสนับสนุนในที่ที่เหมาะสมและไม่อนุญาตเป็นอย่างอื่น

ประวัติศาสตร์ % ไม่สามารถตามด้วยที่อยู่เพิ่มเติม เพื่อความสม่ำเสมอ
และความเรียบง่ายของข้อกำหนด POSIX.1-2008 กำหนดให้ที่อยู่เพิ่มเติมเป็น
ได้รับการสนับสนุน.

ทั้งหมดต่อไปนี้ถูกต้อง ที่อยู่:

+++ สามบรรทัดหลังบรรทัดปัจจุบัน

/re/− หนึ่งบรรทัดก่อนการเกิดขึ้นครั้งต่อไปของ re.

−2 สองบรรทัดก่อนบรรทัดปัจจุบัน

3 −−−− 2 บรรทัดที่หนึ่ง (หมายเหตุที่อยู่เชิงลบระดับกลาง)

1 2 3 บรรทัดที่หก

สามารถระบุที่อยู่จำนวนเท่าใดก็ได้ให้กับคำสั่งที่ใช้ที่อยู่ ตัวอย่างเช่น,
"1,2,3,4,5p" พิมพ์บรรทัดที่ 4 และ 5 เพราะสองเป็นจำนวนที่อยู่ที่ถูกต้องมากที่สุด
ได้รับการยอมรับจาก พิมพ์ สั่งการ. นี้ร่วมกับ ตัวคั่น,
อนุญาตให้ผู้ใช้สร้างคำสั่งตามรูปแบบที่สั่งในไฟล์ ตัวอย่างเช่น
คำสั่ง 3;/foo/;+2พิมพ์ จะแสดงบรรทัดแรกหลังบรรทัดที่ 3 ที่มีรูปแบบ
fooบวกสองบรรทัดถัดไป โปรดทราบว่าที่อยู่ 3; ต้องประเมินก่อนเป็น
ละทิ้งเพราะต้นทางการค้นหาสำหรับ /ฟู/ คำสั่งขึ้นอยู่กับสิ่งนี้

ในอดีต ค่าต่างๆ สามารถเพิ่มลงในที่อยู่ได้โดยการรวมไว้หลังหนึ่งรายการขึ้นไป
ตัวอักษร; ตัวอย่างเช่น, 3 - 5p เขียนบรรทัดที่เจ็ดของไฟล์และ /ฟู/ 5
ก็เหมือนกับ /ฟู/+5. อย่างไรก็ตาม สามารถเพิ่มได้เฉพาะค่าสัมบูรณ์เท่านั้น ตัวอย่างเช่น,
5 /ฟู/ เป็นข้อผิดพลาด POSIX.1-2008 ต้องสอดคล้องกับการปฏิบัติทางประวัติศาสตร์ ที่อยู่
ออฟเซ็ตถูกระบุแยกจากที่อยู่เนื่องจากอาจเป็น
ให้กับคำสั่งค้นหาโหมดภาพ

ในอดีต ที่อยู่ที่ขาดหายไปจะมีค่าเริ่มต้นเป็นบรรทัดปัจจุบัน นี่เป็นเรื่องจริงสำหรับ
นำหน้าและตามหลัง -คั่นที่อยู่และสำหรับต่อท้าย -คั่นด้วย
ที่อยู่ เพื่อความสม่ำเสมอ POSIX.1-2008 กำหนดให้ใช้สำหรับการเป็นผู้นำ ที่อยู่เป็น
ดี.

ประวัติศาสตร์ ex และ vi ยอมรับ '^' อักขระที่เป็นทั้งที่อยู่และเป็นออฟเซ็ตธง
สำหรับคำสั่ง ในทั้งสองกรณีก็เหมือนกับ '-' อักขระ. POSIX.1-2008 ไม่ได้
ต้องการหรือห้ามพฤติกรรมนี้

ในอดีต การปรับปรุงนิพจน์ทั่วไปพื้นฐานสามารถใช้ในการจัดการ
ตัวอย่างเช่น, '~', '\<'และ '\>'. POSIX.1-2008 ต้องสอดคล้องกับประวัติศาสตร์
ฝึกฝน; นั่นคือการใช้นิพจน์ทั่วไปนั้นสอดคล้องกันและนิพจน์ทั่วไปนั้น
รองรับการปรับปรุงนิพจน์ทุกที่ที่ใช้นิพจน์ทั่วไป

คำสั่ง Line วจีวิภาค in ex
ที่สำคัญทางประวัติศาสตร์ ex การแยกวิเคราะห์คำสั่งนั้นซับซ้อนกว่าที่อธิบายไว้ที่นี่ POSIX.1-2008
ต้องการชุดย่อยของการแยกวิเคราะห์คำสั่งที่นักพัฒนามาตรฐานเชื่อว่าเป็น
จัดทำเป็นเอกสารและคาดว่าผู้ใช้อย่างสมเหตุสมผลจะใช้ในรูปแบบพกพาและ
ที่มีความสอดคล้องกันในอดีตระหว่างการนำไปปฏิบัติ (ฟังก์ชันที่ถูกละทิ้งคือ
ปิดบังอย่างดีที่สุด) การใช้งานในอดีตจะต้องมีการเปลี่ยนแปลงเพื่อให้เป็นไปตาม
ด้วย POSIX.1–2008; อย่างไรก็ตาม ผู้ใช้ไม่ควรสังเกตเห็นการเปลี่ยนแปลงใดๆ เหล่านี้ ที่สุด
ของความซับซ้อนใน ex การแยกวิเคราะห์คือการจัดการกรณีการสิ้นสุดพิเศษสามกรณี:

ในปี 1 !, ทั่วโลก, vและเวอร์ชันตัวกรองของ อ่าน และ เขียน คำสั่งเป็นตัวคั่น
โดย ตัวอักษร (สามารถมี ตัวอักษรที่มักจะ
ท่อเปลือก)

ในปี 2 ex, แก้ไข, ถัดไปและ ภาพ ในโหมดเปิดและคำสั่งโหมดภาพทั้งหมดใช้เวลา ex คำสั่ง
ทางเลือกที่มี อักขระเป็นอาร์กิวเมนต์แรกของพวกเขา

ในปี 3 s คำสั่งใช้นิพจน์ทั่วไปเป็นอาร์กิวเมนต์แรกและใช้
การคั่นอักขระเพื่อคั่นคำสั่ง

ประวัติศาสตร์ ตัวละครใน +คำสั่ง อาร์กิวเมนต์ของ ex, แก้ไข, ถัดไป,
viและ ภาพ คำสั่งและใน Belt hold และ การแทนที่ ชิ้นส่วนของ s สั่งทำ
ไม่กำหนดขอบเขตคำสั่ง และในกรณีตัวกรองสำหรับ อ่าน และ เขียนและ !, ทั่วโลก,
และ v คำสั่งพวกเขาไม่ได้กำหนดขอบเขตคำสั่งเลย ตัวอย่างเช่นต่อไปนี้
คำสั่งทั้งหมดถูกต้อง:

:แก้ไข +25 | s/abc/ABC/ file.c
:s/ | /ท่อ/
:อ่าน !spell % | คอลัมน์
:ทั่วโลก/รูปแบบ/p | ล
:s/a/b/ | s/c/d | ชุด

ตามประวัติศาสตร์ ว่างเปล่า หรือ เติมเส้นใน .exrc ไฟล์และ แหล่งd ไฟล์ (เช่นเดียวกับ
ทางออก ตัวแปรและ ex สคริปต์คำสั่ง) ถือเป็นคำสั่งเริ่มต้น นั่นคือ, พิมพ์
คำสั่ง POSIX.1-2008 กำหนดให้ละเว้นเมื่อพบใน
.exrc และ แหล่งd ไฟล์เพื่อกำจัดแหล่งที่มาทั่วไปของข้อผิดพลาดของผู้ใช้ใหม่

ประวัติศาสตร์ ex คำสั่งที่มีหลายคำสั่งที่อยู่ติดกัน (หรือ -แยก) เส้นแนวตั้ง
ได้รับการจัดการอย่างผิดปกติเมื่อดำเนินการจาก ex โหมด. ตัวอย่างเช่น คำสั่ง ||| <carriage-
return> เมื่อเคอร์เซอร์อยู่ที่บรรทัดที่ 1 จะแสดงบรรทัดที่ 2, 3 และ 5 ของไฟล์ ใน
นอกจากนี้ คำสั่ง | จะแสดงเฉพาะบรรทัดหลังบรรทัดถัดไป แทนที่จะเป็น
สองบรรทัดถัดไป อดีตทำงานอย่างมีเหตุผลมากขึ้นเมื่อดำเนินการจาก vi โหมดและแสดง
บรรทัดที่ 2, 3 และ 4 POSIX.1-2008 ต้องการ vi พฤติกรรม; นั่นคือค่าเริ่มต้นเดียว
คำสั่งและหมายเลขบรรทัดที่เพิ่มขึ้นสำหรับตัวคั่นคำสั่งแต่ละตัวและต่อท้าย
ตัวอักษรหลังจาก ตัวคั่นจะถูกทิ้ง

ประวัติศาสตร์ ex อนุญาตพิเศษเดียว เป็นอักขระคำสั่งชั้นนำ สำหรับ
ตัวอย่าง, :g/pattern/:หน้า เป็นคำสั่งที่ถูกต้อง POSIX.1-2008 สรุปสิ่งนี้เพื่อกำหนดให้
ชั้นนำจำนวนเท่าใดก็ได้ ตัวละครจะถูกถอดออก

ตามประวัติศาสตร์ คำนำหน้าใดๆ ของ ลบ สามารถปฏิบัติตามคำสั่งได้โดยไม่แทรกแซง
อักขระโดยแฟล็ก อักขระเพราะในคำสั่ง d p, p ถูกตีความว่าเป็น
กันชน p. POSIX.1-2008 ต้องสอดคล้องกับการปฏิบัติทางประวัติศาสตร์

ประวัติศาสตร์ k คำสั่งสามารถตามด้วยชื่อเครื่องหมายโดยไม่แทรกแซง
ตัวอักษร POSIX.1-2008 ต้องสอดคล้องกับการปฏิบัติทางประวัติศาสตร์

ประวัติศาสตร์ s คำสั่งสามารถตามด้วยแฟล็กและอักขระตัวเลือกได้ทันที
ตัวอย่างเช่น, s/e/E/|s|sgc3p เป็นคำสั่งที่ถูกต้อง อย่างไรก็ตามอักขระธงไม่สามารถยืนได้
ตามลำพัง; เช่น คำสั่ง sp และ s l จะล้มเหลวในขณะที่คำสั่ง เอสจีพี และ s gl
จะประสบความสำเร็จ (เห็นได้ชัดว่า '#' อักขระธงถูกใช้เป็นตัวคั่นถ้าเป็น
ปฏิบัติตามคำสั่ง) อีกปัญหาหนึ่งคืออักขระตัวเลือกต้องนำหน้าแฟล็ก
อักขระแม้เมื่อระบุคำสั่งครบถ้วนแล้ว เช่น คำสั่ง s/e/E/หน้า
จะล้มเหลวในขณะที่คำสั่ง s/e/E/gp จะประสบความสำเร็จ POSIX.1-2008 ต้องสอดคล้องกับ
การปฏิบัติทางประวัติศาสตร์

ในอดีต ชื่อคำสั่งแรกที่มีคำนำหน้าตรงกับอินพุตจากผู้ใช้
เป็นคำสั่งที่ดำเนินการ ตัวอย่างเช่น, ve, Verและ ไปยัง ทั้งหมดดำเนินการ รุ่น คำสั่ง
คำสั่งอยู่ในลำดับที่เจาะจง ดังนั้น a จับคู่ ผนวกไม่ ย่อ.
POSIX.1-2008 ต้องสอดคล้องกับการปฏิบัติทางประวัติศาสตร์ ข้อจำกัดของคำสั่ง
ลำดับการค้นหาสำหรับการใช้งานด้วยส่วนขยายคือการหลีกเลี่ยงการเพิ่มคำสั่งดังกล่าว
ว่าคำนำหน้าทางประวัติศาสตร์จะไม่สามารถใช้งานได้

การใช้งานทางประวัติศาสตร์ของ ex และ vi ไม่ได้จัดการหลายอย่างถูกต้อง ex คำสั่ง
แยกจากกัน อักขระที่เข้าหรือออกจากโหมดภาพหรือตัวแก้ไข
เนื่องจากการดำเนินการของ vi ที่มีอยู่ซึ่งไม่แสดงโหมดความล้มเหลวนี้ POSIX.1-2008
ไม่อนุญาต

ข้อกำหนดที่ชื่อคำสั่งตัวอักษรประกอบด้วยตัวอักษรต่อไปนี้ทั้งหมด
อักขระถึงอักขระที่ไม่ใช่ตัวอักษรถัดไปหมายความว่าชื่อคำสั่งตัวอักษร
ต้องแยกออกจากข้อโต้แย้งด้วยอักขระที่ไม่ใช่ตัวอักษรตั้งแต่หนึ่งตัวขึ้นไปโดยปกติ
เอ หรือ '!' อักขระยกเว้นที่ระบุไว้สำหรับข้อยกเว้น the ลบ, kและ s
คำสั่ง

ในอดีต การดำเนินการซ้ำๆ ของ ex ผิดนัด พิมพ์ คำสั่ง ( -D, EOF,
, ) ลบอักขระที่แจ้งและแสดงบรรทัดถัดไป
โดยไม่ต้องเลื่อนเทอร์มินัล นั่นคือด้านล่างบรรทัดที่แสดงก่อนหน้านี้ทันที
นี้ให้การนำเสนอที่สะอาดยิ่งขึ้นของบรรทัดในไฟล์สำหรับผู้ใช้ POSIX.1-2008
ไม่ต้องการพฤติกรรมนี้เพราะอาจเป็นไปไม่ได้ในบางสถานการณ์ อย่างไรก็ตาม,
ขอแนะนำให้ใช้งานเพื่อให้ความหมายนี้ถ้าเป็นไปได้

ในอดีต มันเป็นไปได้ที่จะเปลี่ยนไฟล์ที่อยู่ตรงกลางของคำสั่ง และมี
คำสั่งที่เหลือดำเนินการในไฟล์ใหม่ ตัวอย่างเช่น:

แก้ไข: +25 ไฟล์.ค | ส/เอบีซี/เอบีซี/ | 1

เป็นคำสั่งที่ถูกต้อง และมีการพยายามแทนที่ในไฟล์ที่แก้ไขใหม่
POSIX.1-2008 ต้องสอดคล้องกับการปฏิบัติทางประวัติศาสตร์ คำสั่งต่อไปนี้คือ
ตัวอย่างที่ออกกำลังกาย ex พาร์เซอร์:

เสียงสะท้อน 'ฟู | บาร์' > ไฟล์1; เสียงสะท้อน 'ฟู/บาร์' > ไฟล์2;
vi
แก้ไข: +1 | ส/|/ท่อ/ | w file1 | e file2 | 1 | s/\//สแลช/ | wq

ในอดีต ไม่มีการป้องกันในการใช้งานตัวแก้ไขเพื่อหลีกเลี่ยง ex ทั่วโลก, v, @,
or * คำสั่งเปลี่ยนบัฟเฟอร์การแก้ไขระหว่างดำเนินการคำสั่งที่เกี่ยวข้อง เพราะ
นี้เกือบจะส่งผลให้เกิดความล้มเหลวอย่างร้ายแรงของบรรณาธิการและ
มีการนำไปใช้ซึ่งแสดงปัญหาเหล่านี้ POSIX.1-2008 ต้องการให้มีการเปลี่ยนแปลง
บัฟเฟอร์การแก้ไขระหว่างa ทั่วโลก or v คำสั่งหรือระหว่าง a @ or * ซึ่งคำสั่งนั้น
จะเป็นมากกว่าการดำเนินการครั้งเดียวเป็นข้อผิดพลาด การดำเนินการสนับสนุนหลาย
ขอแนะนำให้แก้ไขบัฟเฟอร์พร้อมกันเพื่อใช้ความหมายเดียวกันกับ
สลับไปมาระหว่างบัฟเฟอร์เช่นกัน

พื้นที่ ex การอ้างอิงคำสั่งที่กำหนดโดย POSIX.1-2008 เป็นชุดของการอ้างอิงในอดีต
การใช้งานของบรรณาธิการ ตัวอย่างเช่น ในอดีตไม่สามารถหนี a . ได้
ในชื่อไฟล์; ตัวอย่างเช่น, แก้ไข: ฟู\\\ บาร์ จะรายงานว่าชื่อไฟล์มากเกินไป
ถูกป้อนสำหรับคำสั่งแก้ไข และไม่มีวิธีหนี a ใน
อาร์กิวเมนต์แรกของ an แก้ไข, ex, ถัดไป,หรือ ภาพ สั่งได้เลย POSIX.1-2008 ขยายออก
แนวปฏิบัติทางประวัติศาสตร์ กำหนดให้พฤติกรรมการอ้างถึงต้องสอดคล้องกันทุกประการ ex
คำสั่ง ยกเว้น แผนที่, เปิดแผนที่, ย่อและ ย่อ คำสั่งซึ่ง
ใช้ในอดีต -V แทน ตัวอักษรสำหรับอ้างอิง สำหรับผู้ที่
สี่คำสั่ง POSIX.1-2008 ต้องสอดคล้องกับการปฏิบัติทางประวัติศาสตร์

เครื่องหมายแบ็กสแลชใน ex เป็นแบบไม่ใช้สัญชาตญาณ -การหลบหนีจะถูกละเว้นเว้นแต่พวกเขาจะ
หลบหนีจากตัวละครพิเศษ ตัวอย่างเช่น เมื่อดำเนินการ ไฟล์ การขยายอาร์กิวเมนต์ the
เชือก "\\%" เทียบเท่ากับ '\%', ไม่ "\ปัจจุบัน ชื่อพา ธ>" สิ่งนี้อาจทำให้ .สับสนได้
ผู้ใช้เพราะ มักจะเป็นหนึ่งในตัวละครที่ทำให้เกิดการขยายเชลล์ไป
ถูกดำเนินการ ดังนั้นจึงต้องคำนึงถึงกฎการเสนอราคาเชลล์
โดยทั่วไป อักขระที่อ้างอิงจะพิจารณาก็ต่อเมื่ออักขระเหล่านั้นไม่ใช้อักขระพิเศษ และ
ต้องระบุอักขระอ้างอิงสำหรับการแยกวิเคราะห์แต่ละชั้นที่อักขระเป็น
พิเศษ. อีกตัวอย่างหนึ่งเท่านั้น เป็นสิ่งจำเป็นสำหรับ '\l' ลำดับ
ในรูปแบบการทดแทนแทนเพราะว่าตัวอักษร ฉัน ไม่ได้พิเศษอะไร
แยกชั้นเหนือมัน

‐V การอ้างอิงใน ex แตกต่างเล็กน้อยจากการอ้างอิงแบ็กสแลช ในสี่
คำสั่งที่ ‐V ใบเสนอราคาใช้ (ย่อ, ย่อ, แผนที่และ เปิดแผนที่), ใด ๆ
ตัวละครอาจหนีโดย a ‐V ไม่ว่าจะมีความหมายพิเศษหรือไม่
POSIX.1-2008 ต้องสอดคล้องกับการปฏิบัติทางประวัติศาสตร์

การใช้งานในอดีตของบรรณาธิการไม่ต้องการตัวคั่นภายในอักขระ
ชั้นเรียนที่จะหลบหนี เช่น คำสั่ง :s/[/]// บนสาย "xxx/ปปปป" จะ
ลบ '/' จากสตริง POSIX.1-2008 ไม่อนุญาตการปฏิบัติทางประวัติศาสตร์สำหรับ
ความสม่ำเสมอและเนื่องจากเป็นภาระใหญ่ในการนำไปปฏิบัติโดยกำหนดให้
ความรู้เกี่ยวกับนิพจน์ทั่วไปมีอยู่ในตัวแก้ไข parser

ในอดีต การอ้างอิง ตัวอักษรใน ex คำสั่งได้รับการจัดการที่ไม่สอดคล้องกัน ใน
ส่วนใหญ่ อักขระจะยกเลิกคำสั่งเสมอโดยไม่คำนึงถึง
นำหน้าอักขระหนี เพราะ ตัวละครไม่รอด
ตัวอักษรสำหรับส่วนใหญ่ ex คำสั่ง อย่างไรก็ตาม บางส่วน ex คำสั่งต่างๆ (เช่น s, แผนที่และ
ตัวย่อ) ได้รับอนุญาต ตัวละครที่จะหลบหนี (แม้ว่าในกรณีของ แผนที่
และ ตัวย่อ, อักขระ ‐V หนีพวกเขาแทน ตัวอักษร)
สิ่งนี้เป็นจริงไม่เพียงแต่ในบรรทัดคำสั่งแต่ยัง .exrc และ แหล่งd ไฟล์ ตัวอย่างเช่น,
คำสั่ง:

แผนที่ = ฟู บาร์

จะประสบความสำเร็จแม้ว่าบางครั้งมันก็ยากที่จะได้รับ ‐V และส่วนแทรก
ผ่านไปยัง ex พาร์เซอร์ เพื่อความสม่ำเสมอและความเรียบง่ายของข้อกำหนด
POSIX.1-2008 กำหนดให้สามารถหลบหนีได้ ตัวอักษรใน ex คำสั่งที่
ตลอดเวลาโดยใช้ ตัวอักษรสำหรับส่วนใหญ่ ex คำสั่งและการใช้ -V
ตัวอักษรสำหรับ แผนที่ และ ตัวย่อ คำสั่ง ตัวอย่างเช่น คำสั่ง
พิมพ์รายการ จะต้องแยกวิเคราะห์เป็นคำสั่งเดียว พิมพ์รายการ.
แม้ว่าสิ่งนี้จะแตกต่างจากการปฏิบัติในอดีต แต่นักพัฒนา POSIX.1-2008 เชื่อว่าไม่น่าเป็นไปได้
ว่าสคริปต์หรือผู้ใช้ใด ๆ ขึ้นอยู่กับพฤติกรรมในอดีต

ในอดีต ข้อผิดพลาดในคำสั่งที่ระบุโดยใช้ -ค ตัวเลือกไม่ได้ทำให้เกิดส่วนที่เหลือ
ของ -ค คำสั่งที่จะละทิ้ง POSIX.1-2008 ไม่อนุญาตสิ่งนี้เพื่อให้สอดคล้องกับ
กุญแจที่แมป the @, ทั่วโลก, แหล่งและ v คำสั่ง ทางออก ตัวแปรสภาพแวดล้อมและ
.exrc ไฟล์

อินพุต การตัดต่อ in ex
หนึ่งในการใช้ทั่วไปของประวัติศาสตร์ ex ตัวแก้ไขผ่านการเชื่อมต่อเครือข่ายที่ช้า
ผู้แก้ไขที่ทำงานในโหมดบัญญัติอาจต้องการการรับส่งข้อมูลเข้าและออกน้อยกว่ามาก และน้อยกว่ามาก
กำลังประมวลผล เครื่องโฮสต์ ตลอดจนรองรับเทอร์มินัลโหมดบล็อกได้ง่ายขึ้น
ด้วยเหตุผลเหล่านี้ POSIX.1-2008 จึงกำหนดให้ ex ดำเนินการโดยใช้อินพุตโหมดบัญญัติ
การประมวลผลดังที่เคยทำมาในอดีต

POSIX.1-2008 ไม่ต้องการอักขระแก้ไขอินพุต BSD 4 ตัวในอดีต ``word Erase''
หรือ ``ต่อไปตามตัวอักษร'' ด้วยเหตุผลนี้จึงไม่ระบุว่าจะจัดการอย่างไรโดย ex,
แม้ว่าจะต้องมีผลบังคับก็ตาม การดำเนินการที่แก้ไขได้หลังจาก
สิ้นสุดบรรทัดโดยใช้ a หรือ ‐M ตัวอักษรและการใช้งานที่
อาศัยการรองรับเทอร์มินัลของระบบที่อยู่ภายใต้สำหรับการประมวลผลนี้ ทั้งคู่มีความสอดคล้องกัน
การดำเนินการจะถูกกระตุ้นอย่างยิ่งให้ใช้ฟังก์ชันพื้นฐานของระบบ ถ้าอย่างนั้น
เป็นไปได้ เพื่อความเข้ากันได้กับอินเทอร์เฟซการป้อนข้อความของระบบอื่นๆ

ในอดีต เมื่อ EOF อักขระถูกใช้เพื่อลด อัตโนมัติ ระดับ
เลื่อนเคอร์เซอร์เพื่อแสดงจุดสิ้นสุดใหม่ของ อัตโนมัติ ตัวอักษร แต่ไม่ได้ย้าย
เคอร์เซอร์ไปที่บรรทัดใหม่ และไม่ได้ลบ ‐D อักขระจากบรรทัด
POSIX.1-2008 ไม่ได้ระบุว่าเคอร์เซอร์ยังคงอยู่ในบรรทัดเดียวกันหรือส่วนที่เหลือของ
บรรทัดถูกลบ อย่างไรก็ตาม ขอแนะนำให้ใช้งานเพื่อให้ดีที่สุด
ส่วนต่อประสานผู้ใช้ที่เป็นไปได้ นั่นคือ เคอร์เซอร์ควรอยู่ในบรรทัดเดียวกันและใดๆ
‐D อักขระบนบรรทัดควรถูกลบ

POSIX.1-2008 ไม่ต้องการอักขระแก้ไขอินพุต 4 BSD ในอดีต ``พิมพ์ซ้ำ''
ตามธรรมเนียม ‐R ซึ่งแสดงอินพุตปัจจุบันจากผู้ใช้อีกครั้ง สำหรับสิ่งนี้
เหตุผลและเนื่องจากฟังก์ชั่นไม่สามารถดำเนินการได้หลังจากที่บรรทัดได้รับ
ยกเลิกโดยผู้ใช้ POSIX.1‐2008 ไม่มีข้อกำหนดเกี่ยวกับฟังก์ชันนี้
ขอแนะนำให้ดำเนินการใช้งานเพื่อให้มีฟังก์ชันในอดีตนี้ if
เป็นไปได้

ประวัติศาสตร์ ‐Q ไม่ได้ทำหน้าที่ถัดไปตามตัวอักษรใน exอย่างที่เคยทำใน vi.
POSIX.1‐2008 กำหนดให้สอดคล้องกับแนวปฏิบัติทางประวัติศาสตร์เพื่อหลีกเลี่ยงการทำลายประวัติศาสตร์ ex
สคริปต์และ .exrc ไฟล์

EOF
ไม่ว่าจะเป็น EOF อักขระจะแก้ไข .ทันที อัตโนมัติ อักขระในพรอมต์คือ
ทิ้งไว้โดยไม่ระบุเพื่อให้การนำไปปฏิบัติสามารถสอดคล้องกับระบบที่ทำ
ไม่รองรับฟังก์ชันนี้ ขอแนะนำให้ดำเนินการแก้ไขบรรทัดและ
แสดงซ้ำทันทีหากเป็นไปได้

ข้อกำหนดของการจัดการของ EOF ตัวละครแตกต่างจากการปฏิบัติทางประวัติศาสตร์
ในนั้นเท่านั้น EOF อักขระจะไม่ถูกละทิ้งหากปฏิบัติตามอักขระปกติในข้อความ
ป้อนข้อมูล. ในอดีตพวกเขาถูกทิ้งอยู่เสมอ

คำสั่ง คำอธิบาย in ex
ในอดีต คำสั่งต่างๆ (เช่น ทั่วโลก, v, ภาพ, s, เขียน, wq, งัด, !, <,
>, &และ ~) สามารถเรียกใช้งานได้ในไฟล์เปล่า (นั่นคือ ที่อยู่เริ่มต้นคือ 0) หรือ
อนุญาตที่อยู่ที่ชัดเจนของ 0 (เช่น 0 เป็นที่อยู่ที่ถูกต้องหรือ 0,0 เป็น valid
พิสัย). ที่อยู่ 0 หรือการเรียกใช้คำสั่งในไฟล์เปล่า เหมาะสมสำหรับ . เท่านั้น
คำสั่งที่เพิ่มข้อความใหม่ในบัฟเฟอร์แก้ไขหรือเขียนคำสั่ง (เพราะผู้ใช้อาจต้องการ
เขียนไฟล์เปล่า) POSIX.1-2008 ต้องการพฤติกรรมนี้สำหรับคำสั่งดังกล่าวและไม่อนุญาต
มิฉะนั้น เพื่อความสอดคล้องและความเรียบง่ายของข้อกำหนด

นับถึง an ex คำสั่งในอดีตได้ถูกแก้ไขให้ไม่ยิ่งใหญ่ไปกว่าคำสั่งสุดท้าย
บรรทัดในไฟล์; ตัวอย่างเช่น ในไฟล์ห้าบรรทัด คำสั่ง 1,6 พิมพ์ จะล้มเหลว แต่
คำสั่ง 1พิมพ์300 จะประสบความสำเร็จ POSIX.1-2008 ต้องสอดคล้องกับการปฏิบัติทางประวัติศาสตร์

ในอดีต การใช้ธงใน ex คำสั่งอาจคลุมเครือ ประวัติศาสตร์ทั่วไป
การปฏิบัติเป็นไปตามที่อธิบายไว้โดย POSIX.1-2008 แต่มีบางกรณีพิเศษ สำหรับ
ตัวอย่าง the รายการ, จำนวนและ พิมพ์ คำสั่งละเว้นการชดเชยที่อยู่ต่อท้าย สำหรับ
ตัวอย่าง, 3p +### จะแสดงบรรทัดที่ 3 และ 3 จะเป็นบรรทัดปัจจุบันหลังการดำเนินการ
ของคำสั่ง ดิ เปิด และ ภาพ คำสั่งละเว้นทั้งออฟเซ็ตต่อท้ายและ
ธงต่อท้าย นอกจากนี้ แฟล็กที่ระบุให้กับ เปิด และ ภาพ คำสั่งโต้ตอบไม่ดี
กับ รายการ แก้ไขตัวเลือกและการตั้งค่าแล้วยกเลิกการตั้งค่าในระหว่างการเปิด/ภาพ
เซสชันจะทำให้ vi เพื่อหยุดแสดงเส้นในรูปแบบที่กำหนด เพื่อความสม่ำเสมอ
และความเรียบง่ายของข้อกำหนด POSIX.1-2008 ไม่อนุญาตให้มีข้อยกเว้นใดๆ เหล่านี้ถึง
กฎทั่วไป

POSIX.1-2008 ใช้คำว่า สำเนา ในหลาย ๆ ที่เมื่อพูดถึงบัฟเฟอร์ มันไม่ใช่
มุ่งหมายเพื่อนำไปปฏิบัติ

ประวัติศาสตร์ ex ผู้ใช้ไม่สามารถระบุบัฟเฟอร์ตัวเลขได้เนื่องจากความกำกวมนี้
จะทำให้; เช่น ในคำสั่ง 3 ลบ 2, ไม่ชัดเจนว่า 2 เป็นบัฟเฟอร์หรือไม่
ชื่อหรือ นับ. POSIX.1-2008 กำหนดให้สอดคล้องกับแนวปฏิบัติทางประวัติศาสตร์โดยปริยาย แต่
ไม่ได้ขัดขวางการขยาย

ในอดีต เนื้อหาของบัฟเฟอร์ที่ไม่มีชื่อมักถูกละทิ้งหลังจากคำสั่ง
ที่ไม่ส่งผลกระทบอย่างชัดเจน ตัวอย่างเช่น เมื่อใช้ แก้ไข คำสั่งเปลี่ยน
ไฟล์. เพื่อความสอดคล้องและความเรียบง่ายของข้อกำหนด POSIX.1-2008 ไม่อนุญาตให้ทำสิ่งนี้
พฤติกรรม

พื้นที่ ex ในอดีตยูทิลิตี้ไม่สามารถเข้าถึงบัฟเฟอร์ตัวเลขได้ และยิ่งไปกว่านั้น
การลบบรรทัดใน ex ไม่ได้แก้ไขเนื้อหาของพวกเขา ตัวอย่างเช่น ถ้าหลังจากทำการลบ
in vi, ผู้ใช้เปลี่ยนเป็น ex, ทำการลบอื่นแล้วเปลี่ยนกลับเป็น viที่
เนื้อหาของบัฟเฟอร์ตัวเลขจะไม่เปลี่ยนแปลง POSIX.1-2008 ต้องการความสอดคล้อง
สู่การปฏิบัติทางประวัติศาสตร์ บัฟเฟอร์ตัวเลขอธิบายไว้ใน ex ยูทิลิตี้เพื่อที่จะ
จำกัดคำอธิบายของบัฟเฟอร์ไว้ที่ตำแหน่งเดียวใน POSIX.1-2008

อักขระเมตาที่กระตุ้นการขยายตัวของเชลล์ใน ไฟล์ อาร์กิวเมนต์ตรงกับประวัติศาสตร์
การปฏิบัติเช่นเดียวกับวิธีการทำการขยายเชลล์ การดำเนินการที่ต้องการให้
ผู้ใช้ที่มีความยืดหยุ่นในการเปลี่ยนแปลงชุดของอักขระเมตาได้รับการสนับสนุนให้ provide
เชลล์เมตา ตัวเลือกการแก้ไขสตริง

ประวัติศาสตร์ ex คำสั่งที่ดำเนินการจาก vi รีเฟรชหน้าจอเมื่อไม่ได้เคร่งครัด
จำเป็นต้องทำเช่นนั้น ตัวอย่างเช่น, :!วันที่ > / dev / null ไม่ต้องการการรีเฟรชหน้าจอเพราะ
ผลลัพธ์ของ UNIX ข้อมูล คำสั่งต้องการเพียงบรรทัดเดียวของหน้าจอ
POSIX.1-2008 กำหนดให้รีเฟรชหน้าจอหากถูกเขียนทับ แต่ทำให้
ไม่มีข้อกำหนดว่าการดำเนินการควรกำหนดอย่างไร
การใช้งานอาจแจ้งและรีเฟรชหน้าจอโดยไม่คำนึงถึง

ย่อ
แนวปฏิบัติทางประวัติศาสตร์คืออักขระที่ป้อนเป็นส่วนหนึ่งของตัวย่อ
การทดแทนอยู่ภายใต้ แผนที่ การขยายตัว โชว์แมตช์ แก้ไขตัวเลือกเพิ่มเติม
ตัวย่อขยายและอื่น ๆ ; นั่นคือพวกเขาถูกผลักไปที่เทอร์มินัลอย่างมีเหตุผล
อินพุตคิวและไม่ใช่การแทนที่ง่ายๆ POSIX.1-2008 ต้องสอดคล้องกับ
การปฏิบัติทางประวัติศาสตร์ การปฏิบัติทางประวัติศาสตร์คือเมื่อใดก็ตามที่อักขระที่ไม่ใช่คำ (ที่มี
ไม่ได้หลบหนีโดย ‐V) ถูกป้อนหลังอักขระคำ vi จะตรวจสอบสำหรับ
ตัวย่อ การตรวจสอบขึ้นอยู่กับประเภทของอักขระที่ป้อนก่อนคำว่า
อักขระของคู่คำ/ไม่ใช่คำที่ทริกเกอร์การตรวจสอบ อักขระคำของ
คู่คำ/ไม่ใช่คำที่ทริกเกอร์การตรวจสอบและอักขระทั้งหมดที่ป้อนก่อนทริกเกอร์
คู่ที่เป็นประเภทนั้นรวมอยู่ในเช็ค ยกเว้น
อักขระซึ่งคั่นด้วยตัวย่อเสมอ

ซึ่งหมายความว่า สำหรับตัวย่อทำงาน the ลส ต้องลงท้ายด้วยตัวอักษรคำ
ไม่สามารถเปลี่ยนจากคำเป็นอักขระที่ไม่ใช่คำได้ (หรือ รอง ในทางกลับกัน) นอกเหนือจากนี้
ระหว่างอักขระตัวสุดท้ายและตัวถัดไปในเครื่องหมาย ลสและไม่มี
ตัวละครใน ลส. นอกจากนี้ เนื่องจากกฎการเสนอราคาในอดีต มันคือ
เป็นไปไม่ได้ที่จะป้อนตามตัวอักษร -V ใน ลส. POSIX.1-2008 ต้องการความสอดคล้อง
สู่การปฏิบัติทางประวัติศาสตร์ การใช้งานในอดีตไม่ได้แจ้งให้ผู้ใช้ทราบเมื่อมีตัวย่อ
ที่ไม่สามารถใช้ได้ถูกป้อน; ขอแนะนำให้ใช้งานจริง

ตัวอย่างเช่น ตัวย่อต่อไปนี้จะใช้ได้:

: ab (p REPLACE
: ab p REPLACE
: ab ((ผ REPLACE

ตัวย่อต่อไปนี้จะไม่ทำงาน:

: ab ( REPLACE
: ab (หน้า REPLACE

การปฏิบัติทางประวัติศาสตร์คือคำที่เกี่ยวกับ vi บรรทัดคำสั่งโคลอนอยู่ภายใต้
การขยายคำย่อรวมถึงอาร์กิวเมนต์ของ ตัวย่อ (และที่น่าสนใจกว่านั้น) the
ไม่ย่อ สั่งการ. เนื่องจากมีการใช้งานที่ไม่ทำการขยายย่อ
สำหรับอาร์กิวเมนต์แรกของคำสั่งเหล่านั้น ได้รับอนุญาต แต่ไม่จำเป็น โดย
POSIX.1–2008. อย่างไรก็ตาม ลำดับต่อไปนี้:

: ab foo บาร์
: ab foo ฐาน

ส่งผลให้มีการเติมอักษรย่อของ "บาส" สำหรับสตริง "บาร์" ในประวัติศาสตร์
ex/viและลำดับ:

: ab ฟู1 บาร์
: ab ฟู2 บาร์
:ย่อๆ ฟู2

ลบตัวย่อ "ฟู1"ไม่ "ฟู2". พฤติกรรมเหล่านี้ไม่ได้รับอนุญาตจาก
POSIX.1‐2008 เนื่องจากละเมิดความคาดหวังของผู้ใช้อย่างชัดเจน

มันเป็นการปฏิบัติทางประวัติศาสตร์ที่ -V ไม่ใช่ , อักขระจะถูกตีความว่า
หนีอักขระที่ตามมาใน ย่อ สั่งการ. POSIX.1-2008 ต้องการ
ความสอดคล้องกับการปฏิบัติทางประวัติศาสตร์ อย่างไรก็ตามควรสังเกตว่าคำย่อ
ประกอบด้วย จะไม่มีวันทำงาน

ผนวก
ตามประวัติศาสตร์ ข้อความใด ๆ ที่ตามหลัง a ตัวคั่นคำสั่งหลัง an ผนวก,
เปลี่ยนแปลง,หรือ แทรก คำสั่งกลายเป็นส่วนหนึ่งของข้อความแทรก ตัวอย่างเช่นในคำสั่ง:

:g/pattern/ต่อท้าย|stuff1

บรรทัดที่มีข้อความ "สิ่งของ1" จะถูกผนวกเข้ากับรูปแบบการจับคู่แต่ละบรรทัด มัน
ถูกต้องตามประวัติศาสตร์ในการป้อน:

:ผนวก|stuff1
สิ่งของ2
.

และข้อความบน ex บรรทัดคำสั่งจะถูกต่อท้ายพร้อมกับข้อความที่แทรกหลัง
มัน. อย่างไรก็ตาม มีข้อผิดพลาดทางประวัติศาสตร์ที่ผู้ใช้ต้องป้อนสองครั้งเพื่อยุติ
เส้น (the '.' บรรทัด) เพื่อยุติโหมดป้อนข้อความในกรณีนี้ POSIX.1-2008 ต้องการ
สอดคล้องกับการปฏิบัติทางประวัติศาสตร์ แต่ไม่อนุญาตความต้องการทางประวัติศาสตร์สำหรับทวีคูณ
สิ้นสุดบรรทัด

เปลี่ยนแปลง
ดูเหตุผลสำหรับ ผนวก สั่งการ. แนวปฏิบัติทางประวัติศาสตร์สำหรับการวางตำแหน่งเคอร์เซอร์หลัง
คำสั่ง change เมื่อไม่มีการป้อนข้อความ ตามที่อธิบายไว้ใน POSIX.1-2008 อย่างไรก็ตาม หนึ่ง
เป็นที่ทราบกันดีว่าการใช้งาน System V ได้รับการแก้ไขเพื่อให้เคอร์เซอร์อยู่ในตำแหน่ง
ในที่อยู่แรกที่ระบุ ไม่ใช่ในบรรทัดที่อยู่ข้างหน้าที่อยู่แรก POSIX.1-2008
ไม่อนุญาตการแก้ไขนี้เพื่อความสอดคล้อง

ประวัติศาสตร์ เปลี่ยนแปลง คำสั่งไม่สนับสนุนอาร์กิวเมนต์บัฟเฟอร์แม้ว่าบาง
การใช้งานช่วยให้สามารถระบุบัฟเฟอร์เสริมได้ พฤติกรรมนี้ไม่ใช่ทั้ง
บังคับหรือไม่ได้รับอนุญาตโดย POSIX.1-2008

เปลี่ยนแปลง ค้นหาสถานที่
ส่วนขยายทั่วไปใน ex การใช้งานคือการใช้องค์ประกอบของa ซีดีพาธ แก้ไขตัวเลือกเป็น
ไดเรกทอรีนำหน้าสำหรับ เส้นทาง ข้อโต้แย้งถึง ชดีร์ ที่เป็นชื่อพาธสัมพัทธ์และไม่
มี '.' or ".." เป็นองค์ประกอบแรกของพวกเขา องค์ประกอบใน ซีดีพาธ แก้ไขตัวเลือกคือ
-แยกออกจากกัน. ค่าเริ่มต้นของ ซีดีพาธ แก้ไขตัวเลือกคือค่าของเชลล์
CDPATH ตัวแปรสภาพแวดล้อม คุณลักษณะนี้ไม่รวมอยู่ใน POSIX.1-2008 เนื่องจากมีคุณสมบัติ
ไม่มีอยู่ในการดำเนินการใด ๆ ที่ถือว่าเป็นการปฏิบัติทางประวัติศาสตร์

คัดลอก
การใช้งานทางประวัติศาสตร์ของ ex อนุญาตให้คัดลอกไปยังบรรทัดภายในช่วงที่ระบุ
ตัวอย่างเช่น, :2,5สำเนา3 เป็นคำสั่งที่ถูกต้อง POSIX.1-2008 ต้องสอดคล้องกับ
การปฏิบัติทางประวัติศาสตร์

ลบ
POSIX.1-2008 ต้องการการสนับสนุนการแยกวิเคราะห์ทางประวัติศาสตร์ของa ลบ คำสั่งตามด้วย
ธงโดยไม่มีการแทรกแซงใด ๆ ตัวอักษร ตัวอย่างเช่น:

1dp ลบบรรทัดแรกและพิมพ์บรรทัดที่สอง

1หลับ ส่วน 1dp.

1d ลบบรรทัดแรก บันทึกไว้ในบัฟเฟอร์ p.

1d พีทูแอล (พี่หนึ่งเอลล์.) ลบบรรทัดแรก บันทึกไว้ในบัฟเฟอร์ pและรายการบรรทัด
นั่นคือที่สอง

Edit
ตามประวัติศาสตร์ ใดๆ ex สามารถป้อนคำสั่งเป็น a +คำสั่ง อาร์กิวเมนต์เพื่อ แก้ไข สั่งการ,
แม้ว่าบางส่วน (เช่น แทรก และ ผนวก) เป็นที่รู้กันว่าสร้างความสับสนให้ประวัติศาสตร์
การใช้งาน เพื่อความสอดคล้องและความเรียบง่ายของข้อกำหนด POSIX.1-2008 ต้องใช้
ว่าคำสั่งใด ๆ ได้รับการสนับสนุนเป็นอาร์กิวเมนต์ของ แก้ไข คำสั่ง

ในอดีต อาร์กิวเมนต์ของคำสั่งถูกดำเนินการโดยตั้งค่าบรรทัดปัจจุบันเป็นบรรทัดสุดท้าย
ของไฟล์โดยไม่คำนึงถึงว่า แก้ไข คำสั่งถูกดำเนินการจากโหมดภาพหรือไม่
POSIX.1-2008 ต้องสอดคล้องกับการปฏิบัติทางประวัติศาสตร์

ประวัติศาสตร์ +คำสั่ง ระบุไว้ใน แก้ไข และ ถัดไป คำสั่งถูกคั่นด้วย
แรก และไม่มีทางที่จะอ้างอิงได้ เพื่อความสอดคล้อง POSIX.1-2008 ต้องใช้
ที่ปกติ ex มีการเสนอราคาแบ็กสแลช

ตามประวัติศาสตร์ ระบุ +คำสั่ง อาร์กิวเมนต์ของคำสั่ง edit จำเป็นต้องมีชื่อไฟล์เป็น
ระบุไว้เช่นกัน; ตัวอย่างเช่น, แก้ไข: +100 จะล้มเหลวเสมอ เพื่อความสม่ำเสมอและ
ความเรียบง่ายของข้อกำหนด POSIX.1-2008 ไม่อนุญาตให้ใช้งานนี้ล้มเหลวสำหรับสิ่งนั้น
เหตุผล.

ในอดีต เฉพาะตำแหน่งเคอร์เซอร์ของไฟล์ที่แก้ไขล่าสุดเท่านั้นที่ . จดจำได้
บรรณาธิการ POSIX.1-2008 กำหนดให้สิ่งนี้ได้รับการสนับสนุน อย่างไรก็ตาม การนำไปปฏิบัติคือ
ได้รับอนุญาตให้จดจำและเรียกคืนตำแหน่งเคอร์เซอร์สำหรับไฟล์ใด ๆ ที่แก้ไขก่อนหน้านี้

เนื้อไม่มีมัน
เวอร์ชันประวัติศาสตร์ของ ex บรรณาธิการ ไฟล์ คำสั่งแสดงบรรทัดปัจจุบันและจำนวน
บรรทัดในบัฟเฟอร์การแก้ไข 0 เมื่อไฟล์ว่างเปล่าในขณะที่ vi คำสั่ง G
แสดงบรรทัดปัจจุบันและจำนวนบรรทัดในบัฟเฟอร์การแก้ไข 1 ในเดียวกัน
สถานการณ์. POSIX.1-2008 ไม่อนุญาตให้มีความคลาดเคลื่อนนี้ แต่ต้องการข้อความแทน
จะแสดงขึ้นเพื่อแสดงว่าไฟล์นั้นว่างเปล่า

เหตุการณ์ที่
การดำเนินการสองรอบของ ทั่วโลก และ v คำสั่งไม่ได้หมายความถึง
การดำเนินการเฉพาะผลการดำเนินการที่จำเป็นเท่านั้น

บรรทัดและคอลัมน์ปัจจุบันถูกกำหนดตามที่ระบุสำหรับแต่ละบุคคล ex คำสั่ง นี้
ความต้องการเป็นแบบสะสม นั่นคือบรรทัดและคอลัมน์ปัจจุบันต้องติดตามทั้งหมด
คำสั่งที่ดำเนินการโดย ทั่วโลก or v คำสั่ง

สิ่งที่ใส่เข้าไป
ดูเหตุผลสำหรับ ผนวก คำสั่ง

ประวัติศาสตร์ แทรก ไม่สามารถใช้กับที่อยู่ศูนย์ได้ นั่นคือไม่ใช่เมื่อแก้ไข
บัฟเฟอร์ว่างเปล่า POSIX.1-2008 กำหนดให้คำสั่งนี้ทำงานอย่างสม่ำเสมอกับ
ผนวก คำสั่ง

ร่วมเป็นผู้ขายกับเราที่
การกระทำของ ร่วม คำสั่งที่เกี่ยวข้องกับอักขระพิเศษถูกกำหนดไว้สำหรับ .เท่านั้น
โลแคล POSIX เนื่องจากจำนวนช่องว่างที่ถูกต้องหลังจากช่วงเวลาหนึ่งแตกต่างกันไป ใน
ไม่จำเป็นต้องใช้ภาษาญี่ปุ่น ในภาษาฝรั่งเศสเพียงช่องว่างเดียวเท่านั้น และอื่นๆ

รายการ
ผลลัพธ์ทางประวัติศาสตร์ของ รายการ คำสั่งอาจคลุมเครือ มาตรฐาน
นักพัฒนาเชื่อว่าการแก้ไขนี้สำคัญกว่าการปฏิบัติตามประวัติศาสตร์
การปฏิบัติ และ POSIX.1-2008 ต้องการผลลัพธ์ที่ชัดเจน

แผนที่
ในอดีต แผนที่โหมดคำสั่งใช้กับชื่อคำสั่งเท่านั้น ตัวอย่างเช่น ถ้า
ตัวอักษร 'NS' ถูกแมปไปยัง 'ย', คำสั่ง fx ค้นหา 'NS' ตัวละครไม่ใช่
'ย' อักขระ. POSIX.1-2008 ต้องการพฤติกรรมนี้ ประวัติศาสตร์ เข้า -V as
อักษรตัวแรกของ a vi คำสั่งเกิดข้อผิดพลาด การใช้งานหลายอย่างได้ขยายออกไป
ความหมายของ vi ดังนั้น ‐V หมายความว่าอักขระคำสั่งที่ตามมาคือ
ไม่ได้แมป สิ่งนี้ได้รับอนุญาต แต่ไม่จำเป็น โดย POSIX.1-2008 ไม่ว่าจะใช้
‐V เพื่อหลีกหนีจากอักขระตัวที่สองหรือภายหลังในลำดับของอักขระที่อาจ
ตรงกับ แผนที่ คำสั่งหรืออักขระใด ๆ ในโหมดป้อนข้อความคือการปฏิบัติทางประวัติศาสตร์และ
หยุดคีย์ที่ป้อนจากการจับคู่แผนที่ POSIX.1-2008 ต้องสอดคล้องกับ
การปฏิบัติทางประวัติศาสตร์

การใช้งานในอดีต ตัวเลขที่อนุญาตให้ใช้เป็น a แผนที่ คำสั่ง ลส, แต่แล้ว
ละเลยแผนที่ POSIX.1-2008 กำหนดให้ต้องไม่ละเว้นตัวเลขที่แมป

การดำเนินการทางประวัติศาสตร์ของ แผนที่ คำสั่งไม่อนุญาต แผนที่ คำสั่งที่เป็น
มีความยาวอักขระมากกว่าหนึ่งตัว ถ้าอักขระตัวแรกสามารถพิมพ์ได้ พฤติกรรมนี้
ได้รับอนุญาต แต่ไม่จำเป็น โดย POSIX.1-2008

ในอดีต อักขระที่แมปถูกทำการแมปใหม่เว้นแต่ ทำการแมป ไม่ได้ตั้งค่าตัวเลือกแก้ไขหรือ
คำนำหน้าของอักขระที่จับคู่กับอักขระการทำแผนที่ ตัวอย่างเช่นใน
แผนที่:

:แผนที่ ab ABCD

ตัวอักษร "แอ๊บ" ถูกใช้ตามที่เป็นอยู่และไม่ได้ทำการรีแมป แต่เป็นตัวอักษร "ซีดี" คือ
แผนที่ถ้าเหมาะสม สิ่งนี้สามารถทำให้เกิดลูปอนันต์ใน vi กลไกการทำแผนที่
POSIX.1‐2008 กำหนดให้สอดคล้องกับแนวปฏิบัติทางประวัติศาสตร์ และวนรอบดังกล่าวจะเป็น
ขัดจังหวะ

แมปป้อนข้อความมีปัญหาเดียวกันกับการขยาย ลส สำหรับ ex แผนที่! และ ยกเลิกการแมป!
คำสั่งเช่นเดียวกับ ex ย่อ และ ย่อ คำสั่ง ดูเหตุผลสำหรับ ex
ย่อ สั่งการ. POSIX.1-2008 ต้องการการปรับเปลี่ยนแนวปฏิบัติทางประวัติศาสตร์บางอย่างที่คล้ายกัน
สำหรับ แผนที่ และ เปิดแผนที่ คำสั่งตามที่อธิบายไว้สำหรับ ย่อ และ ย่อ คำสั่ง

ประวัติศาสตร์ แผนที่ที่เป็นสับเซตของอย่างอื่น แผนที่พฤติกรรมแตกต่างกันไปขึ้นอยู่กับ
ตามลำดับที่กำหนดไว้ ตัวอย่างเช่น:

:แผนที่! ab Short
:แผนที่! abc ยาว

มักจะแปลตัวอักษร "แอ๊บ" ไปยัง "สั้น"โดยไม่คำนึงถึงความเร็วของ
อักขระ "เอบีซี" ถูกป้อน หากกลับลำดับรายการ:

:แผนที่! abc ยาว
:แผนที่! ab Short

ตัวอักษร "แอ๊บ" จะทำให้บรรณาธิการหยุดรอการเสร็จสิ้น 'ค'
อักขระและอักขระอาจไม่ถูกแมปกับ "สั้น". เพื่อความสม่ำเสมอและ
ความเรียบง่ายของข้อกำหนด POSIX.1-2008 กำหนดให้ใช้การจับคู่ที่สั้นที่สุดเลย
ครั้ง

ระยะเวลาที่บรรณาธิการใช้ในการรอให้อักขระเสร็จสิ้น ลส is
ไม่ระบุเนื่องจากความสามารถด้านจังหวะเวลาของระบบมักจะไม่แน่นอนและเป็นตัวแปร และ
อาจขึ้นอยู่กับปัจจัยอื่นๆ เช่น ความเร็วในการเชื่อมต่อ เวลาควรจะเป็น
นานพอให้ผู้ใช้ทำตามลำดับได้ แต่ไม่นานพอสำหรับ
ผู้ใช้ต้องรอ การใช้งานบางอย่างของ vi ได้เพิ่ม คีย์ไทม์ ตัวเลือกซึ่ง
อนุญาตให้ผู้ใช้ตั้งค่าจำนวน 0,1 วินาทีที่เอดิเตอร์รอการเสร็จสิ้น
ตัวอักษร เนื่องจากฟังก์ชันเทอร์มินัลที่แมปและปุ่มเคอร์เซอร์มักจะขึ้นต้นด้วย an
ตัวละครและ คือจุดจบที่สำคัญ vi โหมดป้อนข้อความ, แผนที่เริ่มต้นด้วย
โดยทั่วไปแล้วอักขระจะได้รับการยกเว้นจากช่วงเวลาหมดเวลานี้ หรืออย่างน้อยก็หมดเวลา
ต่างกัน

ทำเครื่องหมาย
ในอดีต ผู้ใช้สามารถตั้งค่าเครื่องหมาย ``บริบทก่อนหน้า'' ได้อย่างชัดเจน ใน
นอกจากนี้ ex คำสั่ง '' และ '` และ vi คำสั่ง '', ``, `'และ '` ทั้งหมดอ้างถึง
เครื่องหมายเดียวกัน นอกจากนี้ ไม่ได้ตั้งค่าเครื่องหมายบริบทก่อนหน้านี้หากคำสั่งด้วย
ซึ่งการตั้งค่าที่อยู่เครื่องหมายถูกเชื่อมโยง ล้มเหลว POSIX.1-2008 ต้องการ
สอดคล้องกับการปฏิบัติทางประวัติศาสตร์ ในอดีต หากบรรทัดที่ทำเครื่องหมายถูกลบ เครื่องหมาย
ถูกลบด้วย แต่จะปรากฏขึ้นอีกครั้งหากการเปลี่ยนแปลงถูกยกเลิก POSIX.1-2008 ต้องการ
สอดคล้องกับการปฏิบัติทางประวัติศาสตร์

คำอธิบายของกิจกรรมพิเศษที่กำหนด ` และ ' เครื่องหมายตรงกับประวัติศาสตร์
ฝึกฝน. ตัวอย่างเช่น ในอดีตคำสั่ง /ก/,/ข/ ไม่ได้ตั้งค่า ` และ ' เครื่องหมาย แต่
คำสั่ง /a/,/b/ลบ ไม่

ถัดไป
ตามประวัติศาสตร์ ใดๆ ex สามารถป้อนคำสั่งเป็น a +คำสั่ง อาร์กิวเมนต์เพื่อ ถัดไป สั่งการ,
แม้ว่าบางส่วน (เช่น แทรก และ ผนวก) เป็นที่รู้กันว่าสร้างความสับสนให้ประวัติศาสตร์
การใช้งาน POSIX.1-2008 กำหนดให้คำสั่งใด ๆ ได้รับอนุญาตและทำงานเป็น
ระบุไว้ NS ถัดไป คำสั่งสามารถรับได้มากกว่าหนึ่งไฟล์ ดังนั้นการใช้งานเช่น:

ถัดไป `ล [เอบีซี] `

ถูกต้อง; ไม่จำเป็นต้องถูกต้องสำหรับ แก้ไข or อ่าน คำสั่ง เช่น เพราะพวกเขา
คาดหวังเพียงชื่อไฟล์เดียวเท่านั้น

ประวัติศาสตร์ ถัดไป คำสั่งมีพฤติกรรมแตกต่างจาก :ย้อนกลับ สั่งให้มัน
ละเว้นธงบังคับถ้า เขียนอัตโนมัติ ธงถูกตั้งค่า เพื่อความสอดคล้อง POSIX.1-2008 ทำ
ไม่อนุญาตให้มีพฤติกรรมนี้

ประวัติศาสตร์ ถัดไป คำสั่งวางตำแหน่งเคอร์เซอร์ราวกับว่าไฟล์ไม่เคยได้รับการแก้ไข
มาก่อนไม่ว่า POSIX.1-2008 ไม่อนุญาตให้มีพฤติกรรมนี้ เพื่อความสอดคล้องกับ
แก้ไข คำสั่ง

การดำเนินการที่ต้องการจัดหาคู่ให้กับ ถัดไป คำสั่งที่แก้ไข
ไฟล์ก่อนหน้านี้ใช้คำสั่ง ก่อนหน้า], ซึ่งไม่ ไฟล์ การโต้เถียง. POSIX.1-2008
ไม่ต้องการคำสั่งนี้

จุดเปิด
ประวัติศาสตร์ เปิด คำสั่งจะล้มเหลวหาก เปิด ไม่ได้ตั้งค่าตัวเลือกการแก้ไข
POSIX.1-2008 ไม่ได้กล่าวถึง เปิด แก้ไขตัวเลือกและไม่ต้องการพฤติกรรมนี้
การใช้งานในอดีตบางอย่างไม่อนุญาตให้เข้าสู่โหมดเปิดจากโหมดเปิดหรือโหมดภาพ
จาก ex โหมด. เพื่อความสอดคล้อง POSIX.1‐2008 ไม่อนุญาตให้มีพฤติกรรมนี้

ในอดีต การเข้าสู่โหมดเปิดจากบรรทัดคำสั่ง (นั่นคือ vi +เปิด) ส่งผลให้
พฤติกรรมผิดปกติ ตัวอย่างเช่น ex ไฟล์และ ชุด คำสั่งและ vi คำสั่ง
-G ไม่ทำงาน เพื่อความสอดคล้อง POSIX.1‐2008 ไม่อนุญาตให้มีพฤติกรรมนี้

ประวัติศาสตร์ เปิด อนุญาตเฉพาะคำสั่ง '/' ตัวอักษรเพื่อใช้ในการค้นหา
ตัวคั่นรูปแบบ เพื่อความสอดคล้อง POSIX.1-2008 กำหนดให้ใช้ตัวคั่นการค้นหา
โดย s, ทั่วโลกและ v ยอมรับคำสั่งด้วย

อนุรักษ์
พื้นที่ เก็บ คำสั่งไม่ได้ทำให้ไฟล์ถูกพิจารณาว่าไม่มีการแก้ไขสำหรับ
วัตถุประสงค์ของคำสั่งในอนาคตที่อาจออกจากตัวแก้ไข POSIX.1-2008 ต้องการ
สอดคล้องกับการปฏิบัติทางประวัติศาสตร์

เอกสารทางประวัติศาสตร์ระบุว่าอีเมลไม่ได้ส่งถึงผู้ใช้เมื่อถูกเก็บรักษาไว้
ประหารชีวิต; อย่างไรก็ตาม การใช้งานในอดีตได้ส่งอีเมลในกรณีนี้ POSIX.1-2008
ต้องสอดคล้องกับการดำเนินการทางประวัติศาสตร์

พิมพ์
การเขียน NUL โดย พิมพ์ คำสั่งไม่ได้กำหนดเป็นกรณีพิเศษเพราะว่า
นักพัฒนามาตรฐานไม่ต้องการ ex เพื่อรองรับอักขระ NUL ประวัติศาสตร์
อักขระถูกแสดงโดยใช้การแมปมาตรฐาน ARPA ซึ่งมีดังนี้:

1. อักขระที่พิมพ์ได้จะถูกทิ้งให้อยู่ตามลำพัง

2. อักขระควบคุมที่น้อยกว่า 177 จะแสดงเป็น '^' ตามด้วยตัวอักษร
ชดเชยจาก '@' ตัวละครในแผนที่ ASCII; ตัวอย่างเช่น \007 จะแสดงเป็น
'^จี'.

3. \177 แสดงเป็น '^' ตามมาด้วย '?'.

การแสดงอักขระที่มีชุดบิตที่แปดมีมาตรฐานน้อยกว่า ที่มีอยู่
การใช้งานใช้เลขฐานสิบหก (0x00), ฐานแปด (\000) และการแสดงเมตาบิต (หลัง
ไบต์ที่แสดงซึ่งมีบิตที่แปดตั้งเป็นอักขระสองตัว "ม-" ตามด้วย
การแสดงผลเจ็ดบิตตามที่อธิบายไว้ข้างต้น) หลังอาจมีการอ้างสิทธิ์ที่ดีที่สุด
การปฏิบัติทางประวัติศาสตร์เพราะใช้สำหรับ -v ตัวเลือก 4 BSD และ 4 BSD ที่ได้มาจาก
รุ่นของ แมว ยูทิลิตี้ตั้งแต่ปีพ. ศ. 1980

POSIX.1-2008 ไม่ต้องการรูปแบบการแสดงผลที่เฉพาะเจาะจง

หากเป็นไปได้ หลีกเลี่ยงการพึ่งพาชุดอักขระ ASCII อย่างชัดเจน ดังนั้น
การใช้วลี ``ลำดับอักขระหลายตัวที่กำหนดการใช้งาน'' สำหรับการแสดงผล
ของอักขระที่ไม่สามารถพิมพ์ได้ตามความต้องการ เช่น "^ฉัน"
สำหรับ . การดำเนินการได้รับการสนับสนุนเพื่อให้สอดคล้องกับการปฏิบัติทางประวัติศาสตร์ใน
ไม่มีเหตุผลที่ชัดเจนที่จะแตกต่าง

ตามประวัติศาสตร์ ทั้งหมด ex คำสั่งที่ขึ้นต้นด้วยอักษร 'NS' สามารถป้อนได้โดยใช้
คำสั่งเวอร์ชันตัวพิมพ์ใหญ่ ตัวอย่างเช่น, พิมพ์], อนุรักษ์]และ ใส่] ทุกคน
ชื่อคำสั่งที่ถูกต้อง POSIX.1-2008 อนุญาต แต่ไม่จำเป็น การปฏิบัติทางประวัติศาสตร์นี้
เนื่องจากรูปแบบตัวพิมพ์ใหญ่ของคำสั่งถูกใช้โดยการใช้งานบางอย่างเพื่อวัตถุประสงค์อื่น

ใส่
ตามประวัติศาสตร์ an ex ใส่ คำสั่งที่ดำเนินการจากโหมดเปิดหรือโหมดภาพ เหมือนกับคำสั่ง
โหมดเปิดหรือภาพ P คำสั่ง ถ้าบัฟเฟอร์ถูกตั้งชื่อและถูกตัดในโหมดอักขระและ
เช่นเดียวกับ p คำสั่งถ้าบัฟเฟอร์ถูกตั้งชื่อและตัดในโหมดบรรทัด หากไม่มีชื่อ
บัฟเฟอร์เป็นที่มาของข้อความ ทั้งบรรทัดที่ใช้นำข้อความนั้นมา
มักจะ ใส่และบัฟเฟอร์ถูกจัดการราวกับว่าอยู่ในโหมดบรรทัด แต่เป็นไปได้ที่จะได้รับ
พฤติกรรมที่ผิดปกติอย่างมาก นอกจากนี้ การใช้ Q คำสั่งให้เปลี่ยนเป็น ex โหมดและ
แล้วทำ ใส่ มักทำให้เกิดข้อผิดพลาดด้วย เช่น การต่อท้ายข้อความว่า
ไม่เกี่ยวข้องกับเนื้อหา (ที่คาดคะเน) ของบัฟเฟอร์ เพื่อความสม่ำเสมอและความเรียบง่ายของ
ข้อกำหนด POSIX.1-2008 ไม่อนุญาตให้มีพฤติกรรมเหล่านี้ ทั้งหมด ex ใส่ คำสั่งคือ
จำเป็นต้องทำงานในโหมดบรรทัด และเนื้อหาของบัฟเฟอร์จะไม่เปลี่ยนแปลงโดย
เปลี่ยนโหมดของบรรณาธิการ

อ่าน
ตามประวัติศาสตร์ an ex อ่าน คำสั่งที่ดำเนินการจากโหมดเปิดหรือโหมดภาพ ดำเนินการในช่องว่าง
file ให้เว้นบรรทัดว่างไว้เป็นบรรทัดแรกของไฟล์ เพื่อความสม่ำเสมอและความเรียบง่ายของ
ข้อกำหนด POSIX.1-2008 ไม่อนุญาตให้มีพฤติกรรมนี้ ตามประวัติศาสตร์ a อ่าน เปิด
หรือโหมดภาพจากโปรแกรมปล่อยเคอร์เซอร์ไว้ที่บรรทัดสุดท้ายที่อ่านไม่ใช่บรรทัดแรก สำหรับ
ความสอดคล้อง POSIX.1‐2008 ไม่อนุญาตให้มีพฤติกรรมนี้

การใช้งานทางประวัติศาสตร์ของ ex ไม่สามารถยกเลิกได้ อ่าน คำสั่งที่อ่านจาก
ผลลัพธ์ของโปรแกรม เพื่อความสอดคล้อง POSIX.1‐2008 ไม่อนุญาตให้มีพฤติกรรมนี้

ประวัติศาสตร์ ex และ vi ข้อความหลังจากประสบความสำเร็จ อ่าน or เขียน คำสั่งที่ระบุ
``อักขระ'' ไม่ใช่ ``ไบต์'' POSIX.1-2008 กำหนดให้จำนวนไบต์เป็น
แสดงผลไม่ใช่จำนวนอักขระเพราะอาจใช้ multi-byte . ได้ยาก
การใช้งานเพื่อกำหนดจำนวนตัวอักษรที่อ่าน สนับสนุนให้นำไปปฏิบัติ
เพื่อชี้แจงข้อความที่แสดงต่อผู้ใช้

ในอดีต ไม่อนุญาตให้อ่านไฟล์อื่นนอกเหนือจากประเภทปกติ ยกเว้น FIFO
สามารถอ่านไฟล์ได้ (อาจเป็นเพราะไม่มีเมื่อ ex และ vi คือ
เดิมเขียน) เพราะประวัติศาสตร์ ex ประเมิน อ่าน! และ อ่าน ! อย่างเท่าเทียมกัน
ไม่มีทางเลือกอื่นในการบังคับอ่าน POSIX.1-2008 อนุญาต แต่ไม่
ต้องการพฤติกรรมนี้

กู้
การใช้งานในอดีตของตัวแก้ไขอนุญาตให้ผู้ใช้กู้คืนบัฟเฟอร์การแก้ไข
เนื้อหาจากเซสชันแก้ไขก่อนหน้า แล้วออกโดยไม่บันทึกเนื้อหาเหล่านั้น (หรือ
ละทิ้งอย่างชัดเจน) เจตนาของ POSIX.1-2008 ที่ต้องการให้แก้ไขบัฟเฟอร์
ถือว่าแก้ไขแล้วเพื่อป้องกันข้อผิดพลาดของผู้ใช้รายนี้

ม้วนกลับ
การใช้งานในอดีตสนับสนุน ม้วนกลับ คำสั่งเมื่อผู้ใช้กำลังแก้ไข
ไฟล์แรกในรายการ; นั่นคือไฟล์ที่ ม้วนกลับ คำสั่งจะแก้ไข POSIX.1-2008
ต้องสอดคล้องกับการปฏิบัติทางประวัติศาสตร์

แทน
ประวัติศาสตร์ ex ยอมรับและ r ตัวเลือก s สั่งการ. ผลกระทบของ r ตัวเลือกคือเพื่อ
ใช้นิพจน์ทั่วไปสุดท้ายที่ใช้ในคำสั่งใดๆ เป็นรูปแบบ เช่นเดียวกับ ~
คำสั่ง r POSIX.1-2008 ไม่จำเป็นต้องใช้ตัวเลือก ตามประวัติศาสตร์ c และ g ตัวเลือก
ถูกสลับ; เช่น คำสั่ง :s/abc/def/ ก็เหมือนกับ s/abc/def/ccccgggg.
เพื่อความง่ายของข้อกำหนด POSIX.1‐2008 ไม่อนุญาตให้มีพฤติกรรมนี้

คำสั่ง tilde มักใช้เพื่อแทนที่การค้นหา RE ครั้งล่าสุด ตัวอย่างเช่น ใน
ลำดับ:

ส/แดง/น้ำเงิน/
/สีเขียว
~

~ คำสั่งเทียบเท่ากับ:

เอส/เขียว/น้ำเงิน/

ประวัติศาสตร์ ex ยอมรับแบบฟอร์มต่อไปนี้ทั้งหมด:

s/เอบีซี/def/
s/เอบีซี/def
ส/เอบีซี/
เอส/เอบีซี

POSIX.1‐2008 กำหนดให้สอดคล้องกับแนวปฏิบัติทางประวัติศาสตร์นี้

พื้นที่ s คำสั่งสันนิษฐานว่า '^' ตัวอักษรตรงบริเวณคอลัมน์เดียวใน
แสดง. ส่วนใหญ่ของ ex และ vi ข้อกำหนดสันนิษฐานว่า ตรงบริเวณ
คอลัมน์เดียวในจอแสดงผล ไม่มีชุดอักขระที่รู้จักซึ่งไม่ใช่ชุดอักขระนี้
จริง

ในอดีต ตำแหน่งคอลัมน์สุดท้ายสำหรับคำสั่งทดแทนอิงจากตำแหน่งก่อนหน้า
การเคลื่อนไหวของคอลัมน์ การค้นหารูปแบบตามด้วยการแทนที่จะออกจากคอลัมน์
ตำแหน่งไม่เปลี่ยนแปลงในขณะที่คำสั่ง 0 ที่ตามด้วยการแทนที่จะเปลี่ยนคอลัมน์
ตำแหน่งแรกที่ไม่ใช่ . เพื่อความสม่ำเสมอและความเรียบง่ายของข้อกำหนด
POSIX.1-2008 กำหนดให้ตำแหน่งคอลัมน์สุดท้ายถูกตั้งค่าเป็นอันดับแรกเสมอ
ไม่ใช่ .

ชุด
การใช้งานในอดีตได้แสดงตัวเลือกทั้งหมดอีกครั้งสำหรับการเกิดขึ้นแต่ละครั้งของ ทั้งหมด
คำสำคัญ. POSIX.1-2008 อนุญาต แต่ไม่ต้องการ พฤติกรรมนี้

แท็ก
ไม่มีข้อกำหนดว่าอยู่ที่ไหน ex และ vi จะมองหาไฟล์ที่อ้างอิงโดย tag
รายการ. การปฏิบัติทางประวัติศาสตร์คือการมองหาเส้นทางที่พบใน แท็ก ไฟล์ขึ้นอยู่กับ
ไดเร็กทอรีปัจจุบัน ส่วนขยายที่มีประโยชน์ที่พบในการใช้งานบางอย่างคือการดูตาม
ในไดเร็กทอรีที่มีไฟล์แท็กที่มีรายการอยู่ด้วย ไม่มีข้อกำหนดคือ
ทำขึ้นเพื่อใช้อ้างอิงสำหรับแท็กในไฟล์แท็ก นี่เป็นการจงใจใน
เพื่ออนุญาตให้มีส่วนขยายเช่นหลายรายการในไฟล์แท็กสำหรับแท็ก

เนื่องจากผู้ใช้มักระบุไฟล์แท็กต่างๆ จำนวนมาก ซึ่งบางไฟล์ไม่จำเป็นต้องมีความเกี่ยวข้องกัน
หรือมีอยู่ในช่วงเวลาใดเวลาหนึ่ง POSIX.1‐2008 กำหนดให้ข้อความแสดงข้อผิดพลาดเกี่ยวกับปัญหานั้น
ไฟล์แท็กจะแสดงเฉพาะเมื่อไม่พบแท็กที่ร้องขอ จากนั้นเพียงครั้งเดียวสำหรับ
ทุกครั้งที่ แท็ก แก้ไขตัวเลือกมีการเปลี่ยนแปลง

ความต้องการที่ไม่แก้ไขบัฟเฟอร์การแก้ไขปัจจุบันมีความจำเป็นเฉพาะในกรณีที่ file
ระบุโดยรายการแท็กไม่เหมือนกับไฟล์ปัจจุบัน (ตามที่กำหนดโดยcurrent
ชื่อพาธ) ในอดีต ไฟล์จะถูกโหลดซ้ำหากชื่อไฟล์มีการเปลี่ยนแปลงเช่นกัน
ราวกับว่าชื่อไฟล์ต่างจากชื่อพาธปัจจุบัน เพื่อความสม่ำเสมอและความเรียบง่าย
ของข้อกำหนด POSIX.1-2008 ไม่อนุญาตให้มีพฤติกรรมนี้โดยกำหนดให้ชื่อเป็น
ปัจจัยเดียวในการตัดสินใจ

ประวัติศาสตร์ vi ค้นหาเฉพาะแท็กในไฟล์ปัจจุบันจากเคอร์เซอร์ปัจจุบันไปที่
ท้ายไฟล์ ดังนั้น ถ้า แรปสแกน ไม่ได้ตั้งค่าตัวเลือก แท็กเกิดขึ้นก่อน
ไม่พบเคอร์เซอร์ปัจจุบัน POSIX.1-2008 ถือว่านี่เป็นจุดบกพร่อง และการใช้งาน
จะต้องค้นหาการเกิดขึ้นครั้งแรกในไฟล์โดยไม่คำนึงถึง

แก้
พื้นที่ แก้ คำอธิบายจงใจใช้คำว่า ``ดัดแปลง'' ดิ แก้ คำสั่งไม่ได้
ตั้งใจที่จะเลิกทำคำสั่งที่แทนที่เนื้อหาของบัฟเฟอร์การแก้ไขเช่น แก้ไข,
ถัดไป, แท็ก,หรือ กู้.

ตำแหน่งเคอร์เซอร์หลัง แก้ คำสั่งไม่สอดคล้องกันในประวัติศาสตร์ viบางครั้ง
พยายามเรียกคืนตำแหน่งเคอร์เซอร์เดิม (ทั่วโลก, แก้และ v คำสั่ง) และ
บางครั้งในการแสดงตนของแผนที่วางเคอร์เซอร์บนบรรทัดสุดท้ายที่เพิ่มหรือเปลี่ยน
แทนที่จะเป็นครั้งแรก POSIX.1-2008 ต้องการพฤติกรรมที่เรียบง่ายเพื่อความสอดคล้องและ
ความเรียบง่ายของข้อกำหนด

เวอร์ชั่น
พื้นที่ รุ่น ไม่สามารถระบุคำสั่งได้อย่างแม่นยำเนื่องจากไม่มีการยอมรับอย่างกว้างขวาง
คำจำกัดความของข้อมูลเวอร์ชันที่ควรมี สนับสนุนให้นำไปปฏิบัติ
เพื่อทำสิ่งที่ฉลาดพอสมควร

เขียน
ประวัติศาสตร์ ex และ vi ข้อความหลังจากประสบความสำเร็จ อ่าน or เขียน คำสั่งที่ระบุ
``อักขระ'' ไม่ใช่ ``ไบต์'' POSIX.1-2008 กำหนดให้จำนวนไบต์เป็น
แสดงผลไม่ใช่จำนวนตัวอักษรเพราะอาจใช้งานแบบ multi-byte . ได้ยาก
การใช้งานเพื่อกำหนดจำนวนตัวอักษรที่เขียน การดำเนินการคือ
สนับสนุนให้ชี้แจงข้อความที่แสดงต่อผู้ใช้

อนุญาตให้ทำการทดสอบที่กำหนดการใช้งานเพื่อให้การนำไปใช้ทำเพิ่มเติมได้
เช็ค; เช่น เวลาล็อกหรือแก้ไขไฟล์

ในอดีต การพยายามผนวกไฟล์ที่ไม่มีอยู่ทำให้เกิดข้อผิดพลาด เหลือแล้ว
ไม่ระบุใน POSIX.1-2008 เพื่ออนุญาตการใช้งานเพื่อให้ เขียน สำเร็จ ดังนั้น
ความหมายต่อท้ายมีความคล้ายคลึงกับความหมายทางประวัติศาสตร์ csh.

ที่สำคัญทางประวัติศาสตร์ vi อนุญาตให้เขียนบัฟเฟอร์การแก้ไขว่าง อย่างไรก็ตามเนื่องจากทาง vi ได้
ในการจัดการกับไฟล์ ``ว่าง'' นั้นต้องมีบรรทัดในบัฟเฟอร์การแก้ไขเสมอ ไม่ใช่
มันเขียนเป็นไฟล์บรรทัดเดียวว่างๆ POSIX.1-2008 ไม่อนุญาต
พฤติกรรมนี้

ประวัติศาสตร์ ex คืนค่าเอาต์พุตมาตรฐานและข้อผิดพลาดมาตรฐานเป็นค่าเมื่อ ex
ถูกเรียกก่อนที่จะเขียนโปรแกรม สิ่งนี้อาจรบกวนเทอร์มินัล
การกำหนดค่ารวมถึงปัญหาด้านความปลอดภัยสำหรับเทอร์มินัลบางตัว POSIX.1-2008 ไม่ได้
อนุญาตสิ่งนี้โดยกำหนดให้เอาต์พุตของโปรแกรมถูกจับและแสดงราวกับว่าโดย ex
พิมพ์ คำสั่ง

ปรับ หน้าต่าง
ในอดีต จำนวนบรรทัดถูกกำหนดเป็นค่าของ เลื่อน ตัวเลือกถ้าประเภท
ตัวละครเป็นจุดสิ้นสุดของไฟล์ คุณลักษณะนี้ใช้งานไม่ได้กับการใช้งานในอดีตส่วนใหญ่นาน
ที่ผ่านมาและไม่ได้บันทึกไว้ที่ใด ด้วยเหตุนี้ POSIX.1-2008 จึงมีความเฉียบขาด
เงียบ.

ประวัติศาสตร์ z คำสั่งคือ -อ่อนไหวและ z + และ z - ได้ทำสิ่งต่าง ๆ
กว่า z+ และ z- เพราะไม่สามารถแยกแยะประเภทออกจากธงได้ (คำสั่ง z .
และ z = ในอดีตไม่ถูกต้อง) POSIX.1-2008 ต้องการความสอดคล้องกับประวัติศาสตร์นี้
การปฏิบัติ

ประวัติศาสตร์ z คำสั่งต่อไป -อ่อนไหวในเรื่องที่ นับ ไม่สามารถ
-คั่นด้วย; เช่น คำสั่ง z= 5 และ z- 5 ก็ไม่ถูกต้องเช่นกัน เพราะว่า
นับ ไม่คลุมเครือทั้งกับอักขระประเภทหรือแฟล็ก นี่ไม่ใช่
อนุญาตโดย POSIX.1-2008

หนี
ประวัติศาสตร์ ex คำสั่งกรองอ่านเฉพาะเอาต์พุตมาตรฐานของคำสั่ง ปล่อยให้
ข้อผิดพลาดมาตรฐานปรากฏขึ้นบนเครื่องเทอร์มินัลตามปกติ ดิ vi ยูทิลิตี้อย่างไรก็ตามอ่านทั้ง
เอาต์พุตมาตรฐานและข้อผิดพลาดมาตรฐาน POSIX.1-2008 ต้องการพฤติกรรมหลังสำหรับทั้งคู่ ex
และ viเพื่อความสม่ำเสมอ

เปลี่ยน ซ้าย และ เปลี่ยน ขวา
ในอดีต สามารถเพิ่มอักขระ shift เพื่อเพิ่มผลกระทบของ
สั่งการ; ตัวอย่างเช่น, << เว้าแหว่ง (หรือ >>> เยื้อง) เส้น 3 ระดับของการเยื้อง
แทนที่จะเป็นค่าดีฟอลต์ 1. POSIX.1-2008 ต้องการความสอดคล้องกับแนวปฏิบัติทางประวัติศาสตร์

-NS
ตามประวัติศาสตร์ คำสั่ง ‐D ลบพรอมต์โดยให้ผู้ใช้มี
การนำเสนอต่อเนื่องของบรรทัดจากบัฟเฟอร์การแก้ไข POSIX.1-2008 ไม่ต้องการสิ่งนี้
สนับสนุนให้มีการนำไปใช้งานหากเป็นไปได้ ตามประวัติศาสตร์ -ด
คำสั่งรับแล้วละเว้น a นับ. POSIX.1-2008 ไม่อนุญาตให้มีพฤติกรรมนี้

เขียน Line จำนวน
ประวัติศาสตร์ ex = คำสั่งเมื่อดำเนินการใน ex โหมดในบัฟเฟอร์การแก้ไขว่าง รายงาน
0 และจากโหมดเปิดหรือโหมดแสดงภาพ รายงาน 1. เพื่อความสอดคล้องและความเรียบง่ายของ
ข้อกำหนด POSIX.1-2008 ไม่อนุญาตให้มีพฤติกรรมนี้

ดำเนินงาน
ประวัติศาสตร์ ex จัดการการรวมคำสั่งป้อนข้อความไม่ถูกต้อง (นั่นคือ
ผนวก, แทรกและ เปลี่ยนแปลง) ในบัฟเฟอร์ที่ดำเนินการ POSIX.1-2008 ไม่อนุญาตให้ทำสิ่งนี้
การยกเว้นเพื่อความสม่ำเสมอ

ในอดีต เนื้อหาเชิงตรรกะของบัฟเฟอร์ที่กำลังดำเนินการไม่เปลี่ยนแปลงหาก
บัฟเฟอร์เองถูกแก้ไขโดยคำสั่งที่กำลังดำเนินการ นั่นคือการดำเนินการบัฟเฟอร์ไม่ได้
ไม่สนับสนุนรหัสแก้ไขตัวเอง POSIX.1-2008 ต้องสอดคล้องกับการปฏิบัติทางประวัติศาสตร์

ประวัติศาสตร์ @ คำสั่งใช้ช่วงของบรรทัดและ @ บัฟเฟอร์ถูกดำเนินการหนึ่งครั้งต่อ
บรรทัดกับบรรทัดปัจจุบัน ('.') ตั้งค่าเป็นแต่ละบรรทัดที่ระบุ POSIX.1-2008 ต้องการ
สอดคล้องกับการปฏิบัติทางประวัติศาสตร์

การใช้งานในอดีตบางอย่างไม่ได้สังเกตว่ามีข้อผิดพลาดเกิดขึ้นระหว่างการดำเนินการบัฟเฟอร์หรือไม่
ควบคู่ไปกับความสามารถในการระบุช่วงของเส้นสำหรับ ex @ สั่งทำ
เล็กน้อยที่จะทำให้พวกเขาลดลง แกน. POSIX.1-2008 ต้องการให้หยุดใช้งาน
การดำเนินการบัฟเฟอร์หากเกิดข้อผิดพลาดใด ๆ หากไม่มีบรรทัดที่ระบุหรือถ้า
เนื้อหาของบัฟเฟอร์แก้ไขจะถูกแทนที่ (เช่น บัฟเฟอร์ดำเนินการ ex
แก้ไข: สั่งการ).

ปกติ การแสดงออก in ex
การปฏิบัติทางประวัติศาสตร์คืออักขระในส่วนทดแทนของสุดท้าย s สั่งการ-
นั่นคือการจับคู่โดยการป้อน a '~' ในนิพจน์ทั่วไป—ไม่ได้เพิ่มเติม
ขยายโดยเอ็นจิ้นนิพจน์ทั่วไป ดังนั้นหากตัวอักษรมีสตริง
"ก." พวกเขาจะจับคู่ 'A' ตามมาด้วย ".," และไม่ 'A' ตามด้วยตัวอักษรใด ๆ
POSIX.1-2008 ต้องสอดคล้องกับการปฏิบัติทางประวัติศาสตร์

Edit Options in ex
ย่อหน้าต่อไปนี้อธิบายพฤติกรรมทางประวัติศาสตร์ของตัวเลือกการแก้ไขบางตัวที่
ไม่รวมอยู่ใน POSIX.1-2008 ไม่ว่าด้วยเหตุผลใดก็ตาม นำไปปฏิบัติอย่างยิ่ง
ขอแนะนำให้ใช้ชื่อเหล่านี้ก็ต่อเมื่อฟังก์ชันที่อธิบายไว้ในที่นี้ได้รับการสนับสนุนอย่างสมบูรณ์เท่านั้น

ขยาย พื้นที่ ขยาย มีการใช้ตัวเลือกแก้ไขในการใช้งานบางอย่างของ vi ที่จะให้
นิพจน์ทั่วไปแบบขยายแทนนิพจน์ทั่วไปพื้นฐาน ตัวเลือกนี้
ถูกละเว้นจาก POSIX.1-2008 เพราะไม่ถือเป็นการปฏิบัติทางประวัติศาสตร์ที่แพร่หลาย

แฟลช พื้นที่ แฟลช แก้ไขตัวเลือกในอดีตทำให้หน้าจอกะพริบแทนที่จะส่งเสียงบี๊บ
ในข้อผิดพลาด ตัวเลือกนี้ถูกละเว้นจาก POSIX.1-2008 เนื่องจากไม่พบใน
การดำเนินการทางประวัติศาสตร์บางอย่าง

ฮาร์ดแท็บ พื้นที่ ฮาร์ดแท็บ แก้ไขตัวเลือกในอดีตกำหนดจำนวนคอลัมน์ระหว่าง
การตั้งค่าแท็บฮาร์ดแวร์ ตัวเลือกนี้ถูกละเว้นจาก POSIX.1-2008 เนื่องจากเป็น
เชื่อว่าไม่มีประโยชน์โดยทั่วไปอีกต่อไป

นางแบบ พื้นที่ นางแบบ (บางครั้งชื่อ นางแบบ) แก้ไขตัวเลือกที่เกิดขึ้นในอดีต ex or
vi เพื่ออ่านห้าบรรทัดแรกและบรรทัดสุดท้ายของไฟล์สำหรับคำสั่งตัวแก้ไข นี้
ตัวเลือกเป็นปัญหาด้านความปลอดภัยและผู้ขายควรลบออก
จากการดำเนินการทางประวัติศาสตร์

เปิด พื้นที่ เปิด แก้ไขตัวเลือกในอดีตไม่อนุญาต ex เปิด และ ภาพ คำสั่ง
ตัวเลือกการแก้ไขนี้ถูกละเว้นเนื่องจากคำสั่งเหล่านี้จำเป็นโดย
POSIX.1–2008.

เพิ่มโอกาสการมองเห็น พื้นที่ เพิ่มโอกาสการมองเห็น แก้ไขตัวเลือกในอดีตเร่งความเร็วข้อความโดยการตั้งค่า
เทอร์มินัลไม่ทำโดยอัตโนมัติ ตัวอักษรเมื่อพิมพ์เพิ่มเติม
มากกว่าหนึ่งบรรทัดของเอาต์พุตแบบลอจิคัล ตัวเลือกนี้ถูกละเว้นจาก POSIX.1-2008
เพราะมันมีไว้สำหรับเทอร์มินัลที่ไม่มีเคอร์เซอร์ที่กำหนดได้ ซึ่งก็คือ
ไม่ค่อยถ้าเคยยังคงใช้

ไม้บรรทัด พื้นที่ ไม้บรรทัด มีการใช้ตัวเลือกแก้ไขในการใช้งานบางอย่างของ vi เพื่อนำเสนอ
ไม้บรรทัดแถว/คอลัมน์ปัจจุบันสำหรับผู้ใช้ ตัวเลือกนี้ถูกละเว้นจาก POSIX.1-2008
เพราะไม่ใช่การปฏิบัติทางประวัติศาสตร์ที่แพร่หลาย

แหล่งข่าว พื้นที่ แหล่งข่าว แก้ไขตัวเลือกที่เกิดขึ้นในอดีต ex or vi ไปยังซอร์สไฟล์เริ่มต้น
ที่เป็นเจ้าของโดยผู้ใช้อื่นที่ไม่ใช่ผู้ใช้ที่รันโปรแกรมแก้ไข ตัวเลือกนี้คือ
ปัญหาด้านความปลอดภัยและผู้ขายควรลบออกจาก
การใช้งาน

การหยุดพักชั่วคราว พื้นที่ การหยุดพักชั่วคราว แก้ไขตัวเลือกที่เปิดใช้งานคุณสมบัติ (ปัจจุบันเป็นมาตรฐาน) ในอดีตของ only
รอสักครู่ก่อนที่จะส่งคืนคีย์ที่อาจเป็นส่วนหนึ่งของมาโคร
คุณลักษณะนี้ถูกละเว้นจาก POSIX.1-2008 เนื่องจากขณะนี้พฤติกรรมของคุณลักษณะนี้เป็นมาตรฐาน
มันไม่มีประโยชน์อย่างกว้างขวางและไม่ค่อยมีการจัดทำเป็นเอกสาร

ละเอียด พื้นที่ ละเอียด มีการใช้ตัวเลือกแก้ไขในการใช้งานบางอย่างของ vi ที่จะทำให้เกิด vi
เพื่อแสดงข้อความแสดงข้อผิดพลาดสำหรับข้อผิดพลาดทั่วไป ตัวอย่างเช่น พยายามที่จะย้าย
เคอร์เซอร์ผ่านจุดเริ่มต้นหรือจุดสิ้นสุดของบรรทัดแทนที่จะเตือนเฉพาะ
หน้าจอ. (ประวัติศาสตร์ vi แจ้งเตือนเทอร์มินัลเท่านั้นและไม่มีข้อความ
สำหรับข้อผิดพลาดดังกล่าว ตัวเลือกบรรณาธิการประวัติศาสตร์ สั้น ไม่ได้เลือกเวลาที่จะ
นำเสนอข้อความแสดงข้อผิดพลาด มันสร้างเฉพาะข้อความแสดงข้อผิดพลาดที่มีอยู่ไม่มากก็น้อย
verbose) ตัวเลือกนี้ถูกละเว้นจาก POSIX.1-2008 เนื่องจากไม่แพร่หลาย
การปฏิบัติทางประวัติศาสตร์ อย่างไรก็ตาม ขอแนะนำให้ผู้ดำเนินการนำไปใช้หากต้องการ
เพื่อให้ข้อความแสดงข้อผิดพลาดสำหรับผู้ใช้ที่ไร้เดียงสา

ห่อ พื้นที่ ห่อ มีการใช้ตัวเลือกแก้ไขในการใช้งานบางอย่างของ vi เพื่อระบุ
ระยะขอบอัตโนมัติวัดจากระยะขอบด้านซ้ายแทนจากด้านขวา
ระยะขอบ สิ่งนี้มีประโยชน์เมื่อใช้ขนาดหน้าจอหลายขนาดในการแก้ไข a
ไฟล์เดียว. ตัวเลือกนี้ถูกละเว้นจาก POSIX.1-2008 เนื่องจากไม่ใช่
การปฏิบัติทางประวัติศาสตร์อย่างกว้างขวาง อย่างไรก็ตามขอแนะนำให้ผู้ดำเนินการใช้งาน
หากพวกเขาเพิ่มฟังก์ชันนี้

อัตโนมัติ, ai
ตามประวัติศาสตร์ คำสั่ง 0a ไม่ได้ทำการเยื้องอัตโนมัติใด ๆ โดยไม่คำนึงถึงปัจจุบัน
การเยื้องบรรทัดที่ 1 POSIX.1-2008 กำหนดให้มีการเว้นวรรคในบรรทัดที่ 1 be
มือสอง

พิมพ์อัตโนมัติ, ap
ประวัติศาสตร์ พิมพ์อัตโนมัติ แก้ไขตัวเลือกไม่สอดคล้องกันอย่างสมบูรณ์หรือขึ้นอยู่กับ
การแก้ไขบัฟเฟอร์การแก้ไข ข้อยกเว้นคือ อ่าน คำสั่ง (เมื่ออ่านจาก
ไฟล์ แต่ไม่ใช่จากตัวกรอง) the ผนวก, เปลี่ยนแปลง, แทรก, ทั่วโลกและ v คำสั่งทั้งหมด
ซึ่งไม่ได้รับผลกระทบจาก พิมพ์อัตโนมัติและ แท็ก คำสั่งซึ่งได้รับผลกระทบจาก
พิมพ์อัตโนมัติ. POSIX.1-2008 ต้องสอดคล้องกับการปฏิบัติทางประวัติศาสตร์

ประวัติศาสตร์ พิมพ์อัตโนมัติ ตัวเลือกที่ใช้เฉพาะกับคำสั่งสุดท้ายของหลายคำสั่งที่ป้อน
โดยใช้ ตัวคั่น; ตัวอย่างเช่น, ลบ ได้รับผลกระทบจาก พิมพ์อัตโนมัติ,
แต่ ลบ|รุ่น ไม่ได้ POSIX.1-2008 ต้องสอดคล้องกับประวัติศาสตร์
การปฏิบัติ

เขียนอัตโนมัติ, aw
ต่อท้าย '!' ตัวละครที่จะ ex ถัดไป คำสั่งเพื่อหลีกเลี่ยงการเขียนอัตโนมัติ
ไม่รองรับการใช้งานในอดีต POSIX.1-2008 กำหนดให้พฤติกรรม
จับคู่กัน ex คำสั่งเพื่อความสม่ำเสมอ

ละเว้น, ic
การใช้งานในอดีตของการจับคู่แบบไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ (the ละเว้น แก้ไขตัวเลือก) นำ
เพื่อตอบโต้สถานการณ์ที่เข้าใจง่ายเมื่อใช้อักขระตัวพิมพ์ใหญ่ในนิพจน์ช่วง
ตามประวัติศาสตร์ กระบวนการมีดังนี้:

1. ใช้บรรทัดข้อความจากบัฟเฟอร์การแก้ไข

2. แปลงตัวพิมพ์ใหญ่เป็นตัวพิมพ์เล็กในบรรทัดข้อความ

3. แปลงตัวพิมพ์ใหญ่เป็นตัวพิมพ์เล็กในนิพจน์ทั่วไป ยกเว้นในคลาสอักขระ
ข้อกำหนด

4. จับคู่นิพจน์ทั่วไปกับข้อความ

นี่จะหมายความว่าด้วย ละเว้น มีผลข้อความ:

พื้นที่ แมว นั่ง on อาหาร

จะถูกจับคู่โดย

//^ที่/

แต่ไม่ใช่โดย:

/^[A−Z]เขา/

เพื่อความสอดคล้องกับคำสั่งอื่นๆ ที่ใช้นิพจน์ทั่วไป POSIX.1‐2008 ไม่
ไม่อนุญาตให้มีพฤติกรรมนี้

ย่อหน้า สำหรับ
มาตรฐาน ISO POSIX-2: 1993 ทำให้เป็นค่าเริ่มต้น ย่อหน้า และ ส่วน แก้ไขตัวเลือก
กำหนดการใช้งานโดยโต้แย้งว่าพวกเขามุ่งเน้นไปที่ระบบ UNIX ในอดีต troff
ตัวจัดรูปแบบข้อความและ ``ผู้ใช้แบบพกพา'' สามารถใช้ {, }, [[, ]], (และ ) คำสั่งใน
เปิดหรือโหมดภาพและให้เคอร์เซอร์หยุดในตำแหน่งที่ไม่คาดคิด POSIX.1-2008 ระบุ
ค่าของพวกเขาในภาษา POSIX เนื่องจากการจัดกลุ่มที่ผิดปกติ (จะทำงานเมื่อจัดกลุ่มเท่านั้น
เป็นอักขระสองตัวพร้อมกัน) หมายความว่าไม่สามารถใช้เพื่อวัตถุประสงค์ทั่วไปได้
การเคลื่อนไหวโดยไม่คำนึงถึง

อ่านเท่านั้น
ขอแนะนำให้ดำเนินการเพื่อให้ข้อมูลที่ดีที่สุดเท่าที่เป็นไปได้แก่ผู้ใช้เช่น to
สถานะอ่านอย่างเดียวของไฟล์ ยกเว้นว่าพวกเขาไม่ควรคำนึงถึง
สิทธิพิเศษในปัจจุบันของกระบวนการ สิ่งนี้ให้ผู้ใช้มีเครือข่ายความปลอดภัยเพราะ
พวกเขาต้องบังคับให้เขียนทับไฟล์แบบอ่านอย่างเดียว แม้ว่าจะรันด้วยเพิ่มเติม
สิทธิพิเศษ

พื้นที่ อ่านเท่านั้น แก้ไขข้อกำหนดตัวเลือกส่วนใหญ่สอดคล้องกับการปฏิบัติทางประวัติศาสตร์ เพียง
ความแตกต่างคือการใช้งานในอดีตไม่ได้สังเกตว่าผู้ใช้ตั้งค่า
อ่านเท่านั้น แก้ไขตัวเลือกในกรณีที่ไฟล์ถูกทำเครื่องหมายเป็นแบบอ่านอย่างเดียวแล้วด้วยเหตุผลบางประการ
และจะเริ่มต้น อ่านเท่านั้น แก้ไขตัวเลือกในครั้งต่อไปที่เนื้อหาของ
บัฟเฟอร์การแก้ไขถูกแทนที่ พฤติกรรมนี้ไม่ได้รับอนุญาตโดย POSIX.1-2008

รายงาน
ข้อกำหนดที่บรรทัดที่คัดลอกไปยังบัฟเฟอร์โต้ตอบแตกต่างจากบรรทัดที่ถูกลบคือ
การปฏิบัติทางประวัติศาสตร์ ตัวอย่างเช่น ถ้า รายงาน แก้ไขตัวเลือกตั้งค่าเป็น 3 ลบ 3 บรรทัด
จะทำให้เขียนรายงานได้ แต่ต้องคัดลอก 4 บรรทัดก่อนที่จะเขียนรายงาน

ข้อกำหนดที่ ex ทั่วโลก, v, เปิด, แก้และ ภาพ คำสั่งนำเสนอรายงาน
ตามจำนวนบรรทัดทั้งหมดที่เพิ่มหรือลบระหว่างการดำเนินการคำสั่ง และนั่น
คำสั่งที่ดำเนินการโดย ทั่วโลก และ v คำสั่งที่ไม่นำเสนอรายงานเป็นประวัติศาสตร์
ฝึกฝน. POSIX.1-2008 ขยายแนวปฏิบัติในอดีตโดยกำหนดให้มีการดำเนินการบัฟเฟอร์เป็น
ได้รับการปฏิบัติเช่นเดียวกัน เหตุผลนี้มีสองเท่า ในอดีต มีเพียงรายงานของ
คำสั่งสุดท้ายที่ดำเนินการจากบัฟเฟอร์จะเห็นโดยผู้ใช้ เช่นเดียวกับรายงานใหม่แต่ละฉบับ
เขียนทับครั้งสุดท้าย นอกจากนี้ นักพัฒนามาตรฐานเชื่อว่าการดำเนินการบัฟเฟอร์
มีความคล้ายคลึงกันมากขึ้นกับ ทั่วโลก และ v คำสั่งมากกว่าที่ทำกับคนอื่น ex คำสั่งและ
ควรปฏิบัติในลักษณะเดียวกัน เพื่อความสม่ำเสมอและความเรียบง่ายของข้อกำหนด

โชว์แมทช์, sm
ไม่ระบุระยะเวลาที่เคอร์เซอร์ใช้กับอักขระที่ตรงกันเนื่องจาก
ความสามารถด้านจังหวะเวลาของระบบมักจะไม่แน่นอนและผันแปรได้ เวลาควรจะยาวนาน
เพียงพอให้ผู้ใช้สังเกตเห็น แต่ไม่นานพอให้ผู้ใช้รำคาญ บาง
การใช้งานของ vi ได้เพิ่ม เวลาการแข่งขัน ตัวเลือกที่อนุญาตให้ผู้ใช้ตั้งค่าหมายเลข
ของช่วงเวลา 0,1 วินาทีที่เคอร์เซอร์หยุดชั่วคราวบนอักขระที่ตรงกัน

โหมดโชว์
พื้นที่ โหมดโชว์ มีการใช้ตัวเลือกในการนำไปใช้ในอดีตของ ex และ vi ไปยัง
แสดงโหมดการแก้ไขปัจจุบันเมื่ออยู่ในโหมดเปิดหรือโหมดภาพ โหมดการแก้ไขมี
โดยทั่วไปจะรวม ``คำสั่ง'' และ ``อินพุต'' และบางครั้งโหมดอื่นๆ เช่น
``แทนที่'' และ ``เปลี่ยน'' สตริงมักจะแสดงอยู่ที่บรรทัดล่างสุดของ
หน้าจอที่มุมขวามือสุด นอกจากนี้ ก่อนหน้านี้ '*' อักขระที่มักแสดง
เนื้อหาของบัฟเฟอร์การแก้ไขได้รับการแก้ไขหรือไม่ จอแสดงผลหลังมี
บางครั้งเป็นส่วนหนึ่งของ โหมดโชว์ ตัวเลือกและบางครั้งก็ขึ้นอยู่กับตัวเลือกอื่น นี้
ไม่มีตัวเลือกในการใช้งานในอดีต 4 BSD ของ viแต่ถูกมองว่าเป็น
มีประโยชน์โดยทั่วไป โดยเฉพาะกับผู้ใช้มือใหม่ และจำเป็นโดย POSIX.1-2008

พื้นที่ SMD จดชวเลข โหมดโชว์ ไม่มีตัวเลือกในประวัติศาสตร์ทั้งหมด
การใช้งานของบรรณาธิการ POSIX.1-2008 ต้องการมัน เพื่อความสม่ำเสมอ

การใช้งานในอดีตของตัวแก้ไขไม่ได้แสดงสตริงของโหมดสำหรับโหมดคำสั่ง
แยกความแตกต่างของโหมดคำสั่งจากโหมดป้อนข้อความโดยไม่มีสตริงของโหมด
POSIX.1-2008 อนุญาตให้พฤติกรรมนี้สอดคล้องกับการปฏิบัติทางประวัติศาสตร์ แต่
การใช้งานได้รับการสนับสนุนเพื่อให้สตริงแสดงผลสำหรับทั้งสองโหมด

เปิดช้า
ประวัติศาสตร์ เปิดช้า ตัวเลือกถูกตั้งค่าโดยอัตโนมัติหากอัตราบอดของเทอร์มินัลน้อยกว่า
มากกว่า 1200 บอด หรือถ้าอัตราบอดคือ 1200 บอดและ วาดใหม่ ไม่ได้ตั้งค่าตัวเลือก ดิ
เปิดช้า ตัวเลือกมีสองผล ขั้นแรก เมื่อแทรกอักขระไว้ตรงกลางบรรทัด
อักขระหลังเคอร์เซอร์จะไม่ถูกผลักไปข้างหน้า แต่ดูเหมือนจะถูกเขียนทับ
ประการที่สอง เมื่อสร้างบรรทัดข้อความใหม่ บรรทัดหลังบรรทัดปัจจุบันจะไม่เป็น
เลื่อนลงมา แต่ดูเหมือนว่าจะถูกเขียนทับ ในทั้งสองกรณี การสิ้นสุดโหมดป้อนข้อความ
จะทำให้หน้าจอถูกรีเฟรชเพื่อให้ตรงกับเนื้อหาที่แท้จริงของบัฟเฟอร์การแก้ไข
ในที่สุด เทอร์มินัลที่ฉลาดเพียงพอทำให้บรรณาธิการเพิกเฉยต่อ
เปิดช้า ตัวเลือก. POSIX.1-2008 อนุญาตพฤติกรรมทางประวัติศาสตร์ส่วนใหญ่ ขยายประวัติศาสตร์
การปฏิบัติที่ต้องใช้ เปิดช้า พฤติกรรมหากผู้ใช้ตั้งค่าตัวเลือกการแก้ไข

แท็ก
เส้นทางเริ่มต้นสำหรับไฟล์แท็กจะไม่ถูกระบุเนื่องจากการนำไปใช้งานอาจมีของตัวเอง
แท็ก การปฏิบัติที่ไม่สอดคล้องกับประวัติศาสตร์ ค่าเริ่มต้น แท็ก
ค่าตัวเลือกอย่างน้อยน่าจะรวมไฟล์ ./แท็ก.

ระยะ
การใช้งานทางประวัติศาสตร์ของ ex และ vi ละเลยการเปลี่ยนแปลงของ ระยะ แก้ไขตัวเลือกหลังจาก
โหลดข้อมูลเทอร์มินัลเริ่มต้นแล้ว สิ่งนี้ได้รับอนุญาตโดย POSIX.1-2008; อย่างไรก็ตาม,
การใช้งานได้รับการสนับสนุนเพื่ออนุญาตให้ผู้ใช้แก้ไขประเภทเทอร์มินัลของพวกเขาที่ใดก็ได้
เวลา

สั้น
ประวัติศาสตร์ สั้น แก้ไขตัวเลือกโดยระบุข้อผิดพลาดที่สั้นกว่าและอธิบายน้อยกว่า
ข้อความสำหรับข้อความแสดงข้อผิดพลาดบางอย่าง สิ่งนี้ได้รับอนุญาต แต่ไม่จำเป็น โดย POSIX.1-2008
ในอดีต ข้อผิดพลาดของโหมดภาพที่พบบ่อยที่สุด (เช่น การพยายามเลื่อนเคอร์เซอร์ผ่าน
จุดสิ้นสุดของบรรทัด) ไม่ได้ส่งผลให้เกิดข้อความแสดงข้อผิดพลาด แต่เพียงแจ้งเตือนเทอร์มินัล
การดำเนินการที่ต้องการให้ข้อความสำหรับผู้ใช้สามเณรได้รับการกระตุ้นให้ทำเช่นนั้นตาม
แก้ไข ตัวเลือก ละเอียด, และไม่ สั้น.

หน้าต่าง
ในการใช้งานในอดีต ค่าเริ่มต้นสำหรับ หน้าต่าง แก้ไขตัวเลือกขึ้นอยู่กับ
อัตราบอดดังนี้:

1. หากอัตราบอดน้อยกว่า 1200 ค่า แก้ไข ตัวเลือก w300 ตั้งค่าหน้าต่าง สำหรับ
ตัวอย่างบรรทัด:

ชุด w300=12

จะตั้งค่าตัวเลือกหน้าต่างเป็น 12 หากอัตราบอดน้อยกว่า 1200

2. ถ้าอัตราบอดเท่ากับ 1200 ค่า แก้ไข ตัวเลือก w1200 ตั้งค่าหน้าต่าง

3. หากอัตราบอดมากกว่า 1200 ค่า แก้ไข ตัวเลือก w9600 ตั้งค่าหน้าต่าง

พื้นที่ w300, w1200และ w9600 ตัวเลือกไม่ปรากฏใน POSIX.1-2008 เนื่องจาก
ขึ้นอยู่กับอัตราบอดเฉพาะ

ในการใช้งานในอดีต ขนาดของหน้าต่างที่แสดงโดยคำสั่งต่างๆ คือ
เกี่ยวข้องกับแต่ไม่จำเป็นต้องเหมือนกับ หน้าต่าง แก้ไขตัวเลือก ตัวอย่างเช่น ขนาด
ของหน้าต่างถูกกำหนดโดย ex คำสั่ง ภาพ 10แต่มันไม่ได้เปลี่ยนค่าของ
หน้าต่าง แก้ไขตัวเลือก อย่างไรก็ตาม การเปลี่ยนค่าของ หน้าต่าง แก้ไขตัวเลือกได้เปลี่ยน
จำนวนบรรทัดที่แสดงเมื่อทาสีหน้าจอใหม่ POSIX.1-2008 ไม่ได้
อนุญาตให้พฤติกรรมนี้เพื่อประโยชน์ของความสม่ำเสมอและความเรียบง่ายของข้อกำหนดและ
กำหนดให้คำสั่งทั้งหมดที่เปลี่ยนจำนวนบรรทัดที่แสดงทำได้โดย
การกำหนดค่าของ หน้าต่าง แก้ไขตัวเลือก

ขอบกระดาษ, wm
ประวัติศาสตร์ ขอบกระดาษ ตัวเลือกไม่ส่งผลต่อแผนที่ที่แทรกอักขระที่มี
ที่เกี่ยวข้อง นับs; ตัวอย่างเช่น :แผนที่ K 5aเอบีซี DEF. น่าเสียดายที่มีการใช้กันอย่างแพร่หลาย
แผนที่ที่ขึ้นอยู่กับพฤติกรรมนี้ เพื่อความสม่ำเสมอและความเรียบง่ายของข้อกำหนด
POSIX.1-2008 ไม่อนุญาตให้มีพฤติกรรมนี้

ประวัติศาสตร์ ขอบกระดาษ คำนวณโดยใช้ความกว้างการแสดงคอลัมน์ของอักขระทั้งหมด
บนหน้าจอ. ตัวอย่างเช่น การใช้งานโดยใช้ "^ฉัน" เพื่อเป็นตัวแทน ตัวอักษร
เมื่อ รายการ แก้ไขตัวเลือกถูกตั้งค่าโดยที่ '^' และ 'ผม' แต่ละคนหยิบคอลัมน์เดียวบน
หน้าจอจะคำนวณ ขอบกระดาษ ขึ้นอยู่กับค่าของ 2 สำหรับแต่ละ . ดิ จำนวน
แก้ไขตัวเลือกในทำนองเดียวกันเปลี่ยนความยาวที่มีประสิทธิภาพของบรรทัดเช่นกัน POSIX.1-2008
ต้องสอดคล้องกับการปฏิบัติทางประวัติศาสตร์

เวอร์ชันก่อนหน้าของมาตรฐานนี้อนุญาตให้ใช้งานกับไบต์อื่นที่ไม่ใช่แปด
บิต แต่สิ่งนี้ได้รับการแก้ไขในเวอร์ชันนี้

อนาคต ลู่ทาง


ไม่

ใช้ exposix ออนไลน์โดยใช้บริการ onworks.net


เซิร์ฟเวอร์และเวิร์กสเตชันฟรี

ดาวน์โหลดแอพ Windows & Linux

  • 1
    Phaser
    Phaser
    Phaser เป็นโปรแกรมเปิดที่รวดเร็ว ฟรี และสนุก
    ซอร์สเฟรมเวิร์กเกม HTML5 ที่นำเสนอ
    การแสดงผล WebGL และ Canvas ทั่ว
    เว็บเบราว์เซอร์เดสก์ท็อปและมือถือ เกม
    สามารถร่วม...
    ดาวน์โหลดเฟสเซอร์
  • 2
    เครื่องยนต์ VASSAL
    เครื่องยนต์ VASSAL
    VASSAL เป็นเอ็นจิ้นเกมสำหรับการสร้าง
    บอร์ดอิเล็กทรอนิกส์แบบดั้งเดิม
    และการ์ดเกม มันให้การสนับสนุนสำหรับ
    การเรนเดอร์ชิ้นส่วนเกมและการโต้ตอบ
    และ ...
    ดาวน์โหลด VASSAL Engine
  • 3
    OpenPDF - ทางแยกของ iText
    OpenPDF - ทางแยกของ iText
    OpenPDF เป็นไลบรารี Java สำหรับสร้าง
    และแก้ไขไฟล์ PDF ด้วย LGPL และ
    ใบอนุญาตโอเพ่นซอร์ส MPL OpenPDF คือ
    LGPL / MPL โอเพ่นซอร์สผู้สืบทอดของ iText
    แล้ว ...
    ดาวน์โหลด OpenPDF - Fork of iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - ระบบอัตโนมัติ
    การวิเคราะห์ทางธรณีวิทยา - เป็นภูมิศาสตร์
    ซอฟต์แวร์ระบบสารสนเทศ (GIS) พร้อม
    ความสามารถอันยิ่งใหญ่สำหรับ geodata
    การประมวลผลและอนา...
    ดาวน์โหลด SAGA GIS
  • 5
    กล่องเครื่องมือสำหรับ Java/JTOpen
    กล่องเครื่องมือสำหรับ Java/JTOpen
    IBM Toolbox สำหรับ Java / JTOpen คือ
    ไลบรารีของคลาส Java ที่สนับสนุน
    ไคลเอนต์/เซิร์ฟเวอร์และโปรแกรมอินเทอร์เน็ต
    รุ่นไปยังระบบที่ใช้ OS/400,
    i5/โอเอส โอ...
    ดาวน์โหลดกล่องเครื่องมือสำหรับ Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (หรือ D3 สำหรับเอกสารที่ขับเคลื่อนด้วยข้อมูล)
    เป็นไลบรารี JavaScript ที่ช่วยให้คุณ
    เพื่อสร้างข้อมูลเชิงโต้ตอบแบบไดนามิก
    การแสดงภาพในเว็บเบราว์เซอร์ ด้วย D3
    คุณ...
    ดาวน์โหลด D3.js
  • เพิ่มเติม»

คำสั่ง Linux

  • 1
    อธิบดี
    อธิบดี
    abidiff - เปรียบเทียบ ABI ของไฟล์ ELF
    Abidiff เปรียบเทียบ Application Binary
    อินเทอร์เฟซ (ABI) ของสองไลบรารีที่ใช้ร่วมกัน
    ในรูปแบบเอลฟ์ มันเปล่งออกมาอย่างมีความหมาย
    รายงาน...
    เรียกใช้ abidiff
  • 2
    อาบิดวี
    อาบิดวี
    abidw - ทำให้เป็นอันดับ ABI ของ ELF
    ไฟล์ abidw อ่านไลบรารีที่ใช้ร่วมกันใน ELF
    จัดรูปแบบและปล่อยการแสดง XML
    ของ ABI ไปยังเอาต์พุตมาตรฐาน เดอะ
    ปล่อยออกมา ...
    วิ่งต่อไป
  • 3
    โคแพค2xml
    โคแพค2xml
    bibutils - การแปลงบรรณานุกรม
    ค่าสาธารณูปโภค ...
    เรียกใช้ copac2xml
  • 4
    ชาวอียิปต์โบราณ
    ชาวอียิปต์โบราณ
    copt - เครื่องมือเพิ่มประสิทธิภาพตาแมว SYSNOPIS:
    ไฟล์คอปต์ .. รายละเอียด: คอปต์คือไฟล์
    เครื่องมือเพิ่มประสิทธิภาพช่องมองสำหรับวัตถุประสงค์ทั่วไป มัน
    อ่านรหัสจากอินพุตมาตรฐานและ
    เขียน ...
    เรียกใช้ตำรวจ
  • 5
    Gather_stx_titles
    Gather_stx_titles
    Gather_stx_titles - รวบรวมชื่อเรื่อง
    ประกาศจากเอกสาร Stx ...
    เรียกใช้ Gather_stx_titles
  • 6
    ม้านั่ง Gatling
    ม้านั่ง Gatling
    ม้านั่ง - เกณฑ์มาตรฐาน http ...
    เรียกม้านั่ง Gatling
  • เพิ่มเติม»

Ad