mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-29 07:58:28 +00:00
365e01cc9f
Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
1007 lines
119 KiB
Plaintext
1007 lines
119 KiB
Plaintext
คู่มือการใช้อีแมกส์. โปรดศึกษาส่วนท้ายของคู่มือสำหรับเงื่อนไขในการทำสำเนา.
|
|
สงวนลิขสิทธิ์ พ.ศ. 2528 โดยบริษัทฟรีซอฟต์แวร์ฟาวน์เดชัน (Free Software
|
|
Foundation, Inc); กรุณาศึกษาเงื่อนไขตอนท้ายบท.
|
|
ท่านกำลังศึกษาคู่มือการใช้อีแมกส์ (Emacs tutorial) อยู่ในขณะนี้.
|
|
|
|
โดยทั่วไปคำสั่งของอีแมกส์ (Emacs) จะใช้คู่กับปุ่ม CONTROL (บางครั้งอาจเป็นปุ่มที่มี
|
|
สัญลักษณ์ CTRL หรือ CTL) หรือ ปุ่ม META (บางครั้งอาจเป็นปุ่มที่มีสัญลักษณ์ EDIT หรือ
|
|
ALT). แทนที่จะใช้คำเต็มในการอธิบาย, เราจะใช้ตัวย่อดังต่อไปนี้:
|
|
|
|
C-<chr> หมายถึงให้กดปุ่ม CONTROL และปุ่มอักษร <chr> พร้อมกัน.
|
|
ดังนั้น C-f จะหมายถึงให้กดปุ่ม CONTROL และปุ่ม f พร้อมกัน.
|
|
M-<chr> หมายถึงให้กดปุ่ม META หรือ EDIT หรือ ALT และปุ่มอักษร <chr>
|
|
พร้อมกัน. ในกรณีที่ไม่มีปุ่ม META, EDIT หรือ ALT ให้กดปุ่ม
|
|
ESC แล้วปล่อย, แล้วกดปุ่ม <chr>. เราใช้สัญลักษณ์ <ESC> แทนปุ่ม ESC.
|
|
|
|
หมายเหตุ: ในกรณีที่ต้องการเลิกใช้อีแมกส์, ให้กดปุ่ม C-x C-c. (สองตัวอักษร.)
|
|
ตัวอักษร ">>" ที่ปรากฏอยู่ทางขอบซ้ายมือเป็นการแนะนำให้ท่านลองใช้คำสั่ง. ตัวอย่างเช่น:
|
|
<<Blank lines inserted here by startup of help-with-tutorial>>
|
|
>> กดปุ่ม C-v (ดูหน้าจอถัดไป) เพื่อที่จะเคลื่อนไปยังหน้าจอถัดไป.
|
|
(ลองทำดูโดยการกดปุ่ม CONTROL และปุ่มอักษร v พร้อมกัน).
|
|
จากนี้ไป, ท่านควรจะลองใช้คำสั่งนี้ดูเมื่อท่านอ่านหน้าจอนี้จบแล้ว.
|
|
|
|
ท่านจะสังเกตเห็นได้ว่าสองบรรทัดของหน้าจอที่แล้วจะยังคงปรากฏให้เห็นบนหน้าจอถัดไป; นี่
|
|
เป็นการช่วยให้ท่านสามารถอ่านหน้าจอได้อย่างต่อเนื่อง.
|
|
|
|
สิ่งแรกที่ท่านจำเป็นต้องรู้คือการเคลื่อนตำแหน่งไปมาในข้อความ. ขณะนี้ท่านทราบ
|
|
วิธีการเคลื่อนไปยังหน้าจอถัดไปแล้วด้วยปุ่ม C-v. ในการที่จะเคลื่อนกลับไปหนึ่งหน้าจอ, กดปุ่ม
|
|
M-v (กดปุ่ม META และปุ่ม v, หรือกดปุ่ม <ESC>v ถ้าท่านไม่มีปุ่ม META, EDIT, หรือ ALT).
|
|
|
|
>> ลองกดปุ่ม M-v และกดปุ่ม C-v ดูการทำงานสักสองสามครั้ง.
|
|
|
|
|
|
* สรุป
|
|
-----
|
|
|
|
คำสั่งต่อไปนี้ใช้เมื่อต้องการดูหน้าจอต่างๆ:
|
|
|
|
C-v เคลื่อนไปยังหน้าจอถัดไปหนึ่งหน้าจอ
|
|
M-v เคลื่อนกลับไปหนึ่งหน้าจอ
|
|
C-l ลบหน้าจอ แล้วแสดงผลหน้าจอใหม่, พร้อมทั้งย้ายตำแหน่งของข้อความที่มี
|
|
เคอร์เซอร์ (cursor) ปรากฏอยู่ไปแสดงไว้กลางจอ.
|
|
(คำสั่งนี้คือ CONTROL-L, ไม่ใช่ CONTROL-1.)
|
|
|
|
>> สังเกตตำแหน่งของเคอร์เซอร์, และสังเกตดูว่ามีข้อความอะไรอยู่ใกล้เคอร์เซอร์.
|
|
แล้วกดปุ่ม C-l.
|
|
สังเกตดูตำแหน่งของเคอร์เซอร์อีกครั้ง จะเห็นว่ามีข้อความเดิมปรากฏอยู่ใกล้ๆ กับเคอร์เซอร์.
|
|
|
|
|
|
* การควบคุมเคอร์เซอร์เบื้องต้น
|
|
------------------------
|
|
|
|
การเคลื่อนหน้าจอไปมานั้นเป็นสิ่งจำเป็น แต่ท่านจะทำอย่างไรถ้าท่านต้องการจะเคลื่อนไปยัง
|
|
ตำแหน่งที่ต้องการภายในข้อความที่ปรากฏอยู่บนหน้าจอ?
|
|
|
|
มีหลายวิธีที่สามารถจะทำได้. วิธีที่พื้นที่สุดคือการใช้คำสั่ง C-p, C-b, C-f, และ C-n.
|
|
แต่ละคำสั่งจะเคลื่อนเคอร์เซอร์ไปหนึ่งบรรทัดหรือหนึ่งคอลัมน์ในทิศทางใดทิศทางหนึ่งบนหน้าจอ.
|
|
ต่อไปนี้เป็นตารางแสดงคำสั่งทั้งสี่ และทิศทางที่เคอร์เซอร์เคลื่อนไป:
|
|
|
|
บรรทัดก่อนหน้า, C-p
|
|
:
|
|
:
|
|
ย้อนกลับ, C-b .... ตำแหน่งเคอร์เซอร์ปัจจุบัน .... ข้างหน้า, C-f
|
|
:
|
|
:
|
|
บรรทัดถัดไป, C-n
|
|
|
|
>> เคลื่อนเคอร์เซอร์ไปที่กึ่งกลางของผังข้างบนโดยใช้คำสั่ง C-n หรือ C-p. แล้วกดปุ่ม
|
|
C-l เพื่อให้ผังปรากฏอยู่กลางหน้าจอ.
|
|
|
|
ท่านอาจจะจำคำสั่งได้ง่ายขึ้นโดยสังเกตตัวอักษรที่ใช้: p สำหรับ previous (ก่อนหน้า), n
|
|
สำหรับ next (ถัดไป), b สำหรับ backward (ย้อนกลับ), และ f สำหรับ forward
|
|
(ข้างหน้า). เหล่านี้คือเบื้องต้นของคำสั่งในการควบคุมตำแหน่งของเคอร์เซอร์, และท่าน
|
|
จะต้องใช้คำสั่งเหล่านี้บ่อยครั้ง, ฉะนั้นจึงเป็นการดีที่จะจำคำสั่งเหล่านี้ไว้.
|
|
|
|
>> ลองใช้คำสั่ง C-n ดูเพื่อที่จะเคลื่อนเคอร์เซอร์ลงมายังบรรทัดนี้.
|
|
|
|
>> ลองเคลื่อนเข้าไปในบรรทัดโดยใช้คำสั่ง C-f และเคลื่อนขึ้นข้างบนโดยใช้คำสั่ง C-p.
|
|
สังเกตดูว่าเกิดอะไรขึ้นถ้าใช้คำสั่ง C-p เมื่อตำแหน่งเคอร์เซอร์ปรากฏอยู่ที่ตรงกลาง
|
|
ของบรรทัด.
|
|
|
|
แต่ละบรรทัดสิ้นสุดด้วยอักขระ Newline, ซึ่งใช้แสดงขอบเขตระหว่างบรรทัด. ที่ท้ายสุดของ
|
|
ไฟล์ก็จะมีอักขระ Newline เช่นกัน (แต่สำหรับอีแมกส์แล้วไม่จำเป็น).
|
|
|
|
>> ลองใช้คำสั่ง C-b ที่ตำแหน่งเริ่มต้นของบรรทัดดู. เคอร์เซอร์จะเคลื่อนไปยังตำแหน่ง
|
|
ท้ายสุดของบรรทัดก่อนหน้า. นี่เป็นเพราะว่าเคอร์เซอร์ได้เคลื่อนข้ามอักขระ Newline ไป.
|
|
|
|
คำสั่ง C-f สามารถเคลื่อนข้ามอักขระ Newline ได้เช่นเดียวกับคำสั่ง C-b.
|
|
|
|
>> ลองใช้คำสั่ง C-b ดูอีกสักหน่อย, ท่านจะสามารถเข้าใจการเคลื่อนเคอร์เซอร์ได้ดีขึ้น.
|
|
แล้วลองใช้คำสั่ง C-f เพื่อที่จะเคลื่อนไปยังตำแหน่งท้ายสุดของบรรทัด.
|
|
แล้วลองใช้คำสั่ง C-f อีกสักครั้งเพื่อที่จะเคลื่อนไปยังบรรทัดถัดไป.
|
|
|
|
เมื่อท่านเคลื่อนผ่านตำแหน่งบนสุดหรือท้ายสุดของหน้าจอ, ข้อความถัดจากบรรทัดที่อยู่ที่
|
|
ขอบนั้นจะขยับเข้ามาปรากฏอยู่บนหน้าจอ. นี่เรียกว่า "การเคลื่อนม้วน (scrolling)". นี่
|
|
เป็นการทำให้อีแมกส์สามารถเคลื่อนเคอร์เซอร์ไปยังตำแหน่งที่ต้องการบนข้อความได้โดย
|
|
ไม่เคลื่อนออกนอกหน้าจอ.
|
|
|
|
>> ลองเคลื่อนเคอร์เซอร์ลงออกไปนอกหน้าจอโดยใช้คำสั่ง C-n, แล้วดูว่ามีอะไรเกิดขึ้น.
|
|
|
|
ถ้าเคลื่อนทีละตัวอักษรนั้นช้าไป, ท่านก็สามารถจะเคลื่อนได้ทีละคำ. คำสั่ง M-f (META-f)
|
|
ใช้ในการเคลื่อนไปยังคำที่อยู่ถัดไป และ M-b ใช้ในการเคลื่อนไปยังคำที่อยู่ก่อนหน้า.
|
|
|
|
>> ลองใช้คำสั่ง M-f และ M-b ดูสักสองสามครั้ง.
|
|
|
|
เมื่อท่านอยู่ที่ตำแหน่งกลางของคำ, คำสั่ง M-f จะใช้เคลื่อนไปยังตำแหน่งท้ายของคำนั้น. เมื่อ
|
|
ท่านอยู่ที่ตำแหน่งเว้นวรรคระหว่างคำ, คำสั่ง M-f จะใช้เคลื่อนไปยังตำแหน่งท้ายของคำ
|
|
ที่อยู่ถัดไป. คำสั่ง M-b ทำหน้าที่ทำนองเดียวกัน แต่เคลื่อนไปในทิศทางตรงกันข้าม.
|
|
|
|
หมายเหตุ: เนื่องจากภาษาไทยไม่มีการใช้อักขระเว้นวรรค (whitespace) ในการแสดง
|
|
ขอบเขตของคำ, ฉะนั้นเมื่ออยู่ในโหมดภาษาไทย (ThaiText mode) อีแมกส์
|
|
จะทำการกำกับขอบเขตของคำโดยอาศัยโปรแกรมตัดคำ. คำสั่ง M-f และ M-b
|
|
จึงจะทำงานได้, แต่จะให้ผลต่างไปเล็กน้อย. กล่าวคือ:
|
|
|
|
ไม่ว่าท่านอยู่ที่ตำแหน่งกลางหรือตำแหน่งเริ่มต้นของคำก็ตาม, คำสั่ง M-f จะใช้
|
|
เคลื่อนไปยังตำแหน่งเริ่มต้นของคำถัดไปในกรณีที่คำนั้นไม่ได้เป็นคำสุดท้ายของ
|
|
บรรทัด. ถ้าคำนั้นเป็นคำสุดท้ายของบรรทัด, คำสั่ง M-f จะใช้เคลื่อนไปยัง
|
|
ตำแหน่งท้ายของคำนั้น.
|
|
|
|
>> ลองใช้คำสั่ง M-f และ M-b ดู, โดยปะปนกับคำสั่ง C-f และ C-b, ท่านจะสังเกต
|
|
เห็นการทำงานของคำสั่ง M-f และ M-b ในตำแหน่งต่างๆ ทั้งในคำและระหว่างคำ.
|
|
|
|
ท่านสามารถสังเกตได้ว่าคำสั่ง C-f และ C-b นั้นทำหน้าที่ในลักษณะเดียวกับคำสั่ง M-f
|
|
และ M-b, แต่อยู่บนเกณฑ์ที่ต่างกัน. ส่วนมาก ปุ่ม META จะถูกกำหนดให้ใช้กับการทำงานใน
|
|
ระดับที่เกี่ยวข้องกับหน่วยที่กำหนดขึ้นทางภาษา (เช่น คำ, ประโยค, ย่อหน้า, เป็นต้น),
|
|
ขณะที่ปุ่ม CONTROL นั้นมักจะถูกกำหนดให้ใช้กับการทำงานในระดับที่เกี่ยวข้องกับหน่วยย่อย
|
|
อิสระที่ทำการแก้ไขได้ (เช่น ตัวอักษร, บรรทัด, เป็นต้น).
|
|
|
|
การทำงานในทำนองเดียวกันสำหรับบรรทัดกับประโยค: คำสั่ง C-a และ C-e ใช้เคลื่อน
|
|
ไปยังตำแหน่งเริ่มต้นและท้ายของบรรทัด, ขณะเดียวกันคำสั่ง M-a และ M-e ใช้เคลื่อน
|
|
ไปยังตำแหน่งเริ่มต้นและท้ายของประโยค.
|
|
|
|
หมายเหตุ: เนื่องจากภาษาไทยไม่นิยมใช้อักขระมหัพภาค (period) ในการแสดงจุดสิ้นสุดของ
|
|
ประโยค, ทำให้ไม่สามารถกำหนดขอบเขตของประโยคให้ถูกต้องได้. ดังนั้นเมื่อ
|
|
อยู่ในโหมดภาษาไทย (ThaiText mode), คำสั่ง M-a และ M-e จะเคลื่อน
|
|
เคอร์เซอร์ไปยังตำแหน่งเริ่มต้นของย่อหน้า และตำแหน่งท้ายสุดของย่อหน้า
|
|
ตามลำดับ. ยกเว้นกรณีที่มีการใช้อักขระมหัพภาค.
|
|
|
|
>> ลองใช้คำสั่ง C-a และ C-e ดูสักสองสามครั้ง.
|
|
ลองใช้คำสั่ง M-a และ M-e ดูสักสองสามครั้ง.
|
|
|
|
สังเกตดูว่าการใช้คำสั่ง C-a ซ้ำๆ กันจะไม่เกิดผลอะไร, แต่การใช้คำสั่ง M-a จะทำให้
|
|
เคอร์เซอร์เคลื่อนไปทีละประโยค. แม้ว่าการเคลื่อนเคอร์เซอร์ของทั้งสองแบบนี้จะไม่
|
|
คล้ายกันเลยทีเดียว, แต่ก็ดูเป็นธรรมชาติดี.
|
|
|
|
บางครั้งเราก็เรียกตำแหน่งของเคอร์เซอร์ว่า "จุด (point)". กล่าวคือ, เคอร์เซอร์ที่
|
|
ปรากฏอยู่บนหน้าจอก็คือตำแหน่งที่จุดปรากฏอยู่บนข้อความนั่นเอง.
|
|
|
|
ต่อไปนี้เป็นสรุปของชุดคำสั่งสำหรับการเคลื่อนเคอร์เซอร์, ซึ่งรวมถึงการเคลื่อนในระดับคำ
|
|
และประโยค:
|
|
|
|
C-f เคลื่อนไปข้างหน้าหนึ่งตัวอักษร
|
|
C-b เคลื่อนกลับไปหนึ่งตัวอักษร
|
|
|
|
M-f เคลื่อนไปข้างหน้าหนึ่งคำ
|
|
M-b เคลื่อนกลับไปหนึ่งคำ
|
|
|
|
C-n เคลื่อนไปบรรทัดถัดไป
|
|
C-p เคลื่อนไปบรรทัดก่อนหน้า
|
|
|
|
C-a เคลื่อนไปยังตำแหน่งเริ่มต้นของบรรทัด
|
|
C-e เคลื่อนไปยังตำแหน่งท้ายของบรรทัด
|
|
|
|
M-a เคลื่อนไปยังตำแหน่งเริ่มต้นของประโยค
|
|
M-e เคลื่อนไปยังตำแหน่งท้ายของประโยค
|
|
|
|
>> ลองใช้คำสั่งเหล่านี้สักระยะเพื่อเป็นการฝึกหัด.
|
|
คำสั่งเหล่านี้เป็นคำสั่งที่ใช้กันบ่อยมาก.
|
|
|
|
มีอีกสองคำสั่งที่สำคัญในการเคลื่อนตำแหน่งคือ คำสั่ง M-< (META น้อยกว่า), ใช้ในการ
|
|
เคลื่อนไปยังตำแหน่งเริ่มต้นของข้อความ, และ M-> (META มากกว่า), ใช้ในการเคลื่อน
|
|
ไปยังตำแหน่งท้ายสุดของข้อความ.
|
|
|
|
ในเครื่องปลายทาง (terminal) ส่วนใหญ่, อักขระ "<" จะอยู่เหนืออักขระจุลภาค
|
|
(comma), ฉะนั้นท่านต้องใช้ปุ่มชิฟต์ (shift) ในการป้อนอักขระนั้น. สำหรับเครื่อง
|
|
ปลายทางแบบนี้, ท่านจึงต้องใช้ปุ่มชิฟต์ในการป้อนคำสั่ง M-< ในทำนองเดียวกัน, ถ้าไม่
|
|
คำนึงถึงปุ่มชิฟต์, ก็หมายความว่าท่านกำลังป้อนคำสั่ง M-comma.
|
|
|
|
>> ลองใช้คำสั่ง M-< ดู, เพื่อเคลื่อนไปยังตำแหน่งเริ่มต้นของคู่มือการใช้นี้.
|
|
แล้วใช้คำสั่ง C-v ซ้ำกันหลายๆ ครั้งเพื่อที่จะเคลื่อนกลับมายังตำแหน่งเดิมนี้.
|
|
|
|
>> ลองใช้คำสั่ง M-> ดู, เพื่อเคลื่อนไปยังตำแหน่งท้ายสุดของคู่มือการใช้นี้.
|
|
แล้วใช้คำสั่ง M-v ซ้ำกันหลายๆ ครั้งเพื่อที่จะเคลื่อนกลับมายังตำแหน่งเดิมนี้.
|
|
|
|
ท่านสามารถเคลื่อนเคอร์เซอร์ได้ด้วยปุ่มลูกศร (arrow key), ถ้าเครื่องปลายทางของท่าน
|
|
มีปุ่มเหล่านี้อยู่. เราแนะนำให้ฝึกหัดใช้คำสั่ง C-b, C-f, C-n และ C-p, ด้วยเหตุผลสาม
|
|
ประการ. หนึ่ง, คำสั่งเหล่านี้ทำงานได้บนเครื่องปลายทางทุกชนิด. สอง, เมื่อท่านได้ฝึกหัด
|
|
การใช้กับอีแมกส์แล้ว ท่านจะรู้สึกว่าการใช้คำสั่งด้วยปุ่ม CONTROL นั้นคล่องตัวกว่าการใช้
|
|
ปุ่มลูกศร (เพราะว่าท่านไม่ต้องเคลื่อนย้ายมือออกจากตำแหน่งมือสัมผัสเลย). สาม, เมื่อ
|
|
ท่านคุ้นเคยกับการใช้คำสั่งประกอบกับปุ่ม CONTROL แล้ว, ท่านสามารถจะฝึกการใช้คำสั่ง
|
|
ชั้นสูงต่อไปได้อีกด้วย.
|
|
|
|
คำสั่งส่วนใหญ่ในอีแมกส์นั้นจะสามารถกำกับตัวเลขอาร์กิวเมนต์ได้; สำหรับคำสั่งส่วนใหญ่,
|
|
ตัวเลขเหล่านี้ก็จะหมายถึงจำนวนครั้งของการประมวลผลของคำสั่งต่อไป. การที่จะทำให้มี
|
|
การประมวลผลของคำสั่งซ้ำเท่าจำนวนที่ต้องการนั้นสามารถทำได้โดยการป้อนคำสั่ง C-u
|
|
แล้วตามด้วยตัวเลขก่อนที่จะป้อนคำสั่งที่ต้องการ. ถ้าท่านมีปุ่ม META (หรือ EDIT หรือ
|
|
ALT), ท่านสามารถจะทำได้ด้วยอีกวิธีหนึ่ง: ป้อนตัวเลขขณะที่กดปุ่ม META อยู่. เราแนะนำ
|
|
ให้ท่านฝึกหัดใช้คำสั่ง C-u เพราะว่าสามารถใช้ได้กับเครื่องปลายทางทุกชนิด. ตัวเลขอาร์
|
|
กิวเมนต์ที่กล่าวถึงนี้เรียกว่า "อาร์กิวเมนต์เติมหน้า (prefix argument)", เพราะว่าท่าน
|
|
ต้องป้อนตัวเลขก่อนที่จะป้อนคำสั่ง.
|
|
|
|
ตัวอย่างเช่น, คำสั่ง C-u 8 C-f จะเคลื่อนไปข้างหน้าแปดตัวอักษร.
|
|
|
|
>> ลองใช้คำสั่ง C-n หรือ C-p ประกอบกับตัวเลขอาร์กิวเมนต์, เพื่อที่จะเคลื่อนเคอร์เซอร์
|
|
เข้ามาใกล้บรรทัดนี้โดยใช้เพียงคำสั่งเดียว.
|
|
|
|
คำสั่งส่วนใหญ่ใช้ตัวเลขอาร์กิวเมนต์เหล่านี้สำหรับการประมวลผลคำสั่งซ้ำ, แต่บางคำสั่งก็ใช้
|
|
ในลักษณะอื่น. มีหลายคำสั่ง (แต่ไม่รวมคำสั่งที่ได้กล่าวมาถึงตรงนี้) ใช้ตัวเลขนี้เป็นตัว
|
|
บ่งชี้--การที่มีอาร์กิวเมนต์เติมหน้า, โดยไม่คำนึงถึงค่าของตัวเลข, จะทำให้คำสั่งนั้นทำงาน
|
|
ต่างออกไป.
|
|
|
|
คำสั่ง C-v และ M-v เป็นคำสั่งที่ยกเว้นอีกประเภทหนึ่ง. ถ้าป้อนตัวเลขอาร์กิวเมนต์ด้วยแล้ว,
|
|
หน้าจอจะถูกเคลื่อนม้วนขึ้นหรือลงเป็นจำนวนบรรทัดเท่าตัวเลขที่กำหนด, แทนที่จะเคลื่อนม้วน
|
|
ทีละหน้าจอ. ตัวอย่างเช่น, คำสั่ง C-u 8 C-v จะเคลื่อนม้วนหน้าจอทีละแปดบรรทัด.
|
|
|
|
>> ลองใช้คำสั่ง C-u 8 C-v ดู.
|
|
|
|
คำสั่งนี้จะเคลื่อนม้วนหน้าจอขึ้นไปแปดบรรทัด. ถ้าท่านต้องการจะเคลื่อนม้วนกลับมาอีก, ท่าน
|
|
ก็ทำได้โดยการกำกับตัวเลขอาร์กิวเมนต์ให้กับคำสั่ง M-v.
|
|
|
|
ถ้าท่านกำลังใช้เอกซ์วินโดว์ (X Window) อยู่, จะมีแผงเคลื่อนม้วน (scroll bar) ที่
|
|
เป็นพื้นที่สี่เหลี่ยมผืนผ้าอยู่ทางด้านซ้ายของวินโดว์ (window) ของอีแมกส์. ท่านสามารถ
|
|
จะเคลื่อนม้วนข้อความโดยการคลิกเมาส์ (click mouse) บนแผงเคลื่อนม้วน.
|
|
|
|
>> ลองกดปุ่มกลางที่ส่วนบนสุดของพื้นที่ที่เน้น (highlight) ภายในแผงเคลื่อนม้วน.
|
|
ข้อความจะถูกเคลื่อนม้วนไปยังตำแหน่งที่ที่ท่านได้คลิก.
|
|
|
|
>> ลองเคลื่อนเมาส์ขึ้นลงดู, ขณะที่ยังกดปุ่มกลางอยู่. ท่านจะพบว่าข้อความจะเคลื่อนที่ขึ้น
|
|
ลงตามที่ท่านเคลื่อนเมาส์ไป.
|
|
|
|
|
|
* กรณีที่อีแมกส์หยุดชะงัก (hang up)
|
|
----------------------------
|
|
|
|
ถ้าอีแมกส์หยุดและไม่ตอบสนองคำสั่งใดๆ, ท่านสามารถยกเลิกคำสั่งได้อย่างปลอดภัยโดยใช้
|
|
คำสั่ง C-g. ท่านสามารถใช้คำสั่ง C-g ในการยกเลิกคำสั่งที่กำลังทำงานอยู่ได้.
|
|
|
|
ท่านสามารถใช้คำสั่ง C-g เพื่อยกเลิกตัวเลขอาร์กิวเมนต์หรือคำสั่งที่ท่านกำลังป้อนอยู่ได้.
|
|
|
|
>> ลองป้อนคำสั่ง C-u 100 เพื่อที่จะให้มีตัวเลขอาร์กิวเมนต์เป็น 100, แล้วป้อนคำสั่ง C-g.
|
|
ป้อนคำสั่ง C-f. ผลที่ได้ก็คือเคอร์เซอร์เคลื่อนไปเพียงหนึ่งตัวอักษร, เพราะว่าท่านได้
|
|
ยกเลิกตัวเลขอาร์กิวเมนต์ไปแล้วด้วยคำสั่ง C-g.
|
|
|
|
ถ้าท่านป้อนคำสั่ง <ESC> โดยไม่ได้ตั้งใจ, ท่านก็สามารถจะยกเลิกคำสั่งนั้นได้ด้วยคำสั่ง C-g.
|
|
|
|
|
|
* คำสั่งที่ถูกปิดทาง (disable)
|
|
------------------------
|
|
|
|
คำสั่งบางคำสั่งถูกปิดทางไว้ เพื่อที่จะป้องกันไม่ให้ผู้ที่เริ่มต้นใช้ (beginning user) ใช้ได้
|
|
โดยไม่ได้ตั้งใจ.
|
|
|
|
ถ้าท่านป้อนคำสั่งประเภทนี้แล้ว, อีแมกส์จะแสดงข้อความว่าคำสั่งนั้นคืออะไร, และจะถาม
|
|
ท่านว่าต้องการจะประมวลผลคำสั่งนั้นหรือไม่.
|
|
|
|
ถ้าท่านต้องการที่จะประมวลผลคำสั่งนั้นจริงๆ, กดปุ่ม space เพื่อตอบยืนยันความต้องการ.
|
|
โดยปรกติแล้ว, ถ้าท่านไม่ต้องการจะประมวลผลคำสั่งที่ถูกปิดทางไว้, ก็ตอบ "n" เท่านั้น.
|
|
|
|
>> ลองใช้คำสั่ง C-x C-l (ซึ่งเป็นคำสั่งที่ถูกปิดทางไว้), แล้วป้อน "n" เพื่อเป็นการตอบ
|
|
คำถาม.
|
|
|
|
|
|
* วินโดว์ (window)
|
|
----------------
|
|
|
|
อีแมกส์สามารถมีได้หลายวินโดว์, แต่ละวินโดว์ก็จะแสดงผลของข้อความของตนเอง. เราจะ
|
|
อธิบายถึงวิธีการใช้แบบหลายวินโดว์หลังจากนี้. ตอนนี้จะกล่าวถึงวิธีการปิดวินโดว์ที่ไม่ต้อง
|
|
การ, แล้วกลับไปใช้เพียงวินโดว์เดียว. ซึ่งสามารถทำได้ดังนี้:
|
|
|
|
C-x 1 หนึ่งวินโดว์ (คือการปิดวินโดว์อื่นๆ ทั้งหมด)
|
|
|
|
นั่นคือเพียงป้อนคำสั่ง C-x แล้วตามด้วยเลข 1. คำสั่ง C-x 1 จะขยายวินโดว์ที่มี
|
|
เคอร์เซอร์อยู่ ให้เต็มหน้าจอ. ซึ่งจะเป็นการปิดวินโดว์อื่นๆ ทั้งหมด.
|
|
|
|
>> เคลื่อนเคอร์เซอร์มายังบรรทัดนี้ แล้วป้อนคำสั่ง C-u 0 C-l.
|
|
>> ป้อนคำสั่ง C-h k C-f.
|
|
จะเห็นว่าวินโดว์นี้มีขนาดย่อลง ขณะที่มีวินโดว์ใหม่เกิดขึ้นแสดงผลของเอกสารที่เกี่ยวกับ
|
|
คำสั่งของ C-f.
|
|
|
|
>> ป้อนคำสั่ง C-x 1 แล้วจะพบว่าวินโดว์ที่แสดงรายการของเอกสารหายไป.
|
|
|
|
คำสั่งนี้ต่างจากคำสั่งที่ได้กล่าวมาตรงที่ว่าคำสั่งนี้ประกอบด้วยสองตัวอักษร. คำสั่งนี้เริ่มต้น
|
|
ด้วยอักขระ C-x. มีชุดของคำสั่งที่ขึ้นต้นด้วยอักขระ C-x; ส่วนใหญ่จะเกี่ยวข้องกับการ
|
|
จัดการกับวินโดว์, แฟ้มข้อมูล, บัฟเฟอร์, และอื่นๆ ในทำนองเดียวกัน. คำสั่งเหล่านี้จะ
|
|
ประกอบด้วยสอง, สาม, หรือสี่ตัวอักษร.
|
|
|
|
|
|
* การแทรก (inserting) และการลบ (deleting)
|
|
----------------------------------------------
|
|
|
|
ถ้าท่านต้องการที่จะแทรกข้อความ, ก็สามารถทำได้โดยการป้อนข้อความนั้นเข้าไปเท่านั้น.
|
|
ตัวอักษรที่ท่านเห็น, เช่น A, 7, *, เป็นต้น, ต่างก็ถือว่าเป็นข้อความและถูกแทรกเข้าไป
|
|
ทันทีที่ป้อน. กดปุ่ม <Return> ในการที่จะแทรกอักขระ Newline.
|
|
|
|
ท่านสามารถลบตัวอักษรตัวสุดท้ายที่ท่านได้ป้อนเข้าไปได้โดยการกดปุ่ม <Delete>. ปุ่ม
|
|
<Delete> เป็นปุ่มๆ หนึ่งบนแป้นพิมพ์, ซึ่งบางครั้งอาจเป็นปุ่มที่กำกับด้วย "Del". ในบาง
|
|
กรณี, ปุ่ม "Backspace" ก็ทำหน้าที่เช่นเดียวกับปุ่ม <Delete>, แต่ก็ไม่เสมอไป.
|
|
|
|
โดยทั่วไปแล้ว, ปุ่ม <Delete> จะใช้สำหรับลบตัวอักษรที่อยู่หน้าตำแหน่งของเคอร์เซอร์ปัจจุบัน.
|
|
|
|
>> ลองทำดู--ป้อนตัวอักษรใดๆ สักสองสามตัว, แล้วลบตัวอักษรนั้นออกโดยกดปุ่ม
|
|
<Delete> สักสองสามครั้ง. ไม่ต้องกังวลว่าจะทำให้ข้อความในแฟ้มข้อมูลนี้เปลี่ยนไป;
|
|
ท่านจะไม่ทำให้ข้อความในต้นฉบับของคู่มือการใช้เปลี่ยนแปลง. นี่เป็นเพียงฉบับสำเนาเท่านั้น.
|
|
|
|
เมื่อข้อความในบรรทัดยาวเกินกว่าหนึ่งบรรทัดของหน้าจอ, ข้อความในบรรทัดนั้นจะต่อเนื่อง
|
|
ไปยังบรรทัดถัดไปของหน้าจอ. อักขระ backslash (“\”) ที่ปลายของขอบขวามือจะบ่งชี้
|
|
ว่าข้อความของบรรทัดนั้นต่อเนื่องไปยังบรรทัดถัดไป.
|
|
|
|
>> ป้อนข้อความจนกระทั่งถึงขอบขวา, แล้วป้อนต่อไปอีก. ท่านจะเห็นการแสดงผลของ
|
|
บรรทัดต่อเนื่องกัน.
|
|
|
|
>> ใช้ปุ่ม <Delete> เพื่อลบข้อความออกจนกระทั่งข้อความนั้นพอดีกับความกว้างของหน้าจอ.
|
|
บรรทัดที่ต่อเนื่องกันก็จะหายไป.
|
|
|
|
ท่านสามารถลบอักขระ Newline ออกได้เช่นเดียวกับตัวอักษรอื่นๆ. การลบอักขระ Newline
|
|
ระหว่างสองบรรทัดจะเป็นการรวมสองบรรทัดนั้นเข้าเป็นบรรทัดเดียว. ถ้าผลของการรวมสอง
|
|
บรรทัดเข้าด้วยกันทำให้บรรทัดนั้นยาวเกินกว่าบรรทัดของหน้าจอแล้ว, บรรทัดนั้นก็จะเป็นบรรทัด
|
|
แบบต่อเนื่อง.
|
|
|
|
>> เคลื่อนเคอร์เซอร์ไปยังตำแหน่งเริ่มต้นของบรรทัด, แล้วกดปุ่ม <Delete>.
|
|
บรรทัดปัจจุบันจะถูกเชื่อมเข้ากับบรรทัดก่อนหน้า.
|
|
|
|
>> กดปุ่ม <Return> เพื่อที่จะแทรกอักขระ Newline เข้าไปใหม่.
|
|
|
|
ควรจำไว้ว่าคำสั่งส่วนใหญ่ของอีแมกส์จะสามารถทำให้ประมวลผลซ้ำได้หลายครั้ง; ซึ่งรวมถึง
|
|
จำนวนตัวอักษรด้วย. การประมวลผลซ้ำของการป้อนตัวอักษรคือการแทรกตัวอักษรเหล่านั้นเข้าไป.
|
|
|
|
>> ลองทำดูเดี๋ยวนี้--ป้อนคำสั่ง C-u 8 * เพื่อที่จะป้อนสายอักขระ ********.
|
|
|
|
ท่านได้เรียนรู้ถึงวิธีการเบื้องต้นในการป้อนบางสิ่งบางอย่างในอีแมกส์และการแก้ไข
|
|
ข้อผิดพลาดต่างๆ. ท่านสามารถที่จะลบทีละคำหรือทีละบรรทัดในทำนองเดียวกัน. ต่อไปนี้เป็น
|
|
การสรุปการลบด้วยวิธีต่างๆ:
|
|
|
|
<Delete> ลบตัวอักษรที่อยู่หน้าตำแหน่งเคอร์เซอร์
|
|
C-d ลบตัวอักษรที่อยู่ถัดไปหลังตำแหน่งเคอร์เซอร์
|
|
|
|
M-<Delete> ฆ่าคำที่อยู่หน้าตำแหน่งเคอร์เซอร์
|
|
M-d ฆ่าคำที่อยู่ถัดไปหลังตำแหน่งเคอร์เซอร์
|
|
|
|
C-k ฆ่าตัวอักษรตั้งแต่ตำแหน่งเคอร์เซอร์ไปจนถึงท้ายบรรทัด
|
|
M-k ฆ่าตัวอักษรตั้งแต่ตำแหน่งเคอร์เซอร์ไปจนถึงท้ายของประโยค
|
|
|
|
ควรจะสังเกตได้ว่าคำสั่ง <Delete> และ C-d, กับ M-<Delete> และ M-d เป็นคำสั่ง
|
|
ในทำนองเดียวกันที่เริ่มจากคำสั่ง C-f และ M-f (แม้ว่าปุ่ม <Delete> จะไม่ใช่ตัวอักษร
|
|
ก็ตาม, แต่ไม่ได้เป็นเรื่องสำคัญ). คำสั่ง C-k และ M-k ก็เช่นเดียวกับ C-e และ M-e ที่
|
|
ทำงานในลักษณะเดียวกันแต่คนละระดับ, คือระดับที่เป็นบรรทัดกับประโยค.
|
|
|
|
เมื่อท่านลบตัวอักษรไปมากกว่าหนึ่งตัวในครั้งหนึ่งๆ, อีแมกส์จะบันทึกข้อความที่ถูกลบไปไว้
|
|
เพื่อว่าท่านจะสามารถเรียกกลับมาได้อีก. การเรียกกลับมาของข้อความที่ถูกฆ่าไปนั้นเรียกว่า
|
|
"การเรียกคืน (yanking)". ท่านสามารถเรียกคืนข้อความที่ถูกฆ่าไปกลับมาได้โดยให้
|
|
ปรากฏในที่ที่ถูกฆ่าไป, หรือปรากฏในที่ใดๆ ของข้อความก็ได้. ท่านสามารถเรียกคืนข้อความ
|
|
กี่ครั้งก็ได้เพื่อที่จะทำสำเนาข้อความ. คำสั่งที่ใช้ในการเรียกคืนคือ C-y.
|
|
|
|
สิ่งที่ควรสังเกตอันหนึ่งคือข้อแตกต่างระหว่าง "การฆ่า (killing)" กับ "การลบ
|
|
(deleting)". สิ่งที่ถูก "ฆ่า (killed)" ไปนั้น, สามารถที่จะเรียกคืน (yank) มาได้,
|
|
แต่สิ่งที่ถูก "ลบ (deleted)" ไปนั้น, ไม่สามารถจะเรียกคืนมาได้. โดยทั่วไป, คำสั่งที่สามารถ
|
|
ลบข้อความได้ทีละมากๆ จะเก็บข้อความนั้นไว้, ขณะที่คำสั่งที่ลบได้ทีละตัวอักษร, หรือบรรทัด
|
|
เปล่าและเว้นวรรค, จะไม่เก็บข้อความที่ถูกลบไป.
|
|
|
|
>> เคลื่อนเคอร์เซอร์ไปยังจุดเริ่มต้นของบรรทัดที่ไม่ใช่บรรทัดเปล่า.
|
|
แล้วป้อนคำสั่ง C-k เพื่อที่จะฆ่าข้อความที่อยู่บนบรรทัดนั้น.
|
|
>> ป้อนคำสั่ง C-k อีกครั้งหนึ่ง. ท่านจะเห็นว่าอักขระ Newline ที่อยู่ท้ายบรรทัดนั้นจะถูก
|
|
ฆ่าไป.
|
|
|
|
จะสังเกตได้ว่าคำสั่ง C-k คำสั่งแรกจะฆ่าเนื้อความของบรรทัด, และคำสั่ง C-k คำสั่ง
|
|
ที่สองจะฆ่าบรรทัดนั้น, และจะขยับบรรทัดอื่นๆ ที่เหลือทั้งหมดขึ้น. คำสั่ง C-k จัดการกับ
|
|
ตัวเลขอาร์กิวเมนต์ในลักษณะที่แตกต่างออกไป: คำสั่งนี้จะฆ่าหลายๆ บรรทัดและเนื้อหาของ
|
|
ข้อความด้วย. นี่ไม่เหมือนการทำซ้ำแบบปรกติ. คำสั่ง C-u 2 C-k จะฆ่าทั้งสองบรรทัด
|
|
พร้อมทั้งอักขระ Newline ของบรรทัดนั้นๆ ด้วย; ซึ่งต่างจากการทำคำสั่ง C-k สองครั้ง.
|
|
|
|
ใช้คำสั่ง C-y ในการที่จะเรียกคืนข้อความที่ถูกฆ่าไปหลังสุด. ข้อความที่ถูกเรียกคืนนั้นจะ
|
|
ปรากฏที่ตำแหน่งเคอร์เซอร์ปัจจุบัน.
|
|
|
|
>> ลองใช้คำสั่ง C-y เพื่อที่จะเรียกคืนข้อความกลับมา.
|
|
|
|
คำสั่ง C-y ก็เหมือนการเรียกคืนสิ่งของที่ใครบางคนได้เอาไปจากท่าน. ท่านจะสังเกตได้ว่า
|
|
ถ้าท่านใช้คำสั่ง C-k ติดต่อกันหลายๆ ครั้ง, ข้อความที่ถูกฆ่าไปทั้งหมดจะถูกเก็บไว้ด้วยกัน,
|
|
ฉะนั้นการใช้คำสั่ง C-y เพียงครั้งเดียวก็จะเรียกคืนข้อความกลับมาได้ทั้งหมด.
|
|
|
|
>> ลองใช้คำสั่ง C-k หลายๆ ครั้งดู.
|
|
|
|
เพื่อที่จะเรียกคืนข้อความที่ถูกฆ่าไป:
|
|
|
|
>> ลองใช้คำสั่ง C-y. แล้วเคลื่อนเคอร์เซอร์ลงไปสักสองสามบรรทัด, แล้วใช้คำสั่ง C-y
|
|
อีกครั้ง. ท่านจะเข้าใจวิธีการที่จะสำเนาข้อความ.
|
|
|
|
ท่านจะทำอย่างไรถ้าท่านต้องการจะเรียกคืนข้อความบางอย่าง, แล้วฆ่าบางอย่างออกไป?
|
|
คำสั่ง C-y จะเรียกคืนข้อความที่ถูกฆ่าล่าสุด. แต่ข้อความก่อนหน้านั้นยังคงเหลืออยู่. ท่าน
|
|
สามารถจะเรียกคืนมาได้อีกโดยใช้คำสั่ง M-y. หลังจากที่ท่านได้เรียกคืนข้อความล่าสุดแล้ว,
|
|
ใช้คำสั่ง M-y เพื่อที่จะเรียกคืนข้อความก่อนหน้านั้นมาแทนที่. การใช้คำสั่ง M-y แต่ละครั้ง
|
|
จะเรียกคืนข้อความที่ถูกฆ่าไปในลำดับที่ย้อนกลับขึ้นไป. เมื่อท่านได้ข้อความที่ต้องการกลับคืนมา,
|
|
ท่านก็ไม่จำเป็นที่จะต้องทำอะไรกับข้อความนั้นอีก. เพียงปล่อยอยู่อย่างนั้น, แล้วทำการแก้ไข
|
|
ข้อความอื่นต่อไป.
|
|
|
|
ถ้าท่านใช้คำสั่ง M-y ด้วยจำนวนครั้งที่มากพอ, ท่านจะย้อนกลับมายังจุดเริ่มต้นอีกครั้ง
|
|
(ข้อความที่ถูกฆ่าไปล่าสุด).
|
|
|
|
>> ฆ่าหนึ่งบรรทัด, เคลื่อนเคอร์เซอร์ไป, ฆ่าอีกบรรทัด.
|
|
แล้วใช้คำสั่ง C-y เพื่อที่จะเรียกคืนบรรทัดที่ถูกฆ่าไปในครั้งที่สอง.
|
|
แล้วใช้คำสั่ง M-y ซึ่งจะเรึยกคืนบรรทัดที่ถูกฆ่าไปในครั้งแรกมาแทนที่.
|
|
ใช้คำสั่ง M-y อีก, แล้วดูว่าจะเกิดอะไรขึ้น. ลองทำไปเรื่อยๆ จนกว่าบรรทัดที่ถูกฆ่าไป
|
|
ในครั้งที่สองจะกลับคืนมา, แล้วทำไปอีกสักระยะ.
|
|
ถ้าท่านต้องการ, ท่านอาจจะลองกำกับตัวเลขอาร์กิวเมนต์ทั้งที่เป็นจำนวนบวกและลบให้กับ
|
|
คำสั่ง M-y ดู.
|
|
|
|
|
|
* การทำย้อน (undo)
|
|
-------------------
|
|
|
|
ถ้าท่านได้แก้ไขข้อความไป, และคิดว่าได้ทำผิดพลาดไป, ท่านสามารถทำย้อนสิ่งที่ได้
|
|
เปลี่ยนแปลงไปแล้วด้วยคำสั่งการทำย้อน, C-x u.
|
|
|
|
โดยปรกติ, คำสั่ง C-x u ทำย้อนคำสั่งที่ได้ทำไปแล้วหนึ่งคำสั่ง; ถ้าท่านทำย้อนซ้ำติดต่อกัน,
|
|
การทำย้อนแต่ละครั้งจะย้อนคำสั่งไปทีละคำสั่ง.
|
|
|
|
แต่มีข้อยกเว้นอยู่สองประการ: คำสั่งที่ไม่เปลี่ยนแปลงข้อความจะไม่นับรวมอยู่ด้วย (นี่รวมถึง
|
|
คำสั่งการเคลื่อนเคอร์เซอร์และการเคลื่อนม้วน), และการแทรกตัวอักษรก็จะถูกจัดการโดยรวม
|
|
เป็นกลุ่มที่ไม่เกิน 20 ตัวอักษรต่อกลุ่ม. (ทั้งนี้เพื่อลดจำนวนครั้งของคำสั่ง C-x u ในการทำ
|
|
ย้อนการแทรกตัวอักษร.)
|
|
|
|
>> ฆ่าบรรทัดนี้ด้วยคำสั่ง C-k, แล้วป้อนคำสั่ง C-x u. บรรทัดที่ถูกฆ่าไปจะปรากฏกลับคืนมา.
|
|
|
|
คำสั่ง C-_ เป็นอีกคำสั่งหนึ่งสำหรับการทำย้อน; คำสั่งนี้ทำงานเหมือนกับคำสั่ง C-x u,
|
|
แต่ว่าสะดวกกว่าในการป้อนหลายๆ ครั้งติดต่อกัน. ข้อเสียของคำสั่ง C-_ นี้คือในบาง
|
|
แป้นพิมพ์, อาจจะไม่ทราบว่าจะป้อนคำสั่งได้อย่างไร. นั่นคือเหตุที่ทำให้เราต้องเตรียมคำสั่ง
|
|
C-x u ให้อีกต่างหาก. ในเครื่องปลายทางบางชนิด,ท่านอาจจะป้อนคำสั่ง C-_ ได้โดยการกด
|
|
อักขระ / ในขณะที่กดปุ่ม CONTROL.
|
|
|
|
ตัวเลขอาร์กิวเมนต์สำหรับคำสั่ง C-_ และ C-x u จะเป็นการซ้ำจำนวนครั้งของคำสั่ง.
|
|
|
|
|
|
* แฟ้มข้อมูล (file)
|
|
----------------
|
|
|
|
เพื่อที่จะเก็บข้อความที่ได้แก้ไขไปนั้น, ท่านจะต้องเก็บข้อความนั้นไว้ในแฟ้มข้อมูล. ไม่เช่นนั้น
|
|
ข้อความก็จะหายไปเมื่อท่านเลิกใช้อีแมกส์. การที่จะเก็บข้อความนั้นลงในแฟ้มข้อมูล, ท่าน
|
|
จะต้อง "ค้นหา (find)" แฟ้มข้อมูลก่อนที่จะเข้าไปในข้อความนั้นได้. (นี่เรียกว่า "การ
|
|
เยือน (visiting)" แฟ้มข้อมูล.)
|
|
|
|
การค้นหาแฟ้มข้อมูลหมายถึงการที่ท่านได้เห็นเนื้อหาของแฟ้มข้อมูลภายในอีแมกส์. ในหลายๆ
|
|
ทาง, ดูเหมือนว่าท่านกำลังแก้ไขข้อมูลในแฟ้มข้อมูลอยู่. อย่างไรก็ตาม, การแก้ไขภายในอี
|
|
แมกส์นั้นจะไม่คงอยู่จนกว่าท่านจะ "จัดเก็บ (save)" แฟ้มข้อมูลนั้น. นี่เป็นการช่วยให้ท่าน
|
|
สามารถหลีกเลี่ยงการทำให้แฟ้มข้อมูลถูกแก้ไขไว้ครึ่งๆ กลางๆ ถ้าท่านไม่ได้ต้องการ. แม้ว่า
|
|
ท่านจะทำการจัดเก็บไปแล้วก็ตาม, อีแมกส์ก็ยังคงเหลือแฟ้มข้อมูลต้นฉบับไว้โดยเก็บไว้ในชื่อ
|
|
ใหม่, เผื่อไว้ในกรณีที่ท่านแก้ไขผิดพลาด.
|
|
|
|
ถ้าท่านสังเกตดูส่วนล่างของหน้าจอของอีแมกส์, ท่านจะเห็นบรรทัดที่เริ่มต้นและสิ้นสุดด้วย
|
|
เส้นประ. บรรทัดนั้นอาจจะเริ่มต้นด้วย "--:-- TUTORIAL" หรืออะไรทำนองนั้น. ส่วนนี้
|
|
ของหน้าจอ, โดยปรกติแล้ว, จะแสดงชื่อแฟ้มข้อมูลที่ท่านกำลังเยือนอยู่. ขณะนี้ท่านกำลัง
|
|
เยือนแฟ้มข้อมูลที่ชื่อว่า "TUTORIAL.th" ซึ่งเป็นสำเนาของคู่มือการใช้อีแมกส์. เมื่อท่านได้
|
|
เยือนแฟ้มข้อมูลด้วยอีแมกส์, ชื่อของแฟ้มข้อมูลนั้นจะปรากฏในที่ที่ได้กล่าวไว้แล้ว.
|
|
|
|
ลักษณะพิเศษข้อหนึ่งของคำสั่งเยือนแฟ้มข้อมูลคือ ท่านจะต้องบอกชื่อของแฟ้มข้อมูลที่จะ
|
|
เยือน. เราเรียกลักษณะเช่นนี้ว่า "อ่านอาร์กิวเมนต์จากเครื่องปลายทาง" (ในกรณีนี้, อาร์
|
|
กิวเมนต์ก็คือชื่อของแฟ้มข้อมูล). หลังจากที่ท่านป้อนคำสั่ง
|
|
|
|
C-x C-f Find a file
|
|
|
|
อีแมกส์จะถามชื่อแฟ้มข้อมูล. ชื่อแฟ้มข้อมูลที่ท่านป้อนเข้าไปจะปรากฏที่บรรทัดล่างของหน้าจอ.
|
|
บรรทัดล่างของหน้าจอเรียกว่ามินิบัฟเฟอร์ (minibuffer) เมื่อถูกใช้งานในลักษณะนี้.
|
|
ท่านสามารถใช้คำสั่งที่ใช้ในการแก้ไขปรกติของอีแมกส์แก้ไขชื่อของแฟ้มข้อมูล.
|
|
|
|
ขณะที่ท่านกำลังป้อนชื่อแฟ้มข้อมูล (หรือข้อมูลใดๆ ในมินิบัฟเฟอร์นี้), ท่านสามารถ
|
|
ยกเลิกคำสั่งด้วยการใช้คำสั่ง C-g.
|
|
|
|
>> ป้อนคำสั่ง C-x C-f, แล้วป้อนคำสั่ง C-g. นี่เป็นการยกเลิกมินิบัฟเฟอร์, และ
|
|
ยกเลิกคำสั่ง C-x C-f ที่กำลังใช้มินิบัฟเฟอร์อยู่. ผลลัพธ์คือท่านจะไม่ได้เยือน
|
|
แฟ้มข้อมูลใดๆ.
|
|
|
|
เมื่อท่านได้ป้อนชื่อแฟ้มข้อมูลเสร็จแล้ว, กดปุ่ม <Return> เพื่อที่จะสิ้นสุดคำสั่ง. แล้วคำสั่ง
|
|
C-x C-f ก็จะทำงาน, และจะเยือนแฟ้มข้อมูลที่ท่านได้เลือกไว้. มินิบัฟเฟอร์จะ
|
|
หายไปเมื่อเสร็จสิ้นคำสั่ง C-x C-f.
|
|
|
|
หลังจากนั้นไม่นานเนื้อหาของแฟ้มข้อมูลก็จะปรากฏบนหน้าจอ, และท่านก็จะสามารถแก้ไข
|
|
เนื้อหาได้. เมื่อท่านต้องการจะแก้ไขข้อความอย่างถาวร, ก็ให้ใช้คำสั่ง
|
|
|
|
C-x C-s Save the file
|
|
|
|
คำสั่งนี้จะทำสำเนาข้อความที่อยู่ในอีแมกส์เข้าไปเก็บไว้ในแฟ้มข้อมูล. ในการกระทำเช่นนี้ใน
|
|
ครั้งแรกสุด, อีแมกส์จะเปลี่ยนชื่อแฟ้มข้อมูลต้นฉบับเพื่อว่าจะได้คงไว้. ชื่อใหม่นั้นตั้งขึ้นโดย
|
|
การเติม "~" เข้าไปท้ายชื่อแฟ้มข้อมูลต้นฉบับ.
|
|
|
|
เมื่อทำการจัดเก็บเรียบร้อยแล้ว, อีแมกส์จะพิมพ์ชื่อแฟ้มข้อมูลนั้น. ท่านควรจะจัดเก็บข้อมูล
|
|
บ่อยๆ, เพื่อว่าท่านจะได้ไม่ต้องเสียงานไปมากนักหากระบบเกิดขัดข้อง.
|
|
|
|
>> ป้อนคำสั่ง C-x C-s, เพื่อจัดเก็บสำเนาคู่มือการใช้ของท่าน.
|
|
จะปรากฏ "Write ...TUTORIAL.th" ที่บรรทัดล่างสุดของหน้าจอ.
|
|
|
|
ท่านสามารถจะเยือนแฟ้มข้อมูลที่มีอยู่แล้ว, เพื่อที่จะดูหรือแก้ไข. ท่านสามารถจะเยือน
|
|
แฟ้มข้อมูลที่ยังไม่ปรากฏก็ได้. นี่เป็นการสร้างแฟ้มข้อมูลใหม่ของอีแมกส์: เยือนแฟ้มข้อมูล,
|
|
ซึ่งจะเริ่มต้นด้วยหน้าจอว่างเปล่า, แล้วทำการแทรกข้อความเพื่อที่จะสร้างเป็นแฟ้มข้อมูลต่อไป.
|
|
เมื่อท่านสั่งให้ "จัดเก็บ (save)" แฟ้มข้อมูล, อีแมกส์จึงจะสร้างแฟ้มข้อมูลด้วยข้อความที่
|
|
ท่านได้ป้อนเข้าไป. จากนี้ไป, ท่านสามารถจะตัดสินใจลองแก้ไขแฟ้มข้อมูลที่มีอยู่แล้วได้.
|
|
|
|
|
|
* บัฟเฟอร์ (buffer)
|
|
-----------------
|
|
|
|
ถ้าท่านเยือนอีกแฟ้มข้อมูลโดยใช้คำสั่ง C-x C-f, แฟ้มข้อมูลแรกจะยังคงอยู่ในอีแมกส์. ท่าน
|
|
สามารถจะสลับกลับไปได้อีกโดยใช้คำสั่ง C-x C-f. วิธีนี้จะทำให้ท่านสามารถเยือนแฟ้มข้อมูล
|
|
ภายในอีแมกส์ได้จำนวนหนึ่ง.
|
|
|
|
>> สร้างแฟ้มข้อมูลและให้ชื่อว่า "foo" โดยการป้อนคำสั่ง C-x C-f foo <Return>.
|
|
แล้วป้อนข้อความ, แก้ไข, และจัดเก็บ "foo" โดยการป้อนคำสั่ง C-x C-s.
|
|
สุดท้าย, ป้อนคำสั่ง C-x C-f TUTORIAL <Return> เพื่อจะได้ย้อนกลับมาที่ข้อความ
|
|
ของคู่มือการใช้.
|
|
|
|
อีแมกส์เก็บข้อความของแต่ละแฟ้มข้อมูลภายในสิ่งๆ (object) หนึ่ง, ซึ่งเรียกว่า "บัฟเฟอร์
|
|
(buffer)". การเยือนแฟ้มข้อมูลเป็นการสร้างบัฟเฟอร์ใหม่ภายในอีแมกส์. ในการที่จะดู
|
|
รายการของบัฟเฟอร์ที่มีอยู่ในอีแมกส์นั้น, ให้ป้อนคำสั่ง:
|
|
|
|
C-x C-b List buffers
|
|
|
|
>> ลองป้อนคำสั่ง C-x C-b ดู.
|
|
|
|
ดูว่าแต่ละบัฟเฟอร์มีชื่อว่าอะไร, และบางอันก็เป็นชื่อของแฟ้มข้อมูลที่มีเนื้อหานั้นๆ อยู่. บาง
|
|
บัฟเฟอร์ไม่ได้เกี่ยวข้องกับแฟ้มข้อมูล. ตัวอย่างเช่น, บัฟเฟอร์ที่มีชื่อว่า "*Buffer List*"
|
|
ไม่มีแฟ้มข้อมูลใดๆ ทั้งสิ้น. นี่เป็นบัฟเฟอร์ซึ่งบรรจุเนื้อหาของรายการของบัฟเฟอร์ที่ถูกสร้าง
|
|
ด้วยคำสั่ง C-x C-b. ข้อความใดๆ ที่ท่านเห็นบนหน้าจอของอีแมกส์จะปรากฏอยู่เป็นส่วนหนึ่ง
|
|
ของบัฟเฟอร์ใดบัฟเฟอร์หนึ่งเสมอ.
|
|
|
|
>> ลองใช้คำสั่ง C-x 1 เพื่อที่จะกำจัดรายการของบัฟเฟอร์.
|
|
|
|
ถ้าท่านแก้ไขข้อความในแฟ้มข้อมูลหนึ่ง, แล้วเยือนอีกแฟ้มข้อมูลหนึ่ง, อีแมกส์ยังไม่ได้จัดเก็บ
|
|
ข้อความของแฟ้มข้อมูลแรก. ข้อความที่ถูกแก้ไขไปจะยังคงอยู่ในอีแมกส์, ในบัฟเฟอร์สำหรับ
|
|
แฟ้มข้อมูลนั้น. การสร้างหรือการแก้ไขของบัฟเฟอร์สำหรับแฟ้มข้อมูลที่สองไม่ได้มีผลต่อ
|
|
บัฟเฟอร์สำหรับแฟ้มข้อมูลที่หนึ่ง. นี่เป็นสิ่งที่มีประโยชน์มาก, แต่ก็หมายความว่าจะต้องมี
|
|
วิธีการที่ดีในการจัดเก็บบัฟเฟอร์ของแฟ้มข้อมูลแรก. นี่ไม่ได้หมายความว่าจะต้องสลับกลับไป
|
|
ยังแฟ้มข้อมูลแรกด้วยคำสั่ง C-x C-f ก่อน, เพื่อที่จะได้ใช้คำสั่ง C-x C-s ในการจัดเก็บ.
|
|
ดังนั้นเราจึงเตรียมคำสั่ง
|
|
|
|
C-x s Save some buffers
|
|
|
|
คำสั่ง C-x s จะถามท่านเกี่ยวกับบัฟเฟอร์ที่ได้รับการแก้ไขแต่ยังไม่ได้รับการจัดเก็บ. อี
|
|
แมกส์จะถามท่าน, สำหรับแต่ละบัฟเฟอร์ดังกล่าว, ว่าจะจัดเก็บหรือไม่.
|
|
|
|
>> แทรกข้อความสักหนึ่งบรรทัด, แล้วป้อนคำสั่ง C-x s.
|
|
อีแมกส์จะถามท่านว่าจะจัดเก็บบัฟเฟอร์ชื่อ TUTORIAL ไหม.
|
|
ตอบว่าใช่โดยการป้อน "y".
|
|
|
|
|
|
* การเพิ่มชุดคำสั่ง
|
|
--------------
|
|
|
|
มีคำสั่งของอีแมกส์อยู่อีกมากมายจนเกินกว่าที่จะสามารถกำกับได้ด้วยอักขระประสมกับอักขระ
|
|
คอนโทรล (control character) และอภิอักขระ (meta character). อีแมกส์ใช้การ
|
|
ประสมกับคำสั่งเสริม (eXtend command). การเสริมนี้เป็นไปได้สองลักษณะ:
|
|
|
|
C-x การเสริมอักขระ (Character eXtend). ตามด้วยหนึ่งตัวอักษร.
|
|
M-x การเสริมด้วยชื่อคำสั่ง (Named command eXtend). ตามด้วยชื่อเต็ม.
|
|
|
|
คำสั่งเหล่านี้โดยทั่วไปแล้วจะมีประโยชน์, แต่มักจะมีโอกาสใช้น้อยกว่าคำสั่งต่างๆ ที่ท่านได้
|
|
เรียนรู้ไปแล้ว. ท่านได้พบไปแล้วสองคำสั่ง: คำสั่งสำหรับการจัดการกับแฟ้มข้อมูล C-x C-f
|
|
สำหรับการเยือน (Find) และ C-x C-s สำหรับการจัดเก็บ (Save). อีกตัวอย่างหนึ่งก็
|
|
คือคำสั่งที่ใช้ในการเลิกใช้อีแมกส์--คำสั่ง C-x C-c. (ไม่ต้องเป็นห่วงว่าข้อมูลที่ท่านได้
|
|
แก้ไขไปจะสูญหาย; คำสั่ง C-x C-c จะเสนอให้จัดเก็บแฟ้มข้อมูลที่ถูกแก้ไขไปก่อนที่จะสิ้นสุด
|
|
อีแมกส์.)
|
|
|
|
คำสั่ง C-z เป็นคำสั่งที่ใช้ในการออกจากอีแมกส์เป็นการชั่วคราว *temporarily*--ฉะนั้น
|
|
ท่านสามารถกลับไปสู่อีแมกส์ได้อีกหลังจากนั้น.
|
|
|
|
สำหรับระบบที่อนุญาตให้ใช้คำสั่ง, C-z "suspends" อีแมกส์; นั่นคือการกลับไปยังเชลล์
|
|
(shell) โดยไม่ได้ทำลายอีแมกส์. ในเชลล์ทั่วไป, ท่านสามารถรีซูม (resume) อีแมกส์
|
|
ได้ด้วยคำสั่ง "fg" หรือด้วยคำสั่ง "%emacs".
|
|
|
|
สำหรับระบบที่ไม่มีฟังก์ชัน "suspend", คำสั่ง C-z จะสร้างซับเชลล์ (subshell)
|
|
ภายใต้อีแมกส์เพื่อให้ท่านมีโอกาสดำเนินงานโปรแกรมอื่นก่อนแล้วค่อยกลับมายังอีแมกส์อีกครั้ง;
|
|
ซึ่งไม่ใช่การ "ออกจาก (exit)" อีแมกส์จริง. ในกรณีนี้, คำสั่งเชลล์ "exit" เป็นคำสั่ง
|
|
ปรกติที่ใช้ในการกลับไปยังอีแมกส์จากซับเชลล์.
|
|
|
|
ใช้คำสั่ง C-x C-c ก็ต่อเมื่อท่านต้องการจะเลิกใช้อีแมกส์จริงๆ. วิธีนี้เป็นวิธีที่ถูกต้องใน
|
|
การที่จะเลิกใช้อีแมกส์, ไม่ว่าอีแมกส์นั้นจะถูกเรียกใช้จากโปรแกรมจัดการเมลล์ (mail
|
|
handling programs) หรือโปรแกรมอรรถประโยชน์ (utility programs) ต่างๆ,
|
|
เนื่องจากว่าโปรแกรมเหล่านี้ไม่มีวิธีการจัดการกับอีแมกส์ได้โดยตรง. ในสภาพการทำงาน
|
|
ปรกติ, ถ้าท่านไม่ได้ต้องการจะเลิกใช้อีแมกส์จริงๆ, ท่านก็ควรจะ suspend โดยการใช้
|
|
คำสั่ง C-z แทนการเลิกใช้ไปเลย.
|
|
|
|
ยังมีคำสั่งที่อยู่ในชุดคำสั่ง C-x อีกมาก. ต่อไปนี้เป็นรายการคำสั่งที่ท่านได้เรียนรู้ไปแล้ว:
|
|
|
|
C-x C-f เยือนแฟ้มข้อมูล (Find file).
|
|
C-x C-s จัดเก็บแฟ้มข้อมูล (Save file).
|
|
C-x C-b ทำรายการบัฟเฟอร์ (List buffers).
|
|
C-x C-c เลิกใช้อีแมกส์ (Quit Emacs).
|
|
C-x 1 ลบหน้าจอทั้งหมดโดยคงอยู่ไว้หนึ่งหน้าจอ
|
|
(Delete all but one window).
|
|
C-x u ทำย้อน (Undo).
|
|
|
|
คำสั่งที่มีชื่อคำสั่งเสริมนี้เป็นคำสั่งที่ใช้ไม่ค่อยบ่อยนัก, หรือเป็นคำสั่งที่ใช้เฉพาะในบางโหมด
|
|
เท่านั้น. ตัวอย่างหนึ่งของคำสั่งนี้คือคำสั่งเปลี่ยนแทน-สายอักขระ (replace-string),
|
|
ซึ่งเป็นการเปลี่ยนแทนสายอักขระหนึ่งด้วยอีกสายอักขระหนึ่งทั้งหมด. เมื่อท่านป้อนคำสั่ง M-x,
|
|
อีแมกส์แสดง M-x ที่บรรทัดล่างสุดของหน้าจอ, ในที่นี้ท่านจะต้องพิมพ์ชื่อของคำสั่ง; ในกรณีนี้
|
|
คือ "replace-string". ท่านอาจจะพิมพ์ "repl s<TAB>" แล้วอีแมกส์จะเติมชื่อคำสั่งให้
|
|
เต็มเองได้. สิ้นสุดคำสั่งด้วยการกดปุ่ม <Return>.
|
|
|
|
คำสั่งเปลี่ยนแทน-สายอักขระ (replace-string) ต้องการสองอาร์กิวเมนต์--สายอักขระ
|
|
ที่จะถูกเปลี่ยนแทน, และสายอักขระที่จะใช้เปลี่ยนแทน. ท่านจะต้องสิ้นสุดการป้อนแต่ละอาร์
|
|
กิวเมนต์ด้วยการกดปุ่ม <Return>.
|
|
|
|
>> เคลื่อนเคอร์เซอร์ไปยังบรรทัดเปล่าที่อยู่ใต้บรรทัดนี้ไปสองบรรทัด.
|
|
แล้วป้อนคำสั่ง M-x repl s<Return>changed<Return>altered<Return>.
|
|
|
|
สังเกตดูการเปลี่ยนแปลงของบรรทัดนี้: ท่านได้เปลี่ยนแทนคำว่า c-h-a-n-g-e-d
|
|
ด้วยคำว่า "altered" ในทุกที่ที่ปรากฏตั้งแต่ตำแหน่งที่เคอร์เซอร์อยู่ปัจจุบัน.
|
|
|
|
|
|
* จัดเก็บอัตโนมัติ (auto save)
|
|
-------------------------
|
|
|
|
เมื่อท่านได้แก้ไขแฟ้มข้อมูลแล้ว, แต่ท่านยังไม่ได้จัดเก็บ, แฟ้มข้อมูลเหล่านั้นอาจสูญหายได้ถ้า
|
|
เครื่องคอมพิวเตอร์ของท่านเกิดขัดข้อง. เพื่อป้องกันเหตุการณ์เช่นนี้, อีแมกส์ทำการเขียน
|
|
ข้อความสำหรับแต่ละแฟ้มข้อมูลที่ท่านกำลังทำการแก้ไขอยู่ลงในแฟ้มข้อมูล "จัดเก็บอัตโนมัติ
|
|
(auto save)". ชื่อของแฟ้มข้อมูลจัดเก็บอัตโนมัติ (auto save file) จะถูกตั้งใหม่ให้
|
|
มีอักขระ "#" อยู่ทั้งข้างหน้าและข้างหลังชื่อแฟ้มข้อมูลต้นฉบับ; ตัวอย่างเช่น, ถ้าชื่อของ
|
|
แฟ้มข้อมูลนั้นเป็น "hello.c", ชื่อของแฟ้มข้อมูลจัดเก็บอัตโนมัติจะเป็น "#hello.c#".
|
|
เมื่อท่านทำการจัดเก็บแฟ้มข้อมูลด้วยวิธีการปรกติแล้ว, อีแมกส์จะลบแฟ้มข้อมูลจัดเก็บอัตโนมัติ
|
|
นั้นเสีย.
|
|
|
|
ถ้าเครื่องคอมพิวเตอร์เกิดขัดข้อง, ท่านสามารถกู้ (recover) จากแฟ้มข้อมูลจัดเก็บ
|
|
อัตโนมัตินั้นได้ด้วยการเยือนแฟ้มข้อมูลแบบปรกติ (แฟ้มข้อมูลที่ท่านกำลังแก้ไขอยู่, ไม่ใช่
|
|
แฟ้มข้อมูลจัดเก็บอัตโนมัติ), แล้วพิมพ์คำสั่ง M-x recover file<Return>. เมื่อมีการ
|
|
ถามเพื่อการยืนยัน, พิมพ์คำว่า yes<Return> เพื่อดำเนินการต่อและทำการกู้ข้อมูลที่ถูก
|
|
จัดเก็บอัตโนมัตินั้น.
|
|
|
|
|
|
* บริเวณสะท้อน (echo area)
|
|
------------------------
|
|
|
|
อีแมกส์อ่านคำสั่งประสม (multicharacter command) ขณะที่ท่านกำลังพิมพ์เข้าไปช้าๆ,
|
|
อีแมกส์จะแสดงคำสั่งต่างๆ ที่ท่านได้พิมพ์เข้าไปตรงส่วนล่างของหน้าจอตรงบริเวณที่เรียกว่า
|
|
"บริเวณสะท้อน (echo area)". บริเวณสะท้อนคือบรรทัดล่างสุดของหน้าจอ.
|
|
|
|
|
|
* บรรทัดแสดงโหมด (mode line)
|
|
---------------------------
|
|
|
|
บรรทัดที่อยู่เหนือบริเวณสะท้อนนั้นเรียกว่า "mode line". บรรทัดแสดงโหมดจะแสดง
|
|
ข้อความบางอย่างในลักษณะ:
|
|
|
|
--:** TUTORIAL (Fundamental)--L670--58%----------------
|
|
|
|
บรรทัดนี้ให้ข้อมูลที่เป็นประโยชน์เกี่ยวกับสถานภาพของอีแมกส์และข้อความที่ท่านกำลังทำการ
|
|
แก้ไขอยู่.
|
|
|
|
ท่านทราบแล้วว่าชื่อแฟ้มข้อมูลมีความหมายอย่างไร--คือแฟ้มข้อมูลที่ท่านได้เยือนอยู่. -NN%--
|
|
บ่งบอกตำแหน่งปัจจุบันในข้อความของท่าน; นั่นหมายความว่ามีข้อความ NN เปอร์เซนต์ที่อยู่
|
|
เหนือตำแหน่งสูงสุดของหน้าจอ. ถ้าตำแหน่งสูงสุดของแฟ้มข้อมูลอยู่บนหน้าจอ, จะปรากฏ
|
|
--Top-- แทนที่จะเป็น --00%--. ถ้าตำแหน่งล่างสุดของข้อความอยู่บนหน้าจอ, จะปรากฏ
|
|
--Bot--. ถ้าท่านกำลังเยือนแฟ้มข้อมูลที่เล็กมากจนข้อความทั้งหมดอยู่บนหน้าจอ, บรรทัด
|
|
แสดงโหมดจะแสดงว่า --All--.
|
|
|
|
เครื่องหมายดอกจันบริเวณต้นๆ ของบรรทัดแสดงโหมดหมายความว่าท่านได้ทำการ
|
|
เปลี่ยนแปลงเนื้อหาในข้อความแล้ว. หากท่านเพิ่งเยือนหรือจัดเก็บแฟ้มข้อมูล, ส่วนที่
|
|
ได้กล่าวถึงนั้นจะไม่มีเครื่องหมายดอกจันปรากฏ, จะมีแต่เส้นประ (dashes).
|
|
|
|
ส่วนที่อยู่ระหว่างวงเล็บภายในบรรทัดแสดงโหมดจะบอกท่านว่าท่านกำลังอยู่ในโหมดการแก้ไข
|
|
(editing mode) อะไร. โหมดโดยปริยาย (default mode) คือ Fundamental ที่
|
|
ท่านกำลังใช้อยู่ในขณะนี้. นี่คือตัวอย่างของ "โหมดหลัก (major mode)".
|
|
|
|
อีแมกส์มีโหมดหลักอยู่หลายโหมด. บ้างใช้สำหรับการแก้ไขในภาษาและ/หรือข้อความชนิดต่างๆ,
|
|
เช่น Lisp mode, Text mode, เป็นต้น. ท่านจะอยู่ในโหมดหลักใดโหมดหลักหนึ่งในเวลา
|
|
เดียว, และชื่อของโหมดหลักนั้นจะปรากฏอยู่ที่บรรทัดแสดงโหมด, ที่ที่มี "Fundamental"
|
|
ปรากฏอยู่ในขณะนี้.
|
|
|
|
แต่ละโหมดหลักจะทำให้คำสั่งให้ผลในลักษณะที่แตกต่างกัน. ตัวอย่างเช่น, มีหลายคำสั่งที่ใช้
|
|
ในการกำกับหมายเหตุ (comment) ในโปรแกรม, และเนื่องจากแต่ละโปรแกรมมีความคิด
|
|
ในการแสดงผลของหมายเหตุที่แตกต่างกัน, แต่ละโหมดหลักจะแทรกหมายเหตุในลักษณะที่
|
|
แตกต่างกัน. แต่ละโหมดหลักจะเป็นชื่อของคำสั่งเสริม, ที่ท่านสามารถบอกให้สลับไปยังโหมดที่
|
|
ต้องการได้. ตัวอย่างเช่น, M-x fundamental-mode เป็นคำสั่งในการสลับไปยัง
|
|
Fundamental mode.
|
|
|
|
ถ้าท่านกำลังจะแก้ไขข้อความที่เป็นภาษาไทย, เช่นในแฟ้มข้อมูลนี้, ท่านควรจะใช้
|
|
Thai-text mode.
|
|
>> M-x thai-text-mode<Return>
|
|
|
|
ไม่ต้องกังวล, คำสั่งที่ท่านกำลังศึกษาอยู่นี้ไม่ได้ให้ผลกระทบมากนัก. แต่ท่านสามารถสังเกตได้
|
|
ว่าคำสั่ง M-f และ M-b ถือว่าอักขระ apostrophe เป็นส่วนหนึ่งของคำ. ก่อนหน้านี้, ใน
|
|
Fundamental mode, คำสั่ง M-f และ M-b ถือว่าอักขระ apostrophe เป็นตัวแบ่งคำ
|
|
(word-separator).
|
|
|
|
โหมดหลักเหล่านี้จะให้ผลที่ต่างออกไปเล็กน้อยดังที่กล่าวแล้วข้างต้น: คำสั่งส่วนใหญ่ "ทำหน้าที่
|
|
เหมือนกัน" แม้จะอยู่ในโหมดหลักที่ต่างกัน, แต่ให้ผลที่ต่างออกไปบ้างเล็กน้อย.
|
|
|
|
ใช้คำสั่ง C-h m เพื่ออ่านรายละเอียดของโหมดหลักปัจจุบันที่ท่านอยู่.
|
|
|
|
>> ใช้คำสั่ง C-u C-v หนึ่งครั้งหรือมากกว่านั้นเพื่อที่จะขยับบรรทัดนี้ขึ้นไปยังส่วนบนของหน้าจอ.
|
|
>> ป้อนคำสั่ง C-h m, เพื่อดูว่า Text mode ต่างจาก Fundamental mode อย่างไร.
|
|
>> ป้อนคำสั่ง C-x 1 เพื่อขจัดเอกสารชี้แจงออกจากหน้าจอ.
|
|
|
|
ที่เรียกว่าโหมดหลักนั้นก็เพราะว่ามีโหมดย่อย (minor mode) อีก. โหมดย่อยไม่ได้เป็น
|
|
ตัวเลือกในโหมดหลัก, เนื่องจากว่ามีการเปลี่ยนไปเพียงเล็กน้อยเท่านั้น. แต่ละโหมดย่อยสามารถ
|
|
จะเปิดหรือปิดได้ภายในตัวเอง, คือแต่ละโหมดย่อยจะทำงานโดยอิสระจากกัน, และ
|
|
เป็นอิสระจากโหมดหลักด้วย. ฉะนั้นท่านสามารถไม่ใช้โหมดย่อยเลย, หรือหนึ่งโหมดย่อย, หรือ
|
|
โหมดย่อยหลายๆ โหมดผสมกันก็ได้.
|
|
|
|
โหมดย่อยที่มีประโยชน์มาก, โดยเฉพาะสำหรับใช้แก้ไขข้อความที่เป็นภาษาอังกฤษ, คือ
|
|
โหมดจัดบรรทัดอัตโนมัติ (Auto Fill). เมื่อโหมดนี้ทำงาน, อีแมกส์จะแบ่งบรรทัดระหว่าง
|
|
คำอัตโนมัติ, ทันทีที่ท่านแทรกข้อความและทำให้บรรทัดนั้นยาวเกินไป.
|
|
|
|
ท่านสามารถเปิดโหมดจัดบรรทัดอัตโนมัติได้โดยการใช้คำสั่ง M-x auto fill
|
|
mode<Return>. เมื่อโหมดนี้ทำงานอยู่, ท่านสามารถปิดโหมดนี้ได้โดยการใช้คำสั่ง M-x
|
|
auto fill mode<Return>. ถ้าโหมดนี้ปิดอยู่, คำสั่งนี้จะเปิดโหมดให้ทำงาน, และถ้า
|
|
โหมดนี้เปิดอยู่, คำสั่งนี้ก็จะปิดโหมด. คือพูดได้ว่าคำสั่งนี้ "toggles the mode".
|
|
|
|
>> ป้อนคำสั่ง M-x auto fill mode<Return> ดู. แล้วป้อน "asdf " ซ้ำๆ กันไปจน
|
|
ท่านเห็นว่าบรรทัดนั้นถูกแบ่งออกเป็นสองบรรทัด. ท่านต้องใส่เว้นวรรคเพราะว่าการจัด
|
|
บรรทัดอัตโนมัติจะแบ่งบรรทัดตรงเว้นวรรคเท่านั้น.
|
|
|
|
ขอบเผื่อ (margin) โดยมากจะตั้งให้ที่ 70 ตัวอักษร, แต่ท่านก็สามารถเปลี่ยนด้วยคำสั่ง
|
|
C-x f. ท่านควรตั้งขอบเผื่อด้วยตัวเลขอาร์กิวเมนต์ตามที่ท่านต้องการ.
|
|
|
|
>> ป้อนคำสั่ง C-x f พร้อมด้วยอาร์กิวเมนต์ 20. (C-u 2 0 C-x f).
|
|
แล้วป้อนข้อความและจะเห็นว่าอีแมกส์จัดบรรทัดที่มีขนาด 20 ตัวอักษร. แล้วตั้งขอบ
|
|
เผื่อเป็น 70 โดยใช้คำสั่ง C-x f อีกครั้ง.
|
|
|
|
ถ้าท่านทำการเปลี่ยนแปลงตรงกลางย่อหน้า, โหมดจัดบรรทัดอัตโนมัติจะไม่จัดบรรทัดใหม่
|
|
(re-fill) ให้ท่าน. ถ้าจะจัดบรรทัดใหม่ให้กับย่อหน้านั้น, ให้ป้อนคำสั่ง M-q (META-q)
|
|
โดยวางตำแหน่งเคอร์เซอร์ไว้ภายในย่อหน้านั้น.
|
|
|
|
>> เคลื่อนเคอร์เซอร์เข้าไปยังย่อหน้าข้างบน, แล้วป้อนคำสั่ง M-q.
|
|
|
|
|
|
* การสืบค้น (searching)
|
|
---------------------
|
|
|
|
อีแมกส์สามารถสืบค้นสายอักขระ (กลุ่มของตัวอักษรหรือคำที่อยู่ต่อเนื่องกัน) ไม่ว่าจะไป
|
|
ข้างหน้าหรือย้อนกลับ, ทั่วทั้งข้อความ. การสืบค้นสายอักขระคือคำสั่งในการเคลื่อนตำแหน่ง
|
|
ของเคอร์เซอร์; เคอร์เซอร์จะเคลื่อนไปอยู่ที่ตำแหน่งถัดไปที่มีสายอักขระนั้นอยู่.
|
|
|
|
คำสั่งสืบค้นในอีแมกส์ต่างจากคำสั่งสืบค้นในโปรแกรมบรรณาธิกรณ์ (editor) ส่วนใหญ่, ใน
|
|
ลักษณะที่เป็น "incremental". นี่หมายความว่าการสืบค้นเริ่มตั้งแต่ที่ท่านได้ป้อนอักขระที่
|
|
ต้องการสืบค้น.
|
|
|
|
คำสั่งที่ใช้เพื่อให้ทำการสืบค้นไปข้างหน้าคือ C-s, และทำการสืบค้นย้อนไปข้างหลังคือ
|
|
C-r. แต่คอยก่อน! อย่าเพิ่งลอง.
|
|
|
|
เมื่อท่านป้อนคำสั่ง C-s ท่านจะสังเกตเห็นว่ามีคำว่า "I-search" ปรากฏที่บริเวณสะท้อน
|
|
(echo area). นี่แสดงว่าอีแมกส์ได้อยู่ในการค้นแบบ incremental และกำลังรอ
|
|
สิ่งที่ท่านจะพิมพ์เพื่อสืบค้น. กดปุ่ม <Return> เพื่อสิ้นสุดคำสั่งสืบค้น.
|
|
|
|
>> ป้อนคำสั่ง C-s เพื่อเริ่มการสืบค้น. พิมพ์อักษรทีละตัวช้าๆ, พิมพ์คำว่า 'cursor',
|
|
หยุดหลังจากที่ท่านพิมพ์ทีละตัวอักษร, แล้วดูว่ามีอะไรเกิดขึ้นกับเคอร์เซอร์.
|
|
ขณะนี้ท่านได้สืบค้นคำว่า "cursor" ไปหนึ่งหนแล้ว.
|
|
>> ป้อนคำสั่ง C-s อีกครั้ง, เพื่อสืบค้นตำแหน่งถัดไปของคำว่า "cursor".
|
|
>> กดปุ่ม <Delete> สักสี่ครั้ง, แล้วดูว่าเคอร์เซอร์เคลื่อนที่อย่างไร.
|
|
>> กดปุ่ม <Return> เพื่อสิ้นสุดคำสั่งสืบค้น.
|
|
|
|
ท่านเห็นหรือไม่ว่ามีอะไรเกิดขึ้น? ในการสืบค้นแบบ incremental, อีแมกส์พยายาม
|
|
เคลื่อนไปตามสายอักขระที่ท่านได้พิมพ์ลงไปในแต่ละครั้ง. ถ้าจะเคลื่อนไปยังตำแหน่ง
|
|
ถัดไปของคำ, ก็ทำได้โดยการป้อนคำสั่ง C-s อีกครั้ง. ถ้าไม่มีคำนั้นอีกแล้ว, อีแมกส์จะร้อง
|
|
บอก (beep) ท่านว่าการสืบค้นครั้งนั้น "พลาด (failing)", คำสั่ง C-g ก็สามารถใช้ใน
|
|
การสิ้นสุดการสืบค้นได้.
|
|
|
|
ข้อสังเกต: ในบางระบบ, การป้อนคำสั่ง C-s จะทำให้ระบบของท่านชะงักและท่านจะไม่เห็น
|
|
ข้อความอะไรบนอีแมกส์. ลักษณะนี้แสดงว่า "feature" ของระบบปฏิบัติการ, ที่เรียกว่า
|
|
"flow control" นั้น, ได้ขัดขวางการทำงานของคำสั่ง C-s และไม่ยอมให้กลับสู่อีแมกส์
|
|
อีก. การที่จะแก้ไขการหยุดชะงักนั้น, ให้ป้อนคำสั่ง C-q. ศึกษาวิธีการจัดการกับ "feature"
|
|
นี้ได้ที่บทที่ว่าด้วย "Spontaneous Entry to Incremental Search" ในคู่มือของอีแมกส์.
|
|
|
|
ถ้าท่านอยู่ระหว่างการสืบค้นแบบ incremental อยู่, แล้วท่านกดปุ่ม <Delete>, ท่านจะ
|
|
สังเกตเห็นว่าตัวอักษรสุดท้ายที่ท่านป้อนเข้าไปนั้นถูกลบออก, และจะย้อนกลับไปยังตำแหน่ง
|
|
ก่อนหน้าของการสืบค้น. ตัวอย่างเช่น, สมมุติว่าท่านได้ป้อนตัวอักษร "c", เพื่อที่จะสืบค้น
|
|
ตำแหน่งที่ปรากฏตัวอักษร "c" นั้น. ตอนนี้ถ้าท่านพิมพ์ตัวอักษร "u", เคอร์เซอร์ก็จะ
|
|
เคลื่อนไปอยู่ที่ตำแหน่งที่ปรากฏสายอักขระ "cu" แรกสุด. ตอนนี้ให้กดปุ่ม <Delete>.
|
|
ตัวอักษร "u" จะถูกลบออกจากสายอักขระที่ทำการสืบค้นอยู่, และเคอร์เซอร์ก็จะเคลื่อน
|
|
กลับไปยังตำแหน่งที่ปรากฏตัวอักษร "c" แรกสุด.
|
|
|
|
ถ้าท่านอยู่ระหว่างการสืบค้น, แล้วป้อนคำสั่งประสมของ CONTROL หรือ META (นอกจาก
|
|
ข้อยกเว้นบางประการ--คำสั่งพิเศษที่ใช้สำหรับการสืบค้น, ได้แก่ C-s และ C-r), การสืบ
|
|
ค้นจะสิ้นสุดลง.
|
|
|
|
คำสั่ง C-s เริ่มการสืบค้นด้วยการมองหาสายอักขระตั้งแต่ตำแหน่งปัจจุบันของเคอร์เซอร์.
|
|
ถ้าท่านต้องการสืบค้นสายอักขระที่อยู่ก่อนหน้าในข้อความนั้น, ให้ป้อนคำสั่ง C-r แทน.
|
|
คำสั่ง C-s จะทำงานเหมือนกับคำสั่ง C-r ทุกอย่าง, ยกเว้นทิศทางของการสืบค้น
|
|
เท่านั้น, ที่ตรงข้ามกัน.
|
|
|
|
|
|
* วินโดว์แบบหลายวินโดว์ (multiple windows)
|
|
--------------------------------------
|
|
|
|
ลักษณะที่น่าสนใจอันหนึ่งของอีแมกส์ก็คือ, ท่านสามารถแสดงผลได้มากกว่าหนึ่งวินโดว์บนหนึ่ง
|
|
หน้าจอในเวลาเดียวกัน.
|
|
|
|
>> เคลื่อนเคอร์เซอร์มาที่บรรทัดนี้, แล้วป้อนคำสั่ง C-u 0 C-l.
|
|
|
|
>> ต่อไป, ป้อนคำสั่ง C-x 2 ซึ่งจะแบ่งหน้าจอออกเป็นสองวินโดว์.
|
|
ทั้งสองวินโดว์แสดงคู่มือการใช้นี้. เคอร์เซอร์ปรากฏอยู่ในวินโดว์บน.
|
|
|
|
>> ป้อนคำสั่ง C-M-v เพื่อเคลื่อนม้วนวินโดว์ข้างล่าง.
|
|
(ถ้าท่านไม่มีปุ่ม META, ป้อนคำสั่ง ESC C-v แทน.)
|
|
|
|
>> ป้อนคำสั่ง C-x o ("o" หมายถึง "other") เพื่อเคลื่อนเคอร์เซอร์มายังวินโดว์ล่าง.
|
|
>> ใช้คำสั่ง C-v และ M-v ในวินโดว์ล่างเพื่อที่จะเคลื่อนม้วน.
|
|
อ่านคำแนะนำนี้ด้วยวินโดว์บน.
|
|
|
|
>> ป้อนคำสั่ง C-x o อีกครั้งเพื่อที่จะเคลื่อนเคอร์เซอร์กลับไปวินโดว์บน.
|
|
เคอร์เซอร์ในวินโดว์บนจะปรากฏตรงที่ที่เคยปรากฏ.
|
|
|
|
ท่านสามารถใช้คำสั่ง C-x o เพื่อสลับไปมาระหว่างวินโดว์. แต่ละวินโดว์มีตำแหน่งของ
|
|
เคอร์เซอร์ของตัวเอง, แต่จะมีเพียงวินโดว์เดียวเท่านั้นที่แสดงตัวเคอร์เซอร์. ทุกคำสั่งก็จะ
|
|
มีผลต่อวินโดว์ที่มีเคอร์เซอร์ปรากฏอยู่เท่านั้น. เราเรียกวินโดว์นี้ว่า "วินโดว์ที่ถูกเลือก
|
|
(selected window)".
|
|
|
|
คำสั่ง C-M-v มีประโยชน์มากเมื่อท่านกำลังแก้ไขข้อความบนวินโดว์หนึ่ง, และดูอีกวินโดว์หนึ่ง
|
|
เพื่อการอ้างอิง. ท่านสามารถให้เคอร์เซอร์ปรากฏบนวินโดว์ที่ท่านกำลังแก้ไขอยู่ตลอดเวลา,
|
|
แล้วเคลื่อนตำแหน่งของอีกวินโดว์หนึ่งด้วยคำสั่ง C-M-v.
|
|
|
|
คำสั่ง C-M-v เป็นตัวอย่างหนึ่งของคำสั่งประสม CONTROL-META. ถ้าท่านมีปุ่ม META,
|
|
ท่านสามารถป้อนคำสั่ง C-M-v โดยการกดปุ่ม CONTROL และ META ขณะที่กดปุ่มอักขระ
|
|
v. ไม่ว่าจะกดปุ่ม CONTROL หรือ META ก่อนก็ไม่มีปัญหาอะไร, เพราะว่าทั้งสองปุ่มเป็นปุ่ม
|
|
ขยายของปุ่มอักขระที่ท่านจะกด.
|
|
|
|
ถ้าท่านไม่มีปุ่ม META, และท่านใช้ปุ่ม ESC แทน, ลำดับของการกดปุ่มจะมีผลต่อการทำงาน:
|
|
ท่านต้องกดปุ่ม ESC แล้วตามด้วยคำสั่ง CONTROL-v, เพราะว่าคำสั่ง CONTROL-ESC v จะไม่
|
|
ทำงาน. ทั้งนี้เพราะว่าปุ่ม ESC เป็นอักขระตัวหนึ่ง, ไม่ใช่ปุ่มขยาย.
|
|
|
|
>> ป้อนคำสั่ง C-x 1 (ในวินโดว์บน) เพื่อกำจัดวินโดว์ล่าง.
|
|
|
|
(ถ้าท่านป้อนคำสั่ง C-x 1 ในวินโดว์ล่าง, วินโดว์บนก็จะหายไป. ท่านสามารถจำ
|
|
คำสั่งนี้ได้โดยคิดว่า "เหลือไว้เพียงหนึ่งวินโดว์--วินโดว์ที่อยู่ในขณะนี้.")
|
|
|
|
ท่านไม่จำเป็นต้องแสดงผลของบัฟเฟอร์เดียวกันบนทั้งสองวินโดว์. ถ้าท่านใช้คำสั่ง C-x C-f
|
|
เพื่อค้นหาแฟ้มข้อมูลในวินโดว์หนึ่ง, อีกวินโดว์หนึ่งจะไม่เปลี่ยนแปลง. ท่านสามารถค้นหา
|
|
แฟ้มข้อมูลในแต่ละวินโดว์ได้อิสระต่อกัน.
|
|
|
|
ต่อไปเป็นอีกวิธีหนึ่งของการใช้สองวินโดว์สำหรับแสดงผลของสองสิ่งที่ต่างกัน:
|
|
|
|
>> ป้อนคำสั่ง C-x 4 C-f แล้วตามด้วยชื่อแฟ้มข้อมูล. สิ้นสุดคำสั่งด้วยการกดปุ่ม
|
|
<Return>. จะเห็นว่ามีแฟ้มข้อมูลที่ต้องการปรากฏอยู่ในวินโดว์ล่าง. เคอร์เซอร์ก็จะไป
|
|
ปรากฏที่วินโดว์นั้นด้วย.
|
|
|
|
>> ป้อนคำสั่ง C-x o เพื่อกลับไปยังวินโดว์บน, แล้วป้อนคำสั่ง C-x 1 เพื่อกำจัดวินโดว์ล่าง.
|
|
|
|
|
|
* ระดับของการแก้ไขแบบเรียกซ้ำ (recursive editing levels)
|
|
-------------------------------------------------------
|
|
|
|
บางครั้งท่านอาจจะเข้าไปอยู่ใน "ระดับของการแก้ไขแบบการเรียกซ้ำ (recursive editing
|
|
level)". สภาพดังกล่าวเช่นนี้แสดงด้วยวงเล็บก้ามปูในบรรทัดแสดงโหมด, ล้อมรอบวงเล็บที่
|
|
แสดงชื่อของโหมดหลัก. ตัวอย่างเช่น, ท่านอาจจะเห็น [(Fundamental)] แทนที่จะเป็น
|
|
(Fundamental).
|
|
|
|
ในการที่จะออกจากระดับของการแก้ไขแบบเรียกซ้ำ, กดปุ่ม ESC ESC ESC. นี่เป็น
|
|
คำสั่งที่ใช้ได้ทั่วไปในการออกจากระดับใดๆ ของการประมวลผล. ท่านสามารถใช้คำสั่งนี้ใน
|
|
การกำจัดวินโดว์พิเศษอื่นๆ, รวมทั้งการออกจากมินิบัฟเฟอร์ (minibuffer).
|
|
|
|
>> ป้อนคำสั่ง M-x เพื่อเข้าไปในมินิบัฟเฟอร์; กดปุ่ม ESC ESC ESC เพื่อออกจาก
|
|
มินิบัฟเฟอร์นั้น.
|
|
|
|
ท่านไม่สามารถใช้คำสั่ง C-g เพื่อออกจากระดับของการแก้ไขแบบเรียกซ้ำ.
|
|
เพราะว่าคำสั่ง C-g ใช้เพื่อยกเลิกคำสั่งและอาร์กิวเมนต์ภายในระดับของการแก้ไขแบบ
|
|
เรียกซ้ำ.
|
|
|
|
|
|
* การเรียกดูข้อความช่วยเหลือเพิ่มเติม (getting more help)
|
|
-------------------------------------------------
|
|
|
|
ในคู่มือนี้เราพยายามที่จะให้ข้อมูลที่เพียงพอสำหรับการเริ่มใช้อีแมกส์. ยังคงมีข้อมูลอีกมากใน
|
|
อีแมกส์ซึ่งเราไม่สามารถที่จะนำมาอธิบายไว้ในที่นี้ได้ทั้งหมด. อย่างไรก็ตาม, ท่านอาจต้องการ
|
|
เรียนรู้เกี่ยวกับอีแมกส์เพิ่มเติมเพราะอีแมกส์ยังมีคุณสมบัติอีกมากมาย. อีแมกส์ได้เตรียมคำสั่ง
|
|
สำหรับเรียกดูเนื้อหาเกี่ยวกับคำสั่งของอีแมกส์. คำสั่ง "ช่วยเหลือ (help)" ทั้งหมดเริ่มด้วย
|
|
อักขระ CONTROL-h, ซึ่งเรียกว่า "อักขระช่วยเหลือ (the Help character)".
|
|
|
|
ในการที่จะใช้คุณสมบัติช่วยเหลือ, ป้อนอักขระ C-h, แล้วตามด้วยอีกหนึ่งอักขระเพื่อบอกว่า
|
|
ท่านต้องการคำช่วยเหลืออะไร. ถ้าท่านไม่ทราบว่าจะทำอะไรต่อไป, ป้อนคำสั่ง C-h ? แล้ว
|
|
อีแมกส์จะบอกท่านว่ามีคำช่วยอะไรที่อีแมกส์สามารถจะให้ได้. ถ้าท่านป้อนคำสั่ง C-h แล้ว
|
|
ต้องการยกเลิกท่าน, ก็สามารถยกเลิกได้โดยใช้คำสั่ง C-g.
|
|
|
|
(ในบางระบบนั้น, ความหมายของอักขระ C-h ได้ถูกเปลี่ยนไป. ซึ่งโดยความเป็นจริงแล้วไม่
|
|
ควรจะทำเช่นนี้, ทั้งนี้ท่านอาจจะชี้แจงต่อผู้ดูแลระบบได้. สำหรับการแก้ปัญหาเฉพาะหน้า, ถ้า
|
|
คำสั่ง C-h ไม่ได้แสดงข้อความเกี่ยวกับคำช่วยเหลือที่ส่วนล่างของหน้าจอนั้น, ให้ลองกดปุ่ม F1
|
|
หรือ M-x help<Return> แทน.)
|
|
|
|
คุณสมบัติเบื้องต้นของคำสั่งช่วยเหลือคือคำสั่ง C-h c. ลองป้อนคำสั่ง C-h, อักขระ c, แล้ว
|
|
ตามด้วยอักขระหรือสายอักขระ; แล้วอีแมกส์จะแสดงคำอธิบายของคำสั่งนั้นโดยสังเขป.
|
|
|
|
>> ป้อนคำสั่ง C-h c CONTROL-p.
|
|
ข้อความที่ปรากฏจะเป็นดังต่อไปนี้
|
|
|
|
C-p runs the command previous-line
|
|
|
|
นี่เป็นการบอก "ชื่อฟังก์ชันของคำสั่ง" นั้น. ชื่อของฟังก์ชันใช้เพื่อการปรับและแต่งเติมอีแมกส์.
|
|
แต่เนื่องจากชื่อของฟังก์ชันนั้นตั้งเพื่อชี้บอกว่าคำสั่งนั้นทำงานอย่างไร, ซึ่งอาจเป็นตัวช่วยบอก
|
|
คำอธิบายโดยสังเขปได้--อาจเพียงพอที่จะเตือนให้ท่านนึกถึงคำสั่งที่ต้องการได้.
|
|
|
|
คำสั่งที่ประกอบด้วยหลายอักขระ เช่นคำสั่ง C-x C-s และ (ถ้าท่านไม่มีปุ่ม META หรือ
|
|
EDIT หรือ ALT) คำสั่ง <ESC>v สามารถใช้ตามหลังคำสั่ง C-h c.
|
|
|
|
การที่จะเรียกดูข้อมูลเพิ่มเกี่ยวกับคำสั่ง, ให้ใช้คำสั่ง C-h k แทนคำสั่ง C-h c.
|
|
|
|
>> ป้อนคำสั่ง C-h k CONTROL-p.
|
|
|
|
นี่เป็นการแสดงผลคำอธิบายของฟังก์ชัน, พร้อมกับชื่อของคำสั่งนั้น, ในวินโดว์หนึ่งของอีแมกส์.
|
|
เมื่อท่านอ่านเสร็จแล้ว, ป้อนคำสั่ง C-x 1 เพื่อกำจัดข้อความของคำช่วยเหลือ. ท่านไม่
|
|
จำเป็นที่จะต้องทำทันที. ท่านอาจทำการแก้ไขขณะที่ดูข้อความคำช่วยเหลือนั้นอยู่, แล้ว
|
|
ค่อยป้อนคำสั่ง C-x 1.
|
|
|
|
ต่อไปนี้เป็นตัวเลือกที่เป็นประโยชน์:
|
|
|
|
C-h f อธิบายฟังก์ชัน. พิมพ์ชื่อฟังก์ชันที่ต้องการทราบตามลงไป.
|
|
|
|
>> ลองป้อนคำสั่ง C-h f previous-line<Return>.
|
|
นี่เป็นการที่จะทำให้อีแมกส์พิมพ์ข้อมูลทั้งหมดที่มีเกี่ยวกับฟังก์ชันของคำสั่ง C-p.
|
|
|
|
C-h a คำสั่งความที่เหมาะสม (Command Apropos). ป้อนคำหลัก (keyword)
|
|
แล้วอีแมกส์จะแสดงรายการของคำสั่งทั้งหมดที่มีคำหลักประกอบอยู่.
|
|
คำสั่งเหล่านี้จะเรียกใช้ได้ด้วยคำสั่ง META-x.
|
|
สำหรับบางคำสั่ง, คำสั่งความที่เหมาะสม (Command Apropos) จะ
|
|
แสดงรายการของคำสั่งที่ประกอบด้วยหนึ่งหรือสองสายอักขระที่ใช้เรียก
|
|
คำสั่งเดียวกันด้วย.
|
|
|
|
>> ป้อนคำสั่ง C-h a file<Return>.
|
|
|
|
นี่เป็นการแสดงรายการของคำสั่งประกอบของ M-x กับ "file" ในชื่อของคำสั่ง
|
|
ทั้งหมดในอีกหน้าจอ. ท่านจะเห็นคำสั่งประกอบอักขระ (character-command) เช่น C-x
|
|
C-f แสดงอยู่กับชื่อของคำสั่งนั้นๆ เช่น find-file.
|
|
|
|
>> ป้อนคำสั่ง C-M-v เพื่อเคลื่อนม้วนวินโดว์คำช่วยเหลือ (help window). ลองทำดูสัก
|
|
สองสามครั้ง.
|
|
|
|
>> ป้อนคำสั่ง C-x 1 เพื่อกำจัดวินโดว์คำช่วยเหลือ.
|
|
|
|
|
|
* สรุป
|
|
-----
|
|
|
|
สิ่งควรจำไว้คือ, คำสั่ง C-x C-c ใช้สำหรับออกจากอีแมกส์อย่างถาวร. ถ้าต้องการออกไปยัง
|
|
เชลล์ชั่วคราว, และสามารถกลับมายังอีแมกส์ได้อีกนั้น, ให้ใช้คำสั่ง C-z.
|
|
|
|
คู่มือการใช้นี้มีเจตนาให้ผู้ที่เพิ่งเริ่มใช้ทั้งหลายสามารถเข้าใจได้, ดังนั้นถ้าท่านพบบางสิ่งที่ไม่
|
|
ชัดเจน, ไม่ต้องนั่งตำหนิตัวเอง - สอบถามมาได้เลย!
|
|
|
|
|
|
* การทำสำเนา (copying)
|
|
----------------------
|
|
|
|
คู่มือนี้ได้รับการพัฒนามาเป็นระยะเวลานาน, เริ่มตั้งแต่ต้นฉบับที่เขียนโดย Stuart Cracraft.
|
|
|
|
คู่มือเวอร์ชันนี้, เช่นเดียวกับ GNU Emacs, ได้รับการสงวนสิทธิ์, และผนวกไว้ในเงื่อนไขใน
|
|
การเผยแพร่ด้วย:
|
|
|
|
สงวนลิขสิทธิ์ พ.ศ. 2528, 2529 โดยฟรีซอฟต์แวร์ฟาวน์เดชัน (Free Software Foundation)
|
|
|
|
ทุกท่านมีสิทธิ์ในการทำสำเนาหรือเผยแพร่เอกสารนี้, ในทุกสื่อ, โดยต้องแนบข้อความแสดง
|
|
สิทธิ์และการอนุญาตนี้ไปพร้อมด้วย. ทั้งนี้เพื่อชี้ให้เห็นว่าผู้เผยแพร่ได้อนุญาตให้ผู้ที่ได้รับ
|
|
สามารถทำการเผยแพร่ต่อไปได้โดยอาศัยข้อความในเอกสารนี้.
|
|
|
|
การอนุญาตนั้นได้รวมถึงสิทธิ์ในการเผยแพร่เวอร์ชันที่ปรับปรุงแล้ว, หรือส่วนหนึ่งของ
|
|
เอกสารนี้, ภายใต้เงื่อนไขข้างบน, ตลอดจนสิทธิ์ในการบอกว่าใครเป็นผู้ปรับปรุงล่าสุด.
|
|
|
|
เงื่อนไขของการทำสำเนาอีแมกส์จะซับซ้อนมากกว่านี้, แต่มีเจตนารมณ์ที่เหมือนกัน. กรุณา
|
|
อ่านแฟ้มข้อมูล COPYING แล้วเผยแพร่สำเนาของ GNU Emacs ไปยังเพื่อนๆ ของท่านด้วย.
|
|
ช่วยกันทำลายระบบหวงซอฟต์แวร์ ("แสดงความเป็นเจ้าข้าวเจ้าของ") ด้วยการใช้,
|
|
การเขียน, และการเป็นเจ้าของร่วมกันของซอฟต์แวร์เสรี (free software).
|
|
|
|
|
|
* ต้นฉบับว่าด้วยเรื่องการทำสำเนา
|
|
--------------------------
|
|
|
|
ต่อไปนี้เป็นเอกสารว่าด้วยเรื่องการทำสำเนาที่เป็นต้นฉบับ. เอกสารนี้ปรากฏอยู่ในคู่มือการใช้
|
|
อีแมกส์ฉบับภาษาอังกฤษ, ซึ่งเป็นต้นฉบับของเอกสารแปลฉบับนี้ด้วย.
|
|
|
|
This tutorial descends from a long line of Emacs tutorials
|
|
starting with the one written by Stuart Cracraft for the original Emacs.
|
|
|
|
This version of the tutorial, like GNU Emacs, is copyrighted, and
|
|
comes with permission to distribute copies on certain conditions:
|
|
|
|
Copyright (C) 1985, 1996, 2001-2020 Free Software Foundation, Inc.
|
|
|
|
Permission is granted to anyone to make or distribute verbatim copies
|
|
of this document as received, in any medium, provided that the
|
|
copyright notice and permission notice are preserved,
|
|
and that the distributor grants the recipient permission
|
|
for further redistribution as permitted by this notice.
|
|
|
|
Permission is granted to distribute modified versions
|
|
of this document, or of portions of it,
|
|
under the above conditions, provided also that they
|
|
carry prominent notices stating who last altered them.
|
|
|
|
The conditions for copying Emacs itself are more complex, but in the
|
|
same spirit. Please read the file COPYING and then do give copies of
|
|
GNU Emacs to your friends. Help stamp out software obstructionism
|
|
("ownership") by using, writing, and sharing free software!
|
|
|
|
|
|
* คำส่งท้าย
|
|
---------
|
|
|
|
คู่มือฉบับนี้ได้แปลจากต้นฉบับที่เป็นภาษาอังกฤษ, ซึ่งจะปรากฏอยู่ในอีแมกส์เวอร์ชัน 20.4.
|
|
ผู้แปลได้ทำการแปลขึ้นมาใหม่เนื่องจากฉบับเก่าที่เป็นภาษาไทย, ซึ่งแปลโดย ดร.มานพ วงศ์
|
|
สายสุวรรณ, ได้อิงคู่มือของอีแมกส์เวอร์ชันเก่า, และขณะนี้อีแมกส์เวอร์ชัน 20.4 ก็ได้
|
|
เปลี่ยนแปลงไปมากแล้ว. นอกจากนี้, ผู้แปลยังได้นำเครื่องหมายวรรคตอนมาใช้ในที่นี้ด้วย,
|
|
ทั้งนี้ก็เพื่อที่จะเขียนให้ได้ความที่ชัดเจน. หวังเป็นอย่างยิ่งว่าคู่มือฉบับนี้จะเป็นประโยชน์
|
|
และจะได้รับการแก้ไขให้ดียิ่งๆ ขึ้นอีกต่อๆ ไป. ขอขอบคุณ คุณทัศนีย์ เจริญพร ที่ให้ความ
|
|
ช่วยเหลือตรวจสอบต้นฉบับ.
|
|
|
|
22 มกราคม 2542
|
|
วิรัช ศรเลิศล้ำวาณิช
|
|
virach@nectec.or.th
|
|
|
|
Translate - January 1999 by Virach Sornlertlamvanich
|
|
|
|
;;; Local Variables:
|
|
;;; sentence-end-double-space: nil
|
|
;;; coding: utf-8
|
|
;;; End:
|