นี่คือคำสั่ง samplan9 ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
sam, B, E, sam.save, samterm, samsave - โปรแกรมแก้ไขหน้าจอพร้อมนิพจน์ทั่วไปที่มีโครงสร้าง
เรื่องย่อ
แซม [ ตัวเลือก ... ] [ ไฟล์ ]
แซม -r เครื่อง
แซม.บันทึก
B ไฟล์[:เส้น-
E ไฟล์
DESCRIPTION
แซม เป็นโปรแกรมแก้ไขหลายไฟล์ มันแก้ไขสำเนาในเครื่องของไฟล์ภายนอก สำเนาคือ
ที่นี่เรียกว่า ไฟล์. ไฟล์แสดงอยู่ในเมนูที่ใช้ได้ผ่านปุ่มเมาส์ 3 หรือ
n สั่งการ. แต่ละไฟล์มีชื่อที่เกี่ยวข้องกัน ซึ่งมักจะเป็นชื่อของไฟล์ภายนอก
จากที่อ่านและบิต `แก้ไข' ที่ระบุว่าไฟล์ของบรรณาธิการ
เห็นด้วยกับไฟล์ภายนอก ไฟล์ภายนอกจะไม่ถูกอ่านในไฟล์ของตัวแก้ไขจนกว่า
ขั้นแรกจะกลายเป็นไฟล์ปัจจุบัน—ซึ่งคำสั่งแก้ไขนำไปใช้—จากนั้นเมนูของไฟล์
รายการถูกพิมพ์ ทางเลือกคือ
-a ออโต้อินเดนท์ ในโหมดนี้ เมื่อมีการพิมพ์อักขระขึ้นบรรทัดใหม่ในเทอร์มินัล
อินเตอร์เฟซ, สามเทอม คัดลอกพื้นที่สีขาวนำหน้าในบรรทัดปัจจุบันไปยังบรรทัดใหม่
-d อย่า 'ดาวน์โหลด' ส่วนปลายทางของ แซม. การแก้ไขจะทำด้วยคำสั่ง
ภาษาเท่านั้นเช่นใน ed(1)
-r เครื่อง
เรียกใช้ส่วนโฮสต์จากระยะไกลบนเครื่องที่ระบุ ส่วนเทอร์มินัลในเครื่อง
-s เส้นทาง
เริ่มต้นส่วนโฮสต์จากไฟล์ที่ระบุบนรีโมตโฮสต์ มีความหมายเท่านั้น
กับ -r ตัวเลือก
-t เส้นทาง
เริ่มส่วนเทอร์มินัลจากไฟล์ที่ระบุ มีประโยชน์สำหรับการดีบัก
ปกติ การแสดงออก
นิพจน์ทั่วไปเป็นเช่นใน regexp(7) ด้วยการเพิ่ม \n เพื่อแสดงการขึ้นบรรทัดใหม่ NS
นิพจน์ทั่วไปต้องไม่มีอักขระขึ้นบรรทัดใหม่ตามตัวอักษร ปกติเปล่า
expression หมายถึงนิพจน์ที่สมบูรณ์ล่าสุดที่พบ นิพจน์ทั่วไปใน
แซม จับคู่สตริงย่อยซ้ายสุดที่ยาวที่สุดซึ่งตรงกับนิพจน์อย่างเป็นทางการ กำลังค้นหา
ในทิศทางย้อนกลับเท่ากับการค้นหาย้อนกลับด้วย catenation
การดำเนินการกลับรายการในนิพจน์
ที่อยู่จัดส่ง
ที่อยู่ระบุสตริงย่อยในไฟล์ ต่อไปนี้ `ตัวละคร n' หมายถึง
สตริงว่างหลัง n- อักขระตัวที่หนึ่งในไฟล์ โดยมี 1 อักขระตัวแรกในไฟล์
`ไลน์ n' หมายถึง n- การจับคู่ที่เริ่มต้นที่จุดเริ่มต้นของไฟล์ของปกติ
นิพจน์ ไฟล์ทั้งหมดมีสตริงย่อยปัจจุบันที่เรียกว่า dot ซึ่งเป็นค่าดีฟอลต์
ที่อยู่
ง่าย ที่อยู่จัดส่ง
#n สตริงว่างหลังอักขระ n; #0 คือจุดเริ่มต้นของไฟล์
n Line n; 0 คือจุดเริ่มต้นของไฟล์
/regexp/
?regexp?
สตริงย่อยที่ตรงกับนิพจน์ทั่วไป พบโดยดูที่ส่วนท้าย
(/) หรือจุดเริ่มต้น (?) ของไฟล์ และหากจำเป็นให้ทำการค้นหาต่อจาก
ปลายอีกด้านหนึ่งไปยังจุดเริ่มต้นของการค้นหา สตริงย่อยที่ตรงกันอาจคร่อม
จุดเริ่มต้น เมื่อป้อนรูปแบบที่มีเครื่องหมายคำถามตามตัวอักษรสำหรับ
การค้นหาย้อนหลัง เครื่องหมายคำถามควรระบุเป็นสมาชิกของชั้นเรียน
0 สตริงก่อนบรรทัดแรกเต็ม ไม่จำเป็นต้องเป็นสตริงว่าง
เห็น + และ - ด้านล่าง
$ สตริงว่างที่ส่วนท้ายของไฟล์
. จุด
' เครื่องหมายในไฟล์ (ดูที่ k คำสั่งด้านล่าง)
"regexp"
นำหน้าที่อยู่อย่างง่าย (ค่าเริ่มต้น .) หมายถึงที่อยู่ที่ประเมินใน
ไฟล์เฉพาะที่มีบรรทัดเมนูตรงกับนิพจน์ทั่วไป
สารประกอบ ที่อยู่จัดส่ง
ดังต่อไปนี้ a1 และ a2 เป็นที่อยู่
a1+a2 ที่อยู่ a2 ประเมินเริ่มต้นเมื่อสิ้นสุด a1.
a1-a2 ที่อยู่ a2 ประเมินการมองย้อนกลับโดยเริ่มต้นที่จุดเริ่มต้น
of a1.
a1,a2 สตริงย่อยจากจุดเริ่มต้นของ a1 ไปยังจุดสิ้นสุดของ a2. ถ้า a1 ที่ขาดหายไป, 0 is
แทนที่ ถ้า a2 ที่ขาดหายไป, $ ถูกแทนที่
a1;a2 Like a1,a2, แต่ด้วย a2 ประเมินเมื่อสิ้นสุด และกำหนดจุดเป็น a1.
ผู้ประกอบการ + และ - มีลำดับความสำคัญสูงในขณะที่ , และ ; มีความสำคัญต่ำ
ทั้งสองอย่าง + และ - แบบฟอร์ม if a2 คือที่อยู่บรรทัดหรืออักขระที่มีตัวเลขหายไป
ตัวเลขเริ่มต้นเป็น 1 If a1 หายไปถูกแทนที่ ถ้าทั้งสองอย่าง a1 และ a2 มีอยู่
และแยกแยะได้ + อาจถูกตัดออก a2 อาจเป็นนิพจน์ทั่วไป ถ้ามันเป็นตัวคั่น
โดยผลของ + or - ถูกย้อนกลับ
เป็นข้อผิดพลาดสำหรับที่อยู่แบบทบต้นเพื่อแสดงสตริงย่อยที่มีรูปแบบไม่ถูกต้อง มีประโยชน์บ้าง
สำนวน: a1+- (a1-+) เลือกบรรทัดที่มีจุดสิ้นสุด (จุดเริ่มต้น) ของ a1 0/regexp/
ระบุตำแหน่งที่ตรงกันครั้งแรกของนิพจน์ในไฟล์ (แบบฟอร์ม 0;// ชุด dot
โดยไม่จำเป็น) ./regexp/ / / ค้นหาการเกิดขึ้นครั้งที่สองของนิพจน์และ
-regexp/ ขยายจุด
คำสั่ง
ต่อไปนี้ ข้อความที่แบ่งเขตด้วยเครื่องหมายทับหมายถึงข้อความที่คั่นด้วยการพิมพ์ใดๆ
อักขระยกเว้นตัวอักษรและตัวเลข ตัวคั่นต่อท้ายจำนวนเท่าใดก็ได้ถูกตัดออกด้วย
การลบออกหลายรายการจากนั้นแสดงสตริงว่าง แต่ตัวคั่นแรกจะต้องเป็น .เสมอ
ปัจจุบัน. ในข้อความที่มีตัวคั่น การขึ้นบรรทัดใหม่อาจไม่ปรากฏตามตัวอักษร \n อาจพิมพ์ for
ขึ้นบรรทัดใหม่; และ \/ อ้างอิงตัวคั่นที่นี่ Backslash ถูกตีความตามตัวอักษร
ยกเว้นใน s คำสั่ง
คำสั่งส่วนใหญ่อาจมีที่อยู่นำหน้าเพื่อระบุช่วงการทำงาน เหล่านั้น
ที่อาจไม่มีเครื่องหมายด้านล่าง หากคำสั่งใช้ที่อยู่และไม่มีการระบุไว้
ใช้จุด ข้อยกเว้นเพียงอย่างเดียวคือ w คำสั่งซึ่งมีค่าเริ่มต้นเป็น 0,$. ใน
คำอธิบาย 'ช่วง' ใช้เพื่อแสดงถึงที่อยู่ใดๆ ที่ให้มา ชุดคำสั่งมากมาย
ค่าของจุดเป็นผลข้างเคียง หากเป็นเช่นนั้น ค่านี้จะถูกกำหนดเป็น `ผลลัพธ์' ของการเปลี่ยนแปลงเสมอ:
สตริงว่างสำหรับการลบ ข้อความใหม่สำหรับการแทรก ฯลฯ (แต่ดู s และ e
คำสั่ง)
ข้อความ คำสั่ง
a/ข้อความ/
or
a
เส้น of ข้อความ
. แทรกข้อความลงในไฟล์หลังช่วง กำหนดจุด
c
i เหมือนกับ aแต่ c แทนที่ข้อความในขณะที่ i แทรก ก่อน ช่วง
d ลบข้อความในช่วง กำหนดจุด
s/regexp/ข้อความ/
แทน ข้อความ สำหรับการจับคู่ครั้งแรกกับนิพจน์ทั่วไปในช่วง ชุด
จุดไปยังช่วงที่แก้ไข ใน ข้อความ บทบาท & ย่อมาจาก string that
ตรงกับนิพจน์ แบ็กสแลชทำงานตามปกติเว้นแต่ตามด้วยตัวเลข: \d
ย่อมาจากสตริงที่ตรงกับนิพจน์ย่อยที่เริ่มต้นโดย d-th ซ้าย
วงเล็บ. ถ้า s ตามด้วยตัวเลขทันที nเช่นเดียวกับใน s2/x/ปี/ที่ n-NS
การแข่งขันในช่วงจะถูกแทนที่ ถ้าตามคำสั่งด้วย a gเช่นเดียวกับใน
ส/x/ย/กการแข่งขันทั้งหมดในช่วงจะถูกแทนที่
m a1
t a1 เคลื่อนไหว (m) หรือคัดลอก (t) ช่วงหลัง a1. กำหนดจุด
แสดง คำสั่ง
p พิมพ์ข้อความในช่วง กำหนดจุด
= พิมพ์ที่อยู่บรรทัดและที่อยู่อักขระของช่วง
=# พิมพ์เฉพาะที่อยู่อักขระของช่วง
เนื้อไม่มีมัน คำสั่ง
* b รายการไฟล์
ตั้งค่าไฟล์ปัจจุบันเป็นไฟล์แรกที่มีชื่ออยู่ในรายการที่ แซม มีอยู่ใน
เมนู. รายการอาจแสดง <แพ็กเกจ 9 คำสั่ง ซึ่งในกรณีนี้ชื่อไฟล์คือ
นำมาเป็นคำ (ในความหมายของเชลล์) ที่สร้างโดยคำสั่ง Plan 9
* B รายการไฟล์
เหมือนกับ bยกเว้นว่ามีการป้อนชื่อไฟล์ที่ไม่ได้อยู่ในเมนูและไฟล์ทั้งหมด
มีการตรวจสอบชื่อในรายการ
* n พิมพ์เมนูของไฟล์ รูปแบบคือ:
' หรือว่างแสดงว่าไฟล์ถูกแก้ไขหรือสะอาด
- or + แสดงว่าไฟล์นั้นยังไม่ได้อ่านหรือถูกอ่านแล้ว (ในเทอร์มินัล * วิธี
เปิดมากกว่าหนึ่งหน้าต่าง)
. หรือว่างเพื่อระบุไฟล์ปัจจุบัน
ว่างเปล่า
และชื่อไฟล์
* D รายการไฟล์
ลบไฟล์ที่มีชื่อออกจากเมนู หากไม่มีชื่อไฟล์ ไฟล์ปัจจุบันจะถูกลบ
มันเป็นข้อผิดพลาดที่จะ D ไฟล์ที่แก้ไข แต่ในภายหลัง D จะลบไฟล์ดังกล่าว
I / O คำสั่ง
* e ชื่อไฟล์
แทนที่ไฟล์ด้วยเนื้อหาของไฟล์ภายนอกที่มีชื่อ ตั้งค่าจุดเป็น
จุดเริ่มต้นของไฟล์.
r ชื่อไฟล์
แทนที่ข้อความในช่วงด้วยเนื้อหาของไฟล์ภายนอกที่มีชื่อ กำหนดจุด
w ชื่อไฟล์
เขียนช่วง (ค่าเริ่มต้น 0,$) ไปยังไฟล์ภายนอกที่มีชื่อ
* f ชื่อไฟล์
ตั้งชื่อไฟล์และพิมพ์รายการเมนูที่ได้
หากไม่มีชื่อไฟล์จากสิ่งเหล่านี้ จะใช้ชื่อไฟล์ปัจจุบัน e เสมอ
ตั้งชื่อไฟล์; r และ w ทำเช่นนั้นหากไฟล์ไม่มีชื่อ
< แพ็กเกจ 9-คำสั่ง
แทนที่ช่วงด้วยเอาต์พุตมาตรฐานของคำสั่ง Plan 9
> แพ็กเกจ 9-คำสั่ง
ส่งช่วงไปยังอินพุตมาตรฐานของคำสั่ง Plan 9
| แพ็กเกจ 9-คำสั่ง
ส่งช่วงไปยังอินพุตมาตรฐานและแทนที่ด้วยเอาต์พุตมาตรฐานของ
คำสั่งแผน 9
* ! แพ็กเกจ 9-คำสั่ง
เรียกใช้คำสั่งแผน 9
* cd ไดเรกทอรี
เปลี่ยนไดเร็กทอรีการทำงาน หากไม่มีการระบุไดเร็กทอรี $บ้าน ถูกนำมาใช้.
ในใด ๆ ของ <, >, | or !ถ้า แพ็กเกจ 9 คำสั่ง ถูกละเว้นครั้งสุดท้าย แพ็กเกจ 9 คำสั่ง (ของใดๆ
ชนิด) ถูกแทนที่ ถ้า แซม is ดาวน์โหลด (โดยใช้เมาส์และการแสดงแรสเตอร์ กล่าวคือ ไม่ใช่
ใช้ตัวเลือก -d), ! ตั้งค่าอินพุตมาตรฐานเป็น / dev / nullและเอาต์พุตที่ไม่ได้กำหนดอย่างอื่น
(แย่ สำหรับ ! และ >, สตเดอร์ ทั้งหมด) อยู่ใน /tmp/sam.err และสองสามบรรทัดแรก
ถูกพิมพ์
ลูป และ เงื่อนไข
x/regexp/ คำสั่ง
สำหรับการจับคู่นิพจน์ทั่วไปในช่วง ให้รันคำสั่งด้วย dot set
ในการแข่งขัน ตั้งจุดเป็นนัดสุดท้าย ถ้านิพจน์ทั่วไปและของ
เครื่องหมายทับจะถูกละเว้น การจับคู่สตริงว่างอาจเกิดขึ้นก่อน
ทุกอักขระของช่วงและที่ส่วนท้ายของช่วง
y/regexp/ คำสั่ง
Like xแต่ให้รันคำสั่งสำหรับแต่ละสตริงย่อยที่อยู่ก่อน ระหว่าง หรือหลัง
การแข่งขันที่จะสร้างโดย x. ไม่มีนิพจน์ทั่วไปที่เป็นค่าเริ่มต้น
สตริงย่อยที่เป็นค่าว่างอาจเกิดขึ้นก่อนอักขระทุกตัวในช่วง
* X/regexp/ คำสั่ง
สำหรับแต่ละไฟล์ที่มีรายการเมนูตรงกับนิพจน์ทั่วไป ให้
ไฟล์ปัจจุบันและรันคำสั่ง หากละเว้นนิพจน์ คำสั่งจะถูกเรียกใช้
ในทุกไฟล์
* Y/regexp/ คำสั่ง
เหมือนกับ Xแต่สำหรับไฟล์ที่ไม่ตรงกับนิพจน์ทั่วไปและ
จำเป็นต้องมีการแสดงออก
g/regexp/ คำสั่ง
v/regexp/ คำสั่ง
หากช่วงประกอบด้วย (g) หรือไม่มี (v) การจับคู่สำหรับนิพจน์ set
จุดไปที่ช่วงและเรียกใช้คำสั่ง
สิ่งเหล่านี้อาจซ้อนกันอย่างลึกซึ้งโดยพลการ แต่มีเพียงหนึ่งตัวอย่างเท่านั้น X or Y อาจปรากฏขึ้น
ในคำสั่งเดียว คำสั่งว่างใน an x or y ค่าเริ่มต้นเป็น p; คำสั่งว่างใน X
or Y ค่าเริ่มต้นเป็น f. g และ v ไม่มีค่าเริ่มต้น
เรื่องจิปาถะ
k ตั้งค่าเครื่องหมายของไฟล์ปัจจุบันเป็นช่วง ไม่ได้กำหนดจุด
* q ล้มเลิก. มันเป็นข้อผิดพลาดที่จะเลิกกับไฟล์ที่แก้ไข แต่วินาทีนั้น q จะสำเร็จ.
* u n เลิกทำล่าสุด n (ค่าเริ่มต้น 1) คำสั่งระดับบนสุดที่เปลี่ยนเนื้อหาหรือชื่อของ
ไฟล์ปัจจุบัน และไฟล์อื่นๆ ที่การเปลี่ยนแปลงล่าสุดพร้อมกันกับ
การเปลี่ยนแปลงของไฟล์ปัจจุบัน ต่อเนื่อง uย้อนเวลาไปได้อีกไกล เพียง
คำสั่งที่คุณไม่ได้ผลคือ cd, u, q, w และ D. ถ้า n เป็นลบ u
`ทำซ้ำ' เลิกทำการเลิกทำ ไปข้างหน้าในเวลาอีกครั้ง
(ว่าง)
หากช่วงมีความชัดเจน ให้ตั้งค่าจุดเป็นช่วง ถ้า แซม ดาวน์โหลดแล้ว
เลือกจุดผลลัพธ์บนหน้าจอ มิฉะนั้นจะถูกพิมพ์ หากไม่มีที่อยู่คือ
ระบุ (คำสั่งคือขึ้นบรรทัดใหม่) จุดถูกขยายในทิศทางใดทิศทางหนึ่งไปยัง line
ขอบเขตและพิมพ์ หากจุดไม่เปลี่ยนแปลง จะถูกตั้งค่าเป็น .+1 และพิมพ์
หมวดหมู่ และ หลาย การเปลี่ยนแปลง
คำสั่งอาจจัดกลุ่มโดยใส่วงเล็บปีกกา {}. คำสั่งภายในวงเล็บต้อง
ปรากฏในบรรทัดแยกกัน (ไม่จำเป็นต้องมีแบ็กสแลชระหว่างคำสั่ง) ความหมาย an
วงเล็บปีกกาเป็นเหมือนคำสั่ง: ใช้ที่อยู่ (เป็นทางเลือก) และตั้งค่าจุดสำหรับแต่ละส่วนย่อย
สั่งการ. คำสั่งภายในวงเล็บปีกกาจะดำเนินการตามลำดับ แต่การเปลี่ยนแปลงทำโดยหนึ่ง
คำสั่งอื่นไม่สามารถมองเห็นได้ (ดูย่อหน้าถัดไป) วงเล็บอาจซ้อนกัน
โดยพลการ
เมื่อคำสั่งทำการเปลี่ยนแปลงจำนวนหนึ่งกับไฟล์เช่นใน x/re/c/ข้อความ/, ที่อยู่ของ
การเปลี่ยนแปลงทั้งหมดในไฟล์จะถูกคำนวณในไฟล์ต้นฉบับ หากมีการเปลี่ยนแปลงใน
ลำดับ จะถูกนำไปใช้กับไฟล์ การแทรกต่อเนื่องที่อยู่เดียวกันคือ
จัดแบ่งเป็นการแทรกเดียวที่ประกอบด้วยการแทรกหลายรายการในลำดับที่ใช้
การขอ สถานีปลายทาง
ต่อไปนี้หมายถึงพฤติกรรมของ แซม เมื่อดาวน์โหลด กล่าวคือ เมื่อใช้งานเป็น a
ตัวแก้ไขการแสดงผลบนจอแสดงผลแบบแรสเตอร์ นี่คือลักษณะการทำงานเริ่มต้น อัญเชิญ แซม กับ
-d (ไม่ดาวน์โหลด) ตัวเลือกให้การเข้าถึงภาษาคำสั่งเท่านั้น
แต่ละไฟล์อาจมีหน้าต่างเปิดอยู่ตั้งแต่ศูนย์ขึ้นไป แต่ละหน้าต่างมีค่าเท่ากันและมีการอัพเดท
พร้อมกันกับการเปลี่ยนแปลงในหน้าต่างอื่นในไฟล์เดียวกัน แต่ละหน้าต่างมี
ค่าอิสระของจุด ซึ่งระบุโดยสตริงย่อยที่ไฮไลต์บนจอแสดงผล จุดอาจจะเป็น
ในภูมิภาคที่ไม่ได้อยู่ในหน้าต่าง โดยปกติจะมี `หน้าต่างปัจจุบัน' ที่ทำเครื่องหมายด้วย
เส้นขอบสีเข้มซึ่งใช้คำสั่งข้อความและการแก้ไข สามารถพิมพ์และแก้ไขข้อความได้
เช่นเดียวกับใน rio(1); นอกจากนี้แป้น Escape (ESC) จะเลือก (ตั้งค่าจุดเป็น) ข้อความที่พิมพ์ตั้งแต่ตัวสุดท้าย
กดปุ่มเมาส์
เมนูปุ่ม 3 ควบคุมการทำงานของหน้าต่าง ด้านบนของเมนูมีดังต่อไปนี้
โอเปอเรเตอร์ ซึ่งแต่ละตัวใช้หนึ่งตัวหรือมากกว่า rio-like เคอร์เซอร์เพื่อให้เลือกa
หน้าต่างหรือกวาดสี่เหลี่ยม `การกวาด' สี่เหลี่ยมว่างๆ จะได้หน้าต่างบานใหญ่
แยกออกจากหน้าต่างคำสั่งหรือทั้งหน้าจอ ขึ้นอยู่กับตำแหน่งที่ null
สี่เหลี่ยมคือ
ใหม่ สร้างไฟล์ใหม่ที่ว่างเปล่า
ซีร็อกซ์ สร้างสำเนาของหน้าต่างที่มีอยู่
ปรับขนาด เช่นใน rio.
ปิดการขาย ลบหน้าต่าง ในหน้าต่างสุดท้ายของไฟล์ ปิดการขาย เทียบเท่ากับ D สำหรับ
ไฟล์
เขียน เทียบเท่ากับ a w สำหรับไฟล์.
ด้านล่างโอเปอเรเตอร์เหล่านี้คือรายการไฟล์ที่พร้อมใช้งาน โดยขึ้นต้นด้วย ~~แซม~~, คำสั่ง
หน้าต่าง. การเลือกไฟล์จากรายการจะทำให้หน้าต่างที่ใช้ล่าสุดในไฟล์นั้น
ปัจจุบัน เว้นแต่จะเป็นปัจจุบันแล้ว ซึ่งในกรณีนี้ การเลือกจะวนผ่าน open
หน้าต่าง หากไม่มีหน้าต่างเปิดอยู่ในไฟล์ ผู้ใช้จะได้รับแจ้งให้เปิด ไฟล์
นอกเหนือจาก ~~แซม~~ ถูกทำเครื่องหมายด้วยหนึ่งในตัวอักษร - ตามศูนย์ หนึ่ง หรือ
มีการเปิดหน้าต่างเพิ่มเติมในไฟล์ เครื่องหมายเพิ่มเติมปรากฏบนไฟล์ในปัจจุบัน
หน้าต่างและคำพูดเดียว 'ในไฟล์ที่แก้ไขตั้งแต่เขียนครั้งล่าสุด
หน้าต่างคำสั่งที่สร้างขึ้นโดยอัตโนมัติเมื่อ แซม เริ่มเป็นหน้าต่างธรรมดา ยกเว้น
ข้อความที่พิมพ์ลงไปจะถูกตีความว่าเป็นคำสั่งสำหรับตัวแก้ไขมากกว่าข้อความแบบพาสซีฟ
และข้อความที่พิมพ์โดยคำสั่งแก้ไขจะปรากฏในนั้น นิสัยก็เหมือน rioด้วย
`จุดส่งออก' ที่แยกคำสั่งที่พิมพ์ออกจากเอาต์พุตก่อนหน้า คำสั่งที่พิมพ์
ในหน้าต่างคำสั่งนำไปใช้กับไฟล์ที่เปิดอยู่ปัจจุบัน—ไฟล์ในไฟล์ล่าสุดปัจจุบัน
หน้าต่าง
การจัดการ ข้อความ
ปุ่ม 1 เปลี่ยนการเลือกเหมือนมาก rio. ชี้ไปที่หน้าต่างที่ไม่เป็นปัจจุบันด้วยปุ่ม 1
ทำให้เป็นปัจจุบัน ภายในหน้าต่างปัจจุบัน ปุ่ม 1 จะเลือกข้อความ ดังนั้นการตั้งค่าจุด
การดับเบิลคลิกจะเลือกข้อความไปยังขอบเขตของคำ, บรรทัด, สตริงที่ยกมา หรือ
สตริงในวงเล็บ ขึ้นอยู่กับข้อความที่คลิก
ปุ่ม 2 มีเมนูคำสั่งแก้ไข:
ตัด ลบจุดและบันทึกข้อความที่ถูกลบในบัฟเฟอร์ snarf
พาสต้า แทนที่ข้อความเป็นจุดด้วยเนื้อหาของบัฟเฟอร์ snarf
คำแสลง บันทึกข้อความเป็นจุดในบัฟเฟอร์ snarf
นำ ส่งข้อความในส่วนที่เลือกเป็นข้อความลูกดิ่ง หากส่วนที่เลือกว่างเปล่า
บล็อกข้อความที่คั่นด้วยช่องว่างสีขาวจะถูกส่งเป็นข้อความลูกดิ่งด้วย คลิก
แอตทริบิวต์กำหนดตำแหน่งที่เลือก (ดู นำ(พ.ศ. 7)).
มอง ค้นหาไปข้างหน้าสำหรับการเกิดขึ้นของข้อความตัวอักษรในจุดต่อไป ถ้าจุดคือ
สตริง null ข้อความในบัฟเฟอร์ snarf ถูกใช้ บัฟเฟอร์ snarf ไม่ได้รับผลกระทบ
แลกเปลี่ยนบัฟเฟอร์ snarf กับ rio.
/regexp
ค้นหาไปข้างหน้าสำหรับการจับคู่ถัดไปของนิพจน์ทั่วไปล่าสุดที่พิมพ์ในa
สั่งการ. (ไม่อยู่ในหน้าต่างคำสั่ง)
ส่ง ส่งข้อความเป็น dot หรือ snarf buffer หาก dot เป็นสตริงว่าง ราวกับว่าเป็น
พิมพ์ไปที่หน้าต่างคำสั่ง บันทึกข้อความที่ส่งในบัฟเฟอร์ snarf (สั่งการ
หน้าต่างเท่านั้น)
ภายนอก การสื่อสาร
แซม ฟัง แก้ไข พอร์ตลูกดิ่ง หากระบบประปาไม่ทำงาน ให้ทำการเรียก แซม สร้าง
ชื่อไปป์ /srv/แซม.ผู้ใช้งาน ซึ่งทำหน้าที่เป็นแหล่งคำสั่งเพิ่มเติม ตัวละคร
ที่เขียนไปยังไพพ์ที่มีชื่อจะถือว่าถูกพิมพ์ในหน้าต่างคำสั่ง
B เป็นคำสั่งระดับเชลล์ที่ทำให้เกิดอินสแตนซ์ของ แซม ทำงานบนเทอร์มินัลเดียวกันถึง
โหลดชื่อ ไฟล์. B ใช้ท่อประปาหรือท่อที่มีชื่อบริการแล้วแต่ว่าจะเป็น
มีอยู่. หากไม่ได้เปิดใช้งานระบบประปา ตัวเลือกนี้จะอนุญาตให้ระบุหมายเลขบรรทัดได้
สำหรับตำแหน่งเริ่มต้นที่จะแสดงในไฟล์นามสกุล (ประปาให้ more
กลไกทั่วไปสำหรับความสามารถนี้)
E เป็นคำสั่งระดับเชลล์ที่สามารถใช้เป็น $ EDITOR ในสภาพแวดล้อม Unix มันวิ่ง B
on ไฟล์ แล้วไม่ออกจนกว่า ไฟล์ เปลี่ยนแปลงไปซึ่งถือเป็นสัญญาณว่า ไฟล์
กำลังแก้ไขอยู่
ผิดปกติ การสิ้นสุด
If แซม สิ้นสุดลงนอกเหนือจาก a q คำสั่ง (โดยวางสาย ลบหน้าต่าง ฯลฯ)
ไฟล์ที่แก้ไขจะถูกบันทึกในไฟล์ปฏิบัติการ $HOME/sam.save. โปรแกรมนี้เมื่อ
ดำเนินการถามว่าจะเขียนแต่ละไฟล์กลับไปที่ไฟล์ภายนอกหรือไม่ คำตอบทำให้เกิด
การเขียน; อย่างอื่นข้ามไฟล์
ใช้ samplan9 ออนไลน์โดยใช้บริการ onworks.net