]> code.delx.au - gnu-emacs/blob - etc/tutorials/TUTORIAL.th
77e8cfbdfedfdffef960969b24bc912ea2d40283
[gnu-emacs] / etc / tutorials / TUTORIAL.th
1 คู่มือการใช้อีแมกส์. โปรดศึกษาส่วนท้ายของคู่มือสำหรับเงื่อนไขในการทำสำเนา.
2 สงวนลิขสิทธิ์ พ.ศ. 2528 โดยบริษัทฟรีซอฟต์แวร์ฟาวน์เดชัน (Free Software
3 Foundation, Inc); กรุณาศึกษาเงื่อนไขตอนท้ายบท.
4 ท่านกำลังศึกษาคู่มือการใช้อีแมกส์ (Emacs tutorial) อยู่ในขณะนี้.
5
6 โดยทั่วไปคำสั่งของอีแมกส์ (Emacs) จะใช้คู่กับปุ่ม CONTROL (บางครั้งอาจเป็นปุ่มที่มี
7 สัญลักษณ์ CTRL หรือ CTL) หรือ ปุ่ม META (บางครั้งอาจเป็นปุ่มที่มีสัญลักษณ์ EDIT หรือ
8 ALT). แทนที่จะใช้คำเต็มในการอธิบาย, เราจะใช้ตัวย่อดังต่อไปนี้:
9
10 C-<chr> หมายถึงให้กดปุ่ม CONTROL และปุ่มอักษร <chr> พร้อมกัน.
11 ดังนั้น C-f จะหมายถึงให้กดปุ่ม CONTROL และปุ่ม f พร้อมกัน.
12 M-<chr> หมายถึงให้กดปุ่ม META หรือ EDIT หรือ ALT และปุ่มอักษร <chr>
13 พร้อมกัน. ในกรณีที่ไม่มีปุ่ม META, EDIT หรือ ALT ให้กดปุ่ม
14 ESC แล้วปล่อย, แล้วกดปุ่ม <chr>. เราใช้สัญลักษณ์ <ESC> แทนปุ่ม ESC.
15
16 หมายเหตุ: ในกรณีที่ต้องการเลิกใช้อีแมกส์, ให้กดปุ่ม C-x C-c. (สองตัวอักษร.)
17 ตัวอักษร ">>" ที่ปรากฏอยู่ทางขอบซ้ายมือเป็นการแนะนำให้ท่านลองใช้คำสั่ง. ตัวอย่างเช่น:
18 <<Blank lines inserted here by startup of help-with-tutorial>>
19 >> กดปุ่ม C-v (ดูหน้าจอถัดไป) เพื่อที่จะเคลื่อนไปยังหน้าจอถัดไป.
20 (ลองทำดูโดยการกดปุ่ม CONTROL และปุ่มอักษร v พร้อมกัน).
21 จากนี้ไป, ท่านควรจะลองใช้คำสั่งนี้ดูเมื่อท่านอ่านหน้าจอนี้จบแล้ว.
22
23 ท่านจะสังเกตเห็นได้ว่าสองบรรทัดของหน้าจอที่แล้วจะยังคงปรากฏให้เห็นบนหน้าจอถัดไป; นี่
24 เป็นการช่วยให้ท่านสามารถอ่านหน้าจอได้อย่างต่อเนื่อง.
25
26 สิ่งแรกที่ท่านจำเป็นต้องรู้คือการเคลื่อนตำแหน่งไปมาในข้อความ. ขณะนี้ท่านทราบ
27 วิธีการเคลื่อนไปยังหน้าจอถัดไปแล้วด้วยปุ่ม C-v. ในการที่จะเคลื่อนกลับไปหนึ่งหน้าจอ, กดปุ่ม
28 M-v (กดปุ่ม META และปุ่ม v, หรือกดปุ่ม <ESC>v ถ้าท่านไม่มีปุ่ม META, EDIT, หรือ ALT).
29
30 >> ลองกดปุ่ม M-v และกดปุ่ม C-v ดูการทำงานสักสองสามครั้ง.
31
32
33 * สรุป
34 -----
35
36 คำสั่งต่อไปนี้ใช้เมื่อต้องการดูหน้าจอต่างๆ:
37
38 C-v เคลื่อนไปยังหน้าจอถัดไปหนึ่งหน้าจอ
39 M-v เคลื่อนกลับไปหนึ่งหน้าจอ
40 C-l ลบหน้าจอ แล้วแสดงผลหน้าจอใหม่, พร้อมทั้งย้ายตำแหน่งของข้อความที่มี
41 เคอร์เซอร์ (cursor) ปรากฏอยู่ไปแสดงไว้กลางจอ.
42 (คำสั่งนี้คือ CONTROL-L, ไม่ใช่ CONTROL-1.)
43
44 >> สังเกตตำแหน่งของเคอร์เซอร์, และสังเกตดูว่ามีข้อความอะไรอยู่ใกล้เคอร์เซอร์.
45 แล้วกดปุ่ม C-l.
46 สังเกตดูตำแหน่งของเคอร์เซอร์อีกครั้ง จะเห็นว่ามีข้อความเดิมปรากฏอยู่ใกล้ๆ กับเคอร์เซอร์.
47
48
49 * การควบคุมเคอร์เซอร์เบื้องต้น
50 ------------------------
51
52 การเคลื่อนหน้าจอไปมานั้นเป็นสิ่งจำเป็น แต่ท่านจะทำอย่างไรถ้าท่านต้องการจะเคลื่อนไปยัง
53 ตำแหน่งที่ต้องการภายในข้อความที่ปรากฏอยู่บนหน้าจอ?
54
55 มีหลายวิธีที่สามารถจะทำได้. วิธีที่พื้นที่สุดคือการใช้คำสั่ง C-p, C-b, C-f, และ C-n.
56 แต่ละคำสั่งจะเคลื่อนเคอร์เซอร์ไปหนึ่งบรรทัดหรือหนึ่งคอลัมน์ในทิศทางใดทิศทางหนึ่งบนหน้าจอ.
57 ต่อไปนี้เป็นตารางแสดงคำสั่งทั้งสี่ และทิศทางที่เคอร์เซอร์เคลื่อนไป:
58
59 บรรทัดก่อนหน้า, C-p
60 :
61 :
62 ย้อนกลับ, C-b .... ตำแหน่งเคอร์เซอร์ปัจจุบัน .... ข้างหน้า, C-f
63 :
64 :
65 บรรทัดถัดไป, C-n
66
67 >> เคลื่อนเคอร์เซอร์ไปที่กึ่งกลางของผังข้างบนโดยใช้คำสั่ง C-n หรือ C-p. แล้วกดปุ่ม
68 C-l เพื่อให้ผังปรากฏอยู่กลางหน้าจอ.
69
70 ท่านอาจจะจำคำสั่งได้ง่ายขึ้นโดยสังเกตตัวอักษรที่ใช้: p สำหรับ previous (ก่อนหน้า), n
71 สำหรับ next (ถัดไป), b สำหรับ backward (ย้อนกลับ), และ f สำหรับ forward
72 (ข้างหน้า). เหล่านี้คือเบื้องต้นของคำสั่งในการควบคุมตำแหน่งของเคอร์เซอร์, และท่าน
73 จะต้องใช้คำสั่งเหล่านี้บ่อยครั้ง, ฉะนั้นจึงเป็นการดีที่จะจำคำสั่งเหล่านี้ไว้.
74
75 >> ลองใช้คำสั่ง C-n ดูเพื่อที่จะเคลื่อนเคอร์เซอร์ลงมายังบรรทัดนี้.
76
77 >> ลองเคลื่อนเข้าไปในบรรทัดโดยใช้คำสั่ง C-f และเคลื่อนขึ้นข้างบนโดยใช้คำสั่ง C-p.
78 สังเกตดูว่าเกิดอะไรขึ้นถ้าใช้คำสั่ง C-p เมื่อตำแหน่งเคอร์เซอร์ปรากฏอยู่ที่ตรงกลาง
79 ของบรรทัด.
80
81 แต่ละบรรทัดสิ้นสุดด้วยอักขระ Newline, ซึ่งใช้แสดงขอบเขตระหว่างบรรทัด. ที่ท้ายสุดของ
82 ไฟล์ก็จะมีอักขระ Newline เช่นกัน (แต่สำหรับอีแมกส์แล้วไม่จำเป็น).
83
84 >> ลองใช้คำสั่ง C-b ที่ตำแหน่งเริ่มต้นของบรรทัดดู. เคอร์เซอร์จะเคลื่อนไปยังตำแหน่ง
85 ท้ายสุดของบรรทัดก่อนหน้า. นี่เป็นเพราะว่าเคอร์เซอร์ได้เคลื่อนข้ามอักขระ Newline ไป.
86
87 คำสั่ง C-f สามารถเคลื่อนข้ามอักขระ Newline ได้เช่นเดียวกับคำสั่ง C-b.
88
89 >> ลองใช้คำสั่ง C-b ดูอีกสักหน่อย, ท่านจะสามารถเข้าใจการเคลื่อนเคอร์เซอร์ได้ดีขึ้น.
90 แล้วลองใช้คำสั่ง C-f เพื่อที่จะเคลื่อนไปยังตำแหน่งท้ายสุดของบรรทัด.
91 แล้วลองใช้คำสั่ง C-f อีกสักครั้งเพื่อที่จะเคลื่อนไปยังบรรทัดถัดไป.
92
93 เมื่อท่านเคลื่อนผ่านตำแหน่งบนสุดหรือท้ายสุดของหน้าจอ, ข้อความถัดจากบรรทัดที่อยู่ที่
94 ขอบนั้นจะขยับเข้ามาปรากฏอยู่บนหน้าจอ. นี่เรียกว่า "การเคลื่อนม้วน (scrolling)". นี่
95 เป็นการทำให้อีแมกส์สามารถเคลื่อนเคอร์เซอร์ไปยังตำแหน่งที่ต้องการบนข้อความได้โดย
96 ไม่เคลื่อนออกนอกหน้าจอ.
97
98 >> ลองเคลื่อนเคอร์เซอร์ลงออกไปนอกหน้าจอโดยใช้คำสั่ง C-n, แล้วดูว่ามีอะไรเกิดขึ้น.
99
100 ถ้าเคลื่อนทีละตัวอักษรนั้นช้าไป, ท่านก็สามารถจะเคลื่อนได้ทีละคำ. คำสั่ง M-f (META-f)
101 ใช้ในการเคลื่อนไปยังคำที่อยู่ถัดไป และ M-b ใช้ในการเคลื่อนไปยังคำที่อยู่ก่อนหน้า.
102
103 >> ลองใช้คำสั่ง M-f และ M-b ดูสักสองสามครั้ง.
104
105 เมื่อท่านอยู่ที่ตำแหน่งกลางของคำ, คำสั่ง M-f จะใช้เคลื่อนไปยังตำแหน่งท้ายของคำนั้น. เมื่อ
106 ท่านอยู่ที่ตำแหน่งเว้นวรรคระหว่างคำ, คำสั่ง M-f จะใช้เคลื่อนไปยังตำแหน่งท้ายของคำ
107 ที่อยู่ถัดไป. คำสั่ง M-b ทำหน้าที่ทำนองเดียวกัน แต่เคลื่อนไปในทิศทางตรงกันข้าม.
108
109 หมายเหตุ: เนื่องจากภาษาไทยไม่มีการใช้อักขระเว้นวรรค (whitespace) ในการแสดง
110 ขอบเขตของคำ, ฉะนั้นเมื่ออยู่ในโหมดภาษาไทย (ThaiText mode) อีแมกส์
111 จะทำการกำกับขอบเขตของคำโดยอาศัยโปรแกรมตัดคำ. คำสั่ง M-f และ M-b
112 จึงจะทำงานได้, แต่จะให้ผลต่างไปเล็กน้อย. กล่าวคือ:
113
114 ไม่ว่าท่านอยู่ที่ตำแหน่งกลางหรือตำแหน่งเริ่มต้นของคำก็ตาม, คำสั่ง M-f จะใช้
115 เคลื่อนไปยังตำแหน่งเริ่มต้นของคำถัดไปในกรณีที่คำนั้นไม่ได้เป็นคำสุดท้ายของ
116 บรรทัด. ถ้าคำนั้นเป็นคำสุดท้ายของบรรทัด, คำสั่ง M-f จะใช้เคลื่อนไปยัง
117 ตำแหน่งท้ายของคำนั้น.
118
119 >> ลองใช้คำสั่ง M-f และ M-b ดู, โดยปะปนกับคำสั่ง C-f และ C-b, ท่านจะสังเกต
120 เห็นการทำงานของคำสั่ง M-f และ M-b ในตำแหน่งต่างๆ ทั้งในคำและระหว่างคำ.
121
122 ท่านสามารถสังเกตได้ว่าคำสั่ง C-f และ C-b นั้นทำหน้าที่ในลักษณะเดียวกับคำสั่ง M-f
123 และ M-b, แต่อยู่บนเกณฑ์ที่ต่างกัน. ส่วนมาก ปุ่ม META จะถูกกำหนดให้ใช้กับการทำงานใน
124 ระดับที่เกี่ยวข้องกับหน่วยที่กำหนดขึ้นทางภาษา (เช่น คำ, ประโยค, ย่อหน้า, เป็นต้น),
125 ขณะที่ปุ่ม CONTROL นั้นมักจะถูกกำหนดให้ใช้กับการทำงานในระดับที่เกี่ยวข้องกับหน่วยย่อย
126 อิสระที่ทำการแก้ไขได้ (เช่น ตัวอักษร, บรรทัด, เป็นต้น).
127
128 การทำงานในทำนองเดียวกันสำหรับบรรทัดกับประโยค: คำสั่ง C-a และ C-e ใช้เคลื่อน
129 ไปยังตำแหน่งเริ่มต้นและท้ายของบรรทัด, ขณะเดียวกันคำสั่ง M-a และ M-e ใช้เคลื่อน
130 ไปยังตำแหน่งเริ่มต้นและท้ายของประโยค.
131
132 หมายเหตุ: เนื่องจากภาษาไทยไม่นิยมใช้อักขระมหัพภาค (period) ในการแสดงจุดสิ้นสุดของ
133 ประโยค, ทำให้ไม่สามารถกำหนดขอบเขตของประโยคให้ถูกต้องได้. ดังนั้นเมื่อ
134 อยู่ในโหมดภาษาไทย (ThaiText mode), คำสั่ง M-a และ M-e จะเคลื่อน
135 เคอร์เซอร์ไปยังตำแหน่งเริ่มต้นของย่อหน้า และตำแหน่งท้ายสุดของย่อหน้า
136 ตามลำดับ. ยกเว้นกรณีที่มีการใช้อักขระมหัพภาค.
137
138 >> ลองใช้คำสั่ง C-a และ C-e ดูสักสองสามครั้ง.
139 ลองใช้คำสั่ง M-a และ M-e ดูสักสองสามครั้ง.
140
141 สังเกตดูว่าการใช้คำสั่ง C-a ซ้ำๆ กันจะไม่เกิดผลอะไร, แต่การใช้คำสั่ง M-a จะทำให้
142 เคอร์เซอร์เคลื่อนไปทีละประโยค. แม้ว่าการเคลื่อนเคอร์เซอร์ของทั้งสองแบบนี้จะไม่
143 คล้ายกันเลยทีเดียว, แต่ก็ดูเป็นธรรมชาติดี.
144
145 บางครั้งเราก็เรียกตำแหน่งของเคอร์เซอร์ว่า "จุด (point)". กล่าวคือ, เคอร์เซอร์ที่
146 ปรากฏอยู่บนหน้าจอก็คือตำแหน่งที่จุดปรากฏอยู่บนข้อความนั่นเอง.
147
148 ต่อไปนี้เป็นสรุปของชุดคำสั่งสำหรับการเคลื่อนเคอร์เซอร์, ซึ่งรวมถึงการเคลื่อนในระดับคำ
149 และประโยค:
150
151 C-f เคลื่อนไปข้างหน้าหนึ่งตัวอักษร
152 C-b เคลื่อนกลับไปหนึ่งตัวอักษร
153
154 M-f เคลื่อนไปข้างหน้าหนึ่งคำ
155 M-b เคลื่อนกลับไปหนึ่งคำ
156
157 C-n เคลื่อนไปบรรทัดถัดไป
158 C-p เคลื่อนไปบรรทัดก่อนหน้า
159
160 C-a เคลื่อนไปยังตำแหน่งเริ่มต้นของบรรทัด
161 C-e เคลื่อนไปยังตำแหน่งท้ายของบรรทัด
162
163 M-a เคลื่อนไปยังตำแหน่งเริ่มต้นของประโยค
164 M-e เคลื่อนไปยังตำแหน่งท้ายของประโยค
165
166 >> ลองใช้คำสั่งเหล่านี้สักระยะเพื่อเป็นการฝึกหัด.
167 คำสั่งเหล่านี้เป็นคำสั่งที่ใช้กันบ่อยมาก.
168
169 มีอีกสองคำสั่งที่สำคัญในการเคลื่อนตำแหน่งคือ คำสั่ง M-< (META น้อยกว่า), ใช้ในการ
170 เคลื่อนไปยังตำแหน่งเริ่มต้นของข้อความ, และ M-> (META มากกว่า), ใช้ในการเคลื่อน
171 ไปยังตำแหน่งท้ายสุดของข้อความ.
172
173 ในเครื่องปลายทาง (terminal) ส่วนใหญ่, อักขระ "<" จะอยู่เหนืออักขระจุลภาค
174 (comma), ฉะนั้นท่านต้องใช้ปุ่มชิฟต์ (shift) ในการป้อนอักขระนั้น. สำหรับเครื่อง
175 ปลายทางแบบนี้, ท่านจึงต้องใช้ปุ่มชิฟต์ในการป้อนคำสั่ง M-< ในทำนองเดียวกัน, ถ้าไม่
176 คำนึงถึงปุ่มชิฟต์, ก็หมายความว่าท่านกำลังป้อนคำสั่ง M-comma.
177
178 >> ลองใช้คำสั่ง M-< ดู, เพื่อเคลื่อนไปยังตำแหน่งเริ่มต้นของคู่มือการใช้นี้.
179 แล้วใช้คำสั่ง C-v ซ้ำกันหลายๆ ครั้งเพื่อที่จะเคลื่อนกลับมายังตำแหน่งเดิมนี้.
180
181 >> ลองใช้คำสั่ง M-> ดู, เพื่อเคลื่อนไปยังตำแหน่งท้ายสุดของคู่มือการใช้นี้.
182 แล้วใช้คำสั่ง M-v ซ้ำกันหลายๆ ครั้งเพื่อที่จะเคลื่อนกลับมายังตำแหน่งเดิมนี้.
183
184 ท่านสามารถเคลื่อนเคอร์เซอร์ได้ด้วยปุ่มลูกศร (arrow key), ถ้าเครื่องปลายทางของท่าน
185 มีปุ่มเหล่านี้อยู่. เราแนะนำให้ฝึกหัดใช้คำสั่ง C-b, C-f, C-n และ C-p, ด้วยเหตุผลสาม
186 ประการ. หนึ่ง, คำสั่งเหล่านี้ทำงานได้บนเครื่องปลายทางทุกชนิด. สอง, เมื่อท่านได้ฝึกหัด
187 การใช้กับอีแมกส์แล้ว ท่านจะรู้สึกว่าการใช้คำสั่งด้วยปุ่ม CONTROL นั้นคล่องตัวกว่าการใช้
188 ปุ่มลูกศร (เพราะว่าท่านไม่ต้องเคลื่อนย้ายมือออกจากตำแหน่งมือสัมผัสเลย). สาม, เมื่อ
189 ท่านคุ้นเคยกับการใช้คำสั่งประกอบกับปุ่ม CONTROL แล้ว, ท่านสามารถจะฝึกการใช้คำสั่ง
190 ชั้นสูงต่อไปได้อีกด้วย.
191
192 คำสั่งส่วนใหญ่ในอีแมกส์นั้นจะสามารถกำกับตัวเลขอาร์กิวเมนต์ได้; สำหรับคำสั่งส่วนใหญ่,
193 ตัวเลขเหล่านี้ก็จะหมายถึงจำนวนครั้งของการประมวลผลของคำสั่งต่อไป. การที่จะทำให้มี
194 การประมวลผลของคำสั่งซ้ำเท่าจำนวนที่ต้องการนั้นสามารถทำได้โดยการป้อนคำสั่ง C-u
195 แล้วตามด้วยตัวเลขก่อนที่จะป้อนคำสั่งที่ต้องการ. ถ้าท่านมีปุ่ม META (หรือ EDIT หรือ
196 ALT), ท่านสามารถจะทำได้ด้วยอีกวิธีหนึ่ง: ป้อนตัวเลขขณะที่กดปุ่ม META อยู่. เราแนะนำ
197 ให้ท่านฝึกหัดใช้คำสั่ง C-u เพราะว่าสามารถใช้ได้กับเครื่องปลายทางทุกชนิด. ตัวเลขอาร์
198 กิวเมนต์ที่กล่าวถึงนี้เรียกว่า "อาร์กิวเมนต์เติมหน้า (prefix argument)", เพราะว่าท่าน
199 ต้องป้อนตัวเลขก่อนที่จะป้อนคำสั่ง.
200
201 ตัวอย่างเช่น, คำสั่ง C-u 8 C-f จะเคลื่อนไปข้างหน้าแปดตัวอักษร.
202
203 >> ลองใช้คำสั่ง C-n หรือ C-p ประกอบกับตัวเลขอาร์กิวเมนต์, เพื่อที่จะเคลื่อนเคอร์เซอร์
204 เข้ามาใกล้บรรทัดนี้โดยใช้เพียงคำสั่งเดียว.
205
206 คำสั่งส่วนใหญ่ใช้ตัวเลขอาร์กิวเมนต์เหล่านี้สำหรับการประมวลผลคำสั่งซ้ำ, แต่บางคำสั่งก็ใช้
207 ในลักษณะอื่น. มีหลายคำสั่ง (แต่ไม่รวมคำสั่งที่ได้กล่าวมาถึงตรงนี้) ใช้ตัวเลขนี้เป็นตัว
208 บ่งชี้--การที่มีอาร์กิวเมนต์เติมหน้า, โดยไม่คำนึงถึงค่าของตัวเลข, จะทำให้คำสั่งนั้นทำงาน
209 ต่างออกไป.
210
211 คำสั่ง C-v และ M-v เป็นคำสั่งที่ยกเว้นอีกประเภทหนึ่ง. ถ้าป้อนตัวเลขอาร์กิวเมนต์ด้วยแล้ว,
212 หน้าจอจะถูกเคลื่อนม้วนขึ้นหรือลงเป็นจำนวนบรรทัดเท่าตัวเลขที่กำหนด, แทนที่จะเคลื่อนม้วน
213 ทีละหน้าจอ. ตัวอย่างเช่น, คำสั่ง C-u 8 C-v จะเคลื่อนม้วนหน้าจอทีละแปดบรรทัด.
214
215 >> ลองใช้คำสั่ง C-u 8 C-v ดู.
216
217 คำสั่งนี้จะเคลื่อนม้วนหน้าจอขึ้นไปแปดบรรทัด. ถ้าท่านต้องการจะเคลื่อนม้วนกลับมาอีก, ท่าน
218 ก็ทำได้โดยการกำกับตัวเลขอาร์กิวเมนต์ให้กับคำสั่ง M-v.
219
220 ถ้าท่านกำลังใช้เอกซ์วินโดว์ (X Window) อยู่, จะมีแผงเคลื่อนม้วน (scroll bar) ที่
221 เป็นพื้นที่สี่เหลี่ยมผืนผ้าอยู่ทางด้านซ้ายของวินโดว์ (window) ของอีแมกส์. ท่านสามารถ
222 จะเคลื่อนม้วนข้อความโดยการคลิกเมาส์ (click mouse) บนแผงเคลื่อนม้วน.
223
224 >> ลองกดปุ่มกลางที่ส่วนบนสุดของพื้นที่ที่เน้น (highlight) ภายในแผงเคลื่อนม้วน.
225 ข้อความจะถูกเคลื่อนม้วนไปยังตำแหน่งที่ที่ท่านได้คลิก.
226
227 >> ลองเคลื่อนเมาส์ขึ้นลงดู, ขณะที่ยังกดปุ่มกลางอยู่. ท่านจะพบว่าข้อความจะเคลื่อนที่ขึ้น
228 ลงตามที่ท่านเคลื่อนเมาส์ไป.
229
230
231 * กรณีที่อีแมกส์หยุดชะงัก (hang up)
232 ----------------------------
233
234 ถ้าอีแมกส์หยุดและไม่ตอบสนองคำสั่งใดๆ, ท่านสามารถยกเลิกคำสั่งได้อย่างปลอดภัยโดยใช้
235 คำสั่ง C-g. ท่านสามารถใช้คำสั่ง C-g ในการยกเลิกคำสั่งที่กำลังทำงานอยู่ได้.
236
237 ท่านสามารถใช้คำสั่ง C-g เพื่อยกเลิกตัวเลขอาร์กิวเมนต์หรือคำสั่งที่ท่านกำลังป้อนอยู่ได้.
238
239 >> ลองป้อนคำสั่ง C-u 100 เพื่อที่จะให้มีตัวเลขอาร์กิวเมนต์เป็น 100, แล้วป้อนคำสั่ง C-g.
240 ป้อนคำสั่ง C-f. ผลที่ได้ก็คือเคอร์เซอร์เคลื่อนไปเพียงหนึ่งตัวอักษร, เพราะว่าท่านได้
241 ยกเลิกตัวเลขอาร์กิวเมนต์ไปแล้วด้วยคำสั่ง C-g.
242
243 ถ้าท่านป้อนคำสั่ง <ESC> โดยไม่ได้ตั้งใจ, ท่านก็สามารถจะยกเลิกคำสั่งนั้นได้ด้วยคำสั่ง C-g.
244
245
246 * คำสั่งที่ถูกปิดทาง (disable)
247 ------------------------
248
249 คำสั่งบางคำสั่งถูกปิดทางไว้ เพื่อที่จะป้องกันไม่ให้ผู้ที่เริ่มต้นใช้ (beginning user) ใช้ได้
250 โดยไม่ได้ตั้งใจ.
251
252 ถ้าท่านป้อนคำสั่งประเภทนี้แล้ว, อีแมกส์จะแสดงข้อความว่าคำสั่งนั้นคืออะไร, และจะถาม
253 ท่านว่าต้องการจะประมวลผลคำสั่งนั้นหรือไม่.
254
255 ถ้าท่านต้องการที่จะประมวลผลคำสั่งนั้นจริงๆ, กดปุ่ม space เพื่อตอบยืนยันความต้องการ.
256 โดยปรกติแล้ว, ถ้าท่านไม่ต้องการจะประมวลผลคำสั่งที่ถูกปิดทางไว้, ก็ตอบ "n" เท่านั้น.
257
258 >> ลองใช้คำสั่ง C-x C-l (ซึ่งเป็นคำสั่งที่ถูกปิดทางไว้), แล้วป้อน "n" เพื่อเป็นการตอบ
259 คำถาม.
260
261
262 * วินโดว์ (window)
263 ----------------
264
265 อีแมกส์สามารถมีได้หลายวินโดว์, แต่ละวินโดว์ก็จะแสดงผลของข้อความของตนเอง. เราจะ
266 อธิบายถึงวิธีการใช้แบบหลายวินโดว์หลังจากนี้. ตอนนี้จะกล่าวถึงวิธีการปิดวินโดว์ที่ไม่ต้อง
267 การ, แล้วกลับไปใช้เพียงวินโดว์เดียว. ซึ่งสามารถทำได้ดังนี้:
268
269 C-x 1 หนึ่งวินโดว์ (คือการปิดวินโดว์อื่นๆ ทั้งหมด)
270
271 นั่นคือเพียงป้อนคำสั่ง C-x แล้วตามด้วยเลข 1. คำสั่ง C-x 1 จะขยายวินโดว์ที่มี
272 เคอร์เซอร์อยู่ ให้เต็มหน้าจอ. ซึ่งจะเป็นการปิดวินโดว์อื่นๆ ทั้งหมด.
273
274 >> เคลื่อนเคอร์เซอร์มายังบรรทัดนี้ แล้วป้อนคำสั่ง C-u 0 C-l.
275 >> ป้อนคำสั่ง C-h k C-f.
276 จะเห็นว่าวินโดว์นี้มีขนาดย่อลง ขณะที่มีวินโดว์ใหม่เกิดขึ้นแสดงผลของเอกสารที่เกี่ยวกับ
277 คำสั่งของ C-f.
278
279 >> ป้อนคำสั่ง C-x 1 แล้วจะพบว่าวินโดว์ที่แสดงรายการของเอกสารหายไป.
280
281 คำสั่งนี้ต่างจากคำสั่งที่ได้กล่าวมาตรงที่ว่าคำสั่งนี้ประกอบด้วยสองตัวอักษร. คำสั่งนี้เริ่มต้น
282 ด้วยอักขระ C-x. มีชุดของคำสั่งที่ขึ้นต้นด้วยอักขระ C-x; ส่วนใหญ่จะเกี่ยวข้องกับการ
283 จัดการกับวินโดว์, แฟ้มข้อมูล, บัฟเฟอร์, และอื่นๆ ในทำนองเดียวกัน. คำสั่งเหล่านี้จะ
284 ประกอบด้วยสอง, สาม, หรือสี่ตัวอักษร.
285
286
287 * การแทรก (inserting) และการลบ (deleting)
288 ----------------------------------------------
289
290 ถ้าท่านต้องการที่จะแทรกข้อความ, ก็สามารถทำได้โดยการป้อนข้อความนั้นเข้าไปเท่านั้น.
291 ตัวอักษรที่ท่านเห็น, เช่น A, 7, *, เป็นต้น, ต่างก็ถือว่าเป็นข้อความและถูกแทรกเข้าไป
292 ทันทีที่ป้อน. กดปุ่ม <Return> ในการที่จะแทรกอักขระ Newline.
293
294 ท่านสามารถลบตัวอักษรตัวสุดท้ายที่ท่านได้ป้อนเข้าไปได้โดยการกดปุ่ม <Delete>. ปุ่ม
295 <Delete> เป็นปุ่มๆ หนึ่งบนแป้นพิมพ์, ซึ่งบางครั้งอาจเป็นปุ่มที่กำกับด้วย "Del". ในบาง
296 กรณี, ปุ่ม "Backspace" ก็ทำหน้าที่เช่นเดียวกับปุ่ม <Delete>, แต่ก็ไม่เสมอไป.
297
298 โดยทั่วไปแล้ว, ปุ่ม <Delete> จะใช้สำหรับลบตัวอักษรที่อยู่หน้าตำแหน่งของเคอร์เซอร์ปัจจุบัน.
299
300 >> ลองทำดู--ป้อนตัวอักษรใดๆ สักสองสามตัว, แล้วลบตัวอักษรนั้นออกโดยกดปุ่ม
301 <Delete> สักสองสามครั้ง. ไม่ต้องกังวลว่าจะทำให้ข้อความในแฟ้มข้อมูลนี้เปลี่ยนไป;
302 ท่านจะไม่ทำให้ข้อความในต้นฉบับของคู่มือการใช้เปลี่ยนแปลง. นี่เป็นเพียงฉบับสำเนาเท่านั้น.
303
304 เมื่อข้อความในบรรทัดยาวเกินกว่าหนึ่งบรรทัดของหน้าจอ, ข้อความในบรรทัดนั้นจะต่อเนื่อง
305 ไปยังบรรทัดถัดไปของหน้าจอ. อักขระ backslash (“\”) ที่ปลายของขอบขวามือจะบ่งชี้
306 ว่าข้อความของบรรทัดนั้นต่อเนื่องไปยังบรรทัดถัดไป.
307
308 >> ป้อนข้อความจนกระทั่งถึงขอบขวา, แล้วป้อนต่อไปอีก. ท่านจะเห็นการแสดงผลของ
309 บรรทัดต่อเนื่องกัน.
310
311 >> ใช้ปุ่ม <Delete> เพื่อลบข้อความออกจนกระทั่งข้อความนั้นพอดีกับความกว้างของหน้าจอ.
312 บรรทัดที่ต่อเนื่องกันก็จะหายไป.
313
314 ท่านสามารถลบอักขระ Newline ออกได้เช่นเดียวกับตัวอักษรอื่นๆ. การลบอักขระ Newline
315 ระหว่างสองบรรทัดจะเป็นการรวมสองบรรทัดนั้นเข้าเป็นบรรทัดเดียว. ถ้าผลของการรวมสอง
316 บรรทัดเข้าด้วยกันทำให้บรรทัดนั้นยาวเกินกว่าบรรทัดของหน้าจอแล้ว, บรรทัดนั้นก็จะเป็นบรรทัด
317 แบบต่อเนื่อง.
318
319 >> เคลื่อนเคอร์เซอร์ไปยังตำแหน่งเริ่มต้นของบรรทัด, แล้วกดปุ่ม <Delete>.
320 บรรทัดปัจจุบันจะถูกเชื่อมเข้ากับบรรทัดก่อนหน้า.
321
322 >> กดปุ่ม <Return> เพื่อที่จะแทรกอักขระ Newline เข้าไปใหม่.
323
324 ควรจำไว้ว่าคำสั่งส่วนใหญ่ของอีแมกส์จะสามารถทำให้ประมวลผลซ้ำได้หลายครั้ง; ซึ่งรวมถึง
325 จำนวนตัวอักษรด้วย. การประมวลผลซ้ำของการป้อนตัวอักษรคือการแทรกตัวอักษรเหล่านั้นเข้าไป.
326
327 >> ลองทำดูเดี๋ยวนี้--ป้อนคำสั่ง C-u 8 * เพื่อที่จะป้อนสายอักขระ ********.
328
329 ท่านได้เรียนรู้ถึงวิธีการเบื้องต้นในการป้อนบางสิ่งบางอย่างในอีแมกส์และการแก้ไข
330 ข้อผิดพลาดต่างๆ. ท่านสามารถที่จะลบทีละคำหรือทีละบรรทัดในทำนองเดียวกัน. ต่อไปนี้เป็น
331 การสรุปการลบด้วยวิธีต่างๆ:
332
333 <Delete> ลบตัวอักษรที่อยู่หน้าตำแหน่งเคอร์เซอร์
334 C-d ลบตัวอักษรที่อยู่ถัดไปหลังตำแหน่งเคอร์เซอร์
335
336 M-<Delete> ฆ่าคำที่อยู่หน้าตำแหน่งเคอร์เซอร์
337 M-d ฆ่าคำที่อยู่ถัดไปหลังตำแหน่งเคอร์เซอร์
338
339 C-k ฆ่าตัวอักษรตั้งแต่ตำแหน่งเคอร์เซอร์ไปจนถึงท้ายบรรทัด
340 M-k ฆ่าตัวอักษรตั้งแต่ตำแหน่งเคอร์เซอร์ไปจนถึงท้ายของประโยค
341
342 ควรจะสังเกตได้ว่าคำสั่ง <Delete> และ C-d, กับ M-<Delete> และ M-d เป็นคำสั่ง
343 ในทำนองเดียวกันที่เริ่มจากคำสั่ง C-f และ M-f (แม้ว่าปุ่ม <Delete> จะไม่ใช่ตัวอักษร
344 ก็ตาม, แต่ไม่ได้เป็นเรื่องสำคัญ). คำสั่ง C-k และ M-k ก็เช่นเดียวกับ C-e และ M-e ที่
345 ทำงานในลักษณะเดียวกันแต่คนละระดับ, คือระดับที่เป็นบรรทัดกับประโยค.
346
347 เมื่อท่านลบตัวอักษรไปมากกว่าหนึ่งตัวในครั้งหนึ่งๆ, อีแมกส์จะบันทึกข้อความที่ถูกลบไปไว้
348 เพื่อว่าท่านจะสามารถเรียกกลับมาได้อีก. การเรียกกลับมาของข้อความที่ถูกฆ่าไปนั้นเรียกว่า
349 "การเรียกคืน (yanking)". ท่านสามารถเรียกคืนข้อความที่ถูกฆ่าไปกลับมาได้โดยให้
350 ปรากฏในที่ที่ถูกฆ่าไป, หรือปรากฏในที่ใดๆ ของข้อความก็ได้. ท่านสามารถเรียกคืนข้อความ
351 กี่ครั้งก็ได้เพื่อที่จะทำสำเนาข้อความ. คำสั่งที่ใช้ในการเรียกคืนคือ C-y.
352
353 สิ่งที่ควรสังเกตอันหนึ่งคือข้อแตกต่างระหว่าง "การฆ่า (killing)" กับ "การลบ
354 (deleting)". สิ่งที่ถูก "ฆ่า (killed)" ไปนั้น, สามารถที่จะเรียกคืน (yank) มาได้,
355 แต่สิ่งที่ถูก "ลบ (deleted)" ไปนั้น, ไม่สามารถจะเรียกคืนมาได้. โดยทั่วไป, คำสั่งที่สามารถ
356 ลบข้อความได้ทีละมากๆ จะเก็บข้อความนั้นไว้, ขณะที่คำสั่งที่ลบได้ทีละตัวอักษร, หรือบรรทัด
357 เปล่าและเว้นวรรค, จะไม่เก็บข้อความที่ถูกลบไป.
358
359 >> เคลื่อนเคอร์เซอร์ไปยังจุดเริ่มต้นของบรรทัดที่ไม่ใช่บรรทัดเปล่า.
360 แล้วป้อนคำสั่ง C-k เพื่อที่จะฆ่าข้อความที่อยู่บนบรรทัดนั้น.
361 >> ป้อนคำสั่ง C-k อีกครั้งหนึ่ง. ท่านจะเห็นว่าอักขระ Newline ที่อยู่ท้ายบรรทัดนั้นจะถูก
362 ฆ่าไป.
363
364 จะสังเกตได้ว่าคำสั่ง C-k คำสั่งแรกจะฆ่าเนื้อความของบรรทัด, และคำสั่ง C-k คำสั่ง
365 ที่สองจะฆ่าบรรทัดนั้น, และจะขยับบรรทัดอื่นๆ ที่เหลือทั้งหมดขึ้น. คำสั่ง C-k จัดการกับ
366 ตัวเลขอาร์กิวเมนต์ในลักษณะที่แตกต่างออกไป: คำสั่งนี้จะฆ่าหลายๆ บรรทัดและเนื้อหาของ
367 ข้อความด้วย. นี่ไม่เหมือนการทำซ้ำแบบปรกติ. คำสั่ง C-u 2 C-k จะฆ่าทั้งสองบรรทัด
368 พร้อมทั้งอักขระ Newline ของบรรทัดนั้นๆ ด้วย; ซึ่งต่างจากการทำคำสั่ง C-k สองครั้ง.
369
370 ใช้คำสั่ง C-y ในการที่จะเรียกคืนข้อความที่ถูกฆ่าไปหลังสุด. ข้อความที่ถูกเรียกคืนนั้นจะ
371 ปรากฏที่ตำแหน่งเคอร์เซอร์ปัจจุบัน.
372
373 >> ลองใช้คำสั่ง C-y เพื่อที่จะเรียกคืนข้อความกลับมา.
374
375 คำสั่ง C-y ก็เหมือนการเรียกคืนสิ่งของที่ใครบางคนได้เอาไปจากท่าน. ท่านจะสังเกตได้ว่า
376 ถ้าท่านใช้คำสั่ง C-k ติดต่อกันหลายๆ ครั้ง, ข้อความที่ถูกฆ่าไปทั้งหมดจะถูกเก็บไว้ด้วยกัน,
377 ฉะนั้นการใช้คำสั่ง C-y เพียงครั้งเดียวก็จะเรียกคืนข้อความกลับมาได้ทั้งหมด.
378
379 >> ลองใช้คำสั่ง C-k หลายๆ ครั้งดู.
380
381 เพื่อที่จะเรียกคืนข้อความที่ถูกฆ่าไป:
382
383 >> ลองใช้คำสั่ง C-y. แล้วเคลื่อนเคอร์เซอร์ลงไปสักสองสามบรรทัด, แล้วใช้คำสั่ง C-y
384 อีกครั้ง. ท่านจะเข้าใจวิธีการที่จะสำเนาข้อความ.
385
386 ท่านจะทำอย่างไรถ้าท่านต้องการจะเรียกคืนข้อความบางอย่าง, แล้วฆ่าบางอย่างออกไป?
387 คำสั่ง C-y จะเรียกคืนข้อความที่ถูกฆ่าล่าสุด. แต่ข้อความก่อนหน้านั้นยังคงเหลืออยู่. ท่าน
388 สามารถจะเรียกคืนมาได้อีกโดยใช้คำสั่ง M-y. หลังจากที่ท่านได้เรียกคืนข้อความล่าสุดแล้ว,
389 ใช้คำสั่ง M-y เพื่อที่จะเรียกคืนข้อความก่อนหน้านั้นมาแทนที่. การใช้คำสั่ง M-y แต่ละครั้ง
390 จะเรียกคืนข้อความที่ถูกฆ่าไปในลำดับที่ย้อนกลับขึ้นไป. เมื่อท่านได้ข้อความที่ต้องการกลับคืนมา,
391 ท่านก็ไม่จำเป็นที่จะต้องทำอะไรกับข้อความนั้นอีก. เพียงปล่อยอยู่อย่างนั้น, แล้วทำการแก้ไข
392 ข้อความอื่นต่อไป.
393
394 ถ้าท่านใช้คำสั่ง M-y ด้วยจำนวนครั้งที่มากพอ, ท่านจะย้อนกลับมายังจุดเริ่มต้นอีกครั้ง
395 (ข้อความที่ถูกฆ่าไปล่าสุด).
396
397 >> ฆ่าหนึ่งบรรทัด, เคลื่อนเคอร์เซอร์ไป, ฆ่าอีกบรรทัด.
398 แล้วใช้คำสั่ง C-y เพื่อที่จะเรียกคืนบรรทัดที่ถูกฆ่าไปในครั้งที่สอง.
399 แล้วใช้คำสั่ง M-y ซึ่งจะเรึยกคืนบรรทัดที่ถูกฆ่าไปในครั้งแรกมาแทนที่.
400 ใช้คำสั่ง M-y อีก, แล้วดูว่าจะเกิดอะไรขึ้น. ลองทำไปเรื่อยๆ จนกว่าบรรทัดที่ถูกฆ่าไป
401 ในครั้งที่สองจะกลับคืนมา, แล้วทำไปอีกสักระยะ.
402 ถ้าท่านต้องการ, ท่านอาจจะลองกำกับตัวเลขอาร์กิวเมนต์ทั้งที่เป็นจำนวนบวกและลบให้กับ
403 คำสั่ง M-y ดู.
404
405
406 * การทำย้อน (undo)
407 -------------------
408
409 ถ้าท่านได้แก้ไขข้อความไป, และคิดว่าได้ทำผิดพลาดไป, ท่านสามารถทำย้อนสิ่งที่ได้
410 เปลี่ยนแปลงไปแล้วด้วยคำสั่งการทำย้อน, C-x u.
411
412 โดยปรกติ, คำสั่ง C-x u ทำย้อนคำสั่งที่ได้ทำไปแล้วหนึ่งคำสั่ง; ถ้าท่านทำย้อนซ้ำติดต่อกัน,
413 การทำย้อนแต่ละครั้งจะย้อนคำสั่งไปทีละคำสั่ง.
414
415 แต่มีข้อยกเว้นอยู่สองประการ: คำสั่งที่ไม่เปลี่ยนแปลงข้อความจะไม่นับรวมอยู่ด้วย (นี่รวมถึง
416 คำสั่งการเคลื่อนเคอร์เซอร์และการเคลื่อนม้วน), และการแทรกตัวอักษรก็จะถูกจัดการโดยรวม
417 เป็นกลุ่มที่ไม่เกิน 20 ตัวอักษรต่อกลุ่ม. (ทั้งนี้เพื่อลดจำนวนครั้งของคำสั่ง C-x u ในการทำ
418 ย้อนการแทรกตัวอักษร.)
419
420 >> ฆ่าบรรทัดนี้ด้วยคำสั่ง C-k, แล้วป้อนคำสั่ง C-x u. บรรทัดที่ถูกฆ่าไปจะปรากฏกลับคืนมา.
421
422 คำสั่ง C-_ เป็นอีกคำสั่งหนึ่งสำหรับการทำย้อน; คำสั่งนี้ทำงานเหมือนกับคำสั่ง C-x u,
423 แต่ว่าสะดวกกว่าในการป้อนหลายๆ ครั้งติดต่อกัน. ข้อเสียของคำสั่ง C-_ นี้คือในบาง
424 แป้นพิมพ์, อาจจะไม่ทราบว่าจะป้อนคำสั่งได้อย่างไร. นั่นคือเหตุที่ทำให้เราต้องเตรียมคำสั่ง
425 C-x u ให้อีกต่างหาก. ในเครื่องปลายทางบางชนิด,ท่านอาจจะป้อนคำสั่ง C-_ ได้โดยการกด
426 อักขระ / ในขณะที่กดปุ่ม CONTROL.
427
428 ตัวเลขอาร์กิวเมนต์สำหรับคำสั่ง C-_ และ C-x u จะเป็นการซ้ำจำนวนครั้งของคำสั่ง.
429
430
431 * แฟ้มข้อมูล (file)
432 ----------------
433
434 เพื่อที่จะเก็บข้อความที่ได้แก้ไขไปนั้น, ท่านจะต้องเก็บข้อความนั้นไว้ในแฟ้มข้อมูล. ไม่เช่นนั้น
435 ข้อความก็จะหายไปเมื่อท่านเลิกใช้อีแมกส์. การที่จะเก็บข้อความนั้นลงในแฟ้มข้อมูล, ท่าน
436 จะต้อง "ค้นหา (find)" แฟ้มข้อมูลก่อนที่จะเข้าไปในข้อความนั้นได้. (นี่เรียกว่า "การ
437 เยือน (visiting)" แฟ้มข้อมูล.)
438
439 การค้นหาแฟ้มข้อมูลหมายถึงการที่ท่านได้เห็นเนื้อหาของแฟ้มข้อมูลภายในอีแมกส์. ในหลายๆ
440 ทาง, ดูเหมือนว่าท่านกำลังแก้ไขข้อมูลในแฟ้มข้อมูลอยู่. อย่างไรก็ตาม, การแก้ไขภายในอี
441 แมกส์นั้นจะไม่คงอยู่จนกว่าท่านจะ "จัดเก็บ (save)" แฟ้มข้อมูลนั้น. นี่เป็นการช่วยให้ท่าน
442 สามารถหลีกเลี่ยงการทำให้แฟ้มข้อมูลถูกแก้ไขไว้ครึ่งๆ กลางๆ ถ้าท่านไม่ได้ต้องการ. แม้ว่า
443 ท่านจะทำการจัดเก็บไปแล้วก็ตาม, อีแมกส์ก็ยังคงเหลือแฟ้มข้อมูลต้นฉบับไว้โดยเก็บไว้ในชื่อ
444 ใหม่, เผื่อไว้ในกรณีที่ท่านแก้ไขผิดพลาด.
445
446 ถ้าท่านสังเกตดูส่วนล่างของหน้าจอของอีแมกส์, ท่านจะเห็นบรรทัดที่เริ่มต้นและสิ้นสุดด้วย
447 เส้นประ. บรรทัดนั้นอาจจะเริ่มต้นด้วย "--:-- TUTORIAL" หรืออะไรทำนองนั้น. ส่วนนี้
448 ของหน้าจอ, โดยปรกติแล้ว, จะแสดงชื่อแฟ้มข้อมูลที่ท่านกำลังเยือนอยู่. ขณะนี้ท่านกำลัง
449 เยือนแฟ้มข้อมูลที่ชื่อว่า "TUTORIAL.th" ซึ่งเป็นสำเนาของคู่มือการใช้อีแมกส์. เมื่อท่านได้
450 เยือนแฟ้มข้อมูลด้วยอีแมกส์, ชื่อของแฟ้มข้อมูลนั้นจะปรากฏในที่ที่ได้กล่าวไว้แล้ว.
451
452 ลักษณะพิเศษข้อหนึ่งของคำสั่งเยือนแฟ้มข้อมูลคือ ท่านจะต้องบอกชื่อของแฟ้มข้อมูลที่จะ
453 เยือน. เราเรียกลักษณะเช่นนี้ว่า "อ่านอาร์กิวเมนต์จากเครื่องปลายทาง" (ในกรณีนี้, อาร์
454 กิวเมนต์ก็คือชื่อของแฟ้มข้อมูล). หลังจากที่ท่านป้อนคำสั่ง
455
456 C-x C-f Find a file
457
458 อีแมกส์จะถามชื่อแฟ้มข้อมูล. ชื่อแฟ้มข้อมูลที่ท่านป้อนเข้าไปจะปรากฏที่บรรทัดล่างของหน้าจอ.
459 บรรทัดล่างของหน้าจอเรียกว่ามินิบัฟเฟอร์ (minibuffer) เมื่อถูกใช้งานในลักษณะนี้.
460 ท่านสามารถใช้คำสั่งที่ใช้ในการแก้ไขปรกติของอีแมกส์แก้ไขชื่อของแฟ้มข้อมูล.
461
462 ขณะที่ท่านกำลังป้อนชื่อแฟ้มข้อมูล (หรือข้อมูลใดๆ ในมินิบัฟเฟอร์นี้), ท่านสามารถ
463 ยกเลิกคำสั่งด้วยการใช้คำสั่ง C-g.
464
465 >> ป้อนคำสั่ง C-x C-f, แล้วป้อนคำสั่ง C-g. นี่เป็นการยกเลิกมินิบัฟเฟอร์, และ
466 ยกเลิกคำสั่ง C-x C-f ที่กำลังใช้มินิบัฟเฟอร์อยู่. ผลลัพธ์คือท่านจะไม่ได้เยือน
467 แฟ้มข้อมูลใดๆ.
468
469 เมื่อท่านได้ป้อนชื่อแฟ้มข้อมูลเสร็จแล้ว, กดปุ่ม <Return> เพื่อที่จะสิ้นสุดคำสั่ง. แล้วคำสั่ง
470 C-x C-f ก็จะทำงาน, และจะเยือนแฟ้มข้อมูลที่ท่านได้เลือกไว้. มินิบัฟเฟอร์จะ
471 หายไปเมื่อเสร็จสิ้นคำสั่ง C-x C-f.
472
473 หลังจากนั้นไม่นานเนื้อหาของแฟ้มข้อมูลก็จะปรากฏบนหน้าจอ, และท่านก็จะสามารถแก้ไข
474 เนื้อหาได้. เมื่อท่านต้องการจะแก้ไขข้อความอย่างถาวร, ก็ให้ใช้คำสั่ง
475
476 C-x C-s Save the file
477
478 คำสั่งนี้จะทำสำเนาข้อความที่อยู่ในอีแมกส์เข้าไปเก็บไว้ในแฟ้มข้อมูล. ในการกระทำเช่นนี้ใน
479 ครั้งแรกสุด, อีแมกส์จะเปลี่ยนชื่อแฟ้มข้อมูลต้นฉบับเพื่อว่าจะได้คงไว้. ชื่อใหม่นั้นตั้งขึ้นโดย
480 การเติม "~" เข้าไปท้ายชื่อแฟ้มข้อมูลต้นฉบับ.
481
482 เมื่อทำการจัดเก็บเรียบร้อยแล้ว, อีแมกส์จะพิมพ์ชื่อแฟ้มข้อมูลนั้น. ท่านควรจะจัดเก็บข้อมูล
483 บ่อยๆ, เพื่อว่าท่านจะได้ไม่ต้องเสียงานไปมากนักหากระบบเกิดขัดข้อง.
484
485 >> ป้อนคำสั่ง C-x C-s, เพื่อจัดเก็บสำเนาคู่มือการใช้ของท่าน.
486 จะปรากฏ "Write ...TUTORIAL.th" ที่บรรทัดล่างสุดของหน้าจอ.
487
488 ท่านสามารถจะเยือนแฟ้มข้อมูลที่มีอยู่แล้ว, เพื่อที่จะดูหรือแก้ไข. ท่านสามารถจะเยือน
489 แฟ้มข้อมูลที่ยังไม่ปรากฏก็ได้. นี่เป็นการสร้างแฟ้มข้อมูลใหม่ของอีแมกส์: เยือนแฟ้มข้อมูล,
490 ซึ่งจะเริ่มต้นด้วยหน้าจอว่างเปล่า, แล้วทำการแทรกข้อความเพื่อที่จะสร้างเป็นแฟ้มข้อมูลต่อไป.
491 เมื่อท่านสั่งให้ "จัดเก็บ (save)" แฟ้มข้อมูล, อีแมกส์จึงจะสร้างแฟ้มข้อมูลด้วยข้อความที่
492 ท่านได้ป้อนเข้าไป. จากนี้ไป, ท่านสามารถจะตัดสินใจลองแก้ไขแฟ้มข้อมูลที่มีอยู่แล้วได้.
493
494
495 * บัฟเฟอร์ (buffer)
496 -----------------
497
498 ถ้าท่านเยือนอีกแฟ้มข้อมูลโดยใช้คำสั่ง C-x C-f, แฟ้มข้อมูลแรกจะยังคงอยู่ในอีแมกส์. ท่าน
499 สามารถจะสลับกลับไปได้อีกโดยใช้คำสั่ง C-x C-f. วิธีนี้จะทำให้ท่านสามารถเยือนแฟ้มข้อมูล
500 ภายในอีแมกส์ได้จำนวนหนึ่ง.
501
502 >> สร้างแฟ้มข้อมูลและให้ชื่อว่า "foo" โดยการป้อนคำสั่ง C-x C-f foo <Return>.
503 แล้วป้อนข้อความ, แก้ไข, และจัดเก็บ "foo" โดยการป้อนคำสั่ง C-x C-s.
504 สุดท้าย, ป้อนคำสั่ง C-x C-f TUTORIAL <Return> เพื่อจะได้ย้อนกลับมาที่ข้อความ
505 ของคู่มือการใช้.
506
507 อีแมกส์เก็บข้อความของแต่ละแฟ้มข้อมูลภายในสิ่งๆ (object) หนึ่ง, ซึ่งเรียกว่า "บัฟเฟอร์
508 (buffer)". การเยือนแฟ้มข้อมูลเป็นการสร้างบัฟเฟอร์ใหม่ภายในอีแมกส์. ในการที่จะดู
509 รายการของบัฟเฟอร์ที่มีอยู่ในอีแมกส์นั้น, ให้ป้อนคำสั่ง:
510
511 C-x C-b List buffers
512
513 >> ลองป้อนคำสั่ง C-x C-b ดู.
514
515 ดูว่าแต่ละบัฟเฟอร์มีชื่อว่าอะไร, และบางอันก็เป็นชื่อของแฟ้มข้อมูลที่มีเนื้อหานั้นๆ อยู่. บาง
516 บัฟเฟอร์ไม่ได้เกี่ยวข้องกับแฟ้มข้อมูล. ตัวอย่างเช่น, บัฟเฟอร์ที่มีชื่อว่า "*Buffer List*"
517 ไม่มีแฟ้มข้อมูลใดๆ ทั้งสิ้น. นี่เป็นบัฟเฟอร์ซึ่งบรรจุเนื้อหาของรายการของบัฟเฟอร์ที่ถูกสร้าง
518 ด้วยคำสั่ง C-x C-b. ข้อความใดๆ ที่ท่านเห็นบนหน้าจอของอีแมกส์จะปรากฏอยู่เป็นส่วนหนึ่ง
519 ของบัฟเฟอร์ใดบัฟเฟอร์หนึ่งเสมอ.
520
521 >> ลองใช้คำสั่ง C-x 1 เพื่อที่จะกำจัดรายการของบัฟเฟอร์.
522
523 ถ้าท่านแก้ไขข้อความในแฟ้มข้อมูลหนึ่ง, แล้วเยือนอีกแฟ้มข้อมูลหนึ่ง, อีแมกส์ยังไม่ได้จัดเก็บ
524 ข้อความของแฟ้มข้อมูลแรก. ข้อความที่ถูกแก้ไขไปจะยังคงอยู่ในอีแมกส์, ในบัฟเฟอร์สำหรับ
525 แฟ้มข้อมูลนั้น. การสร้างหรือการแก้ไขของบัฟเฟอร์สำหรับแฟ้มข้อมูลที่สองไม่ได้มีผลต่อ
526 บัฟเฟอร์สำหรับแฟ้มข้อมูลที่หนึ่ง. นี่เป็นสิ่งที่มีประโยชน์มาก, แต่ก็หมายความว่าจะต้องมี
527 วิธีการที่ดีในการจัดเก็บบัฟเฟอร์ของแฟ้มข้อมูลแรก. นี่ไม่ได้หมายความว่าจะต้องสลับกลับไป
528 ยังแฟ้มข้อมูลแรกด้วยคำสั่ง C-x C-f ก่อน, เพื่อที่จะได้ใช้คำสั่ง C-x C-s ในการจัดเก็บ.
529 ดังนั้นเราจึงเตรียมคำสั่ง
530
531 C-x s Save some buffers
532
533 คำสั่ง C-x s จะถามท่านเกี่ยวกับบัฟเฟอร์ที่ได้รับการแก้ไขแต่ยังไม่ได้รับการจัดเก็บ. อี
534 แมกส์จะถามท่าน, สำหรับแต่ละบัฟเฟอร์ดังกล่าว, ว่าจะจัดเก็บหรือไม่.
535
536 >> แทรกข้อความสักหนึ่งบรรทัด, แล้วป้อนคำสั่ง C-x s.
537 อีแมกส์จะถามท่านว่าจะจัดเก็บบัฟเฟอร์ชื่อ TUTORIAL ไหม.
538 ตอบว่าใช่โดยการป้อน "y".
539
540
541 * การเพิ่มชุดคำสั่ง
542 --------------
543
544 มีคำสั่งของอีแมกส์อยู่อีกมากมายจนเกินกว่าที่จะสามารถกำกับได้ด้วยอักขระประสมกับอักขระ
545 คอนโทรล (control character) และอภิอักขระ (meta character). อีแมกส์ใช้การ
546 ประสมกับคำสั่งเสริม (eXtend command). การเสริมนี้เป็นไปได้สองลักษณะ:
547
548 C-x การเสริมอักขระ (Character eXtend). ตามด้วยหนึ่งตัวอักษร.
549 M-x การเสริมด้วยชื่อคำสั่ง (Named command eXtend). ตามด้วยชื่อเต็ม.
550
551 คำสั่งเหล่านี้โดยทั่วไปแล้วจะมีประโยชน์, แต่มักจะมีโอกาสใช้น้อยกว่าคำสั่งต่างๆ ที่ท่านได้
552 เรียนรู้ไปแล้ว. ท่านได้พบไปแล้วสองคำสั่ง: คำสั่งสำหรับการจัดการกับแฟ้มข้อมูล C-x C-f
553 สำหรับการเยือน (Find) และ C-x C-s สำหรับการจัดเก็บ (Save). อีกตัวอย่างหนึ่งก็
554 คือคำสั่งที่ใช้ในการเลิกใช้อีแมกส์--คำสั่ง C-x C-c. (ไม่ต้องเป็นห่วงว่าข้อมูลที่ท่านได้
555 แก้ไขไปจะสูญหาย; คำสั่ง C-x C-c จะเสนอให้จัดเก็บแฟ้มข้อมูลที่ถูกแก้ไขไปก่อนที่จะสิ้นสุด
556 อีแมกส์.)
557
558 คำสั่ง C-z เป็นคำสั่งที่ใช้ในการออกจากอีแมกส์เป็นการชั่วคราว *temporarily*--ฉะนั้น
559 ท่านสามารถกลับไปสู่อีแมกส์ได้อีกหลังจากนั้น.
560
561 สำหรับระบบที่อนุญาตให้ใช้คำสั่ง, C-z "suspends" อีแมกส์; นั่นคือการกลับไปยังเชลล์
562 (shell) โดยไม่ได้ทำลายอีแมกส์. ในเชลล์ทั่วไป, ท่านสามารถรีซูม (resume) อีแมกส์
563 ได้ด้วยคำสั่ง "fg" หรือด้วยคำสั่ง "%emacs".
564
565 สำหรับระบบที่ไม่มีฟังก์ชัน "suspend", คำสั่ง C-z จะสร้างซับเชลล์ (subshell)
566 ภายใต้อีแมกส์เพื่อให้ท่านมีโอกาสดำเนินงานโปรแกรมอื่นก่อนแล้วค่อยกลับมายังอีแมกส์อีกครั้ง;
567 ซึ่งไม่ใช่การ "ออกจาก (exit)" อีแมกส์จริง. ในกรณีนี้, คำสั่งเชลล์ "exit" เป็นคำสั่ง
568 ปรกติที่ใช้ในการกลับไปยังอีแมกส์จากซับเชลล์.
569
570 ใช้คำสั่ง C-x C-c ก็ต่อเมื่อท่านต้องการจะเลิกใช้อีแมกส์จริงๆ. วิธีนี้เป็นวิธีที่ถูกต้องใน
571 การที่จะเลิกใช้อีแมกส์, ไม่ว่าอีแมกส์นั้นจะถูกเรียกใช้จากโปรแกรมจัดการเมลล์ (mail
572 handling programs) หรือโปรแกรมอรรถประโยชน์ (utility programs) ต่างๆ,
573 เนื่องจากว่าโปรแกรมเหล่านี้ไม่มีวิธีการจัดการกับอีแมกส์ได้โดยตรง. ในสภาพการทำงาน
574 ปรกติ, ถ้าท่านไม่ได้ต้องการจะเลิกใช้อีแมกส์จริงๆ, ท่านก็ควรจะ suspend โดยการใช้
575 คำสั่ง C-z แทนการเลิกใช้ไปเลย.
576
577 ยังมีคำสั่งที่อยู่ในชุดคำสั่ง C-x อีกมาก. ต่อไปนี้เป็นรายการคำสั่งที่ท่านได้เรียนรู้ไปแล้ว:
578
579 C-x C-f เยือนแฟ้มข้อมูล (Find file).
580 C-x C-s จัดเก็บแฟ้มข้อมูล (Save file).
581 C-x C-b ทำรายการบัฟเฟอร์ (List buffers).
582 C-x C-c เลิกใช้อีแมกส์ (Quit Emacs).
583 C-x 1 ลบหน้าจอทั้งหมดโดยคงอยู่ไว้หนึ่งหน้าจอ
584 (Delete all but one window).
585 C-x u ทำย้อน (Undo).
586
587 คำสั่งที่มีชื่อคำสั่งเสริมนี้เป็นคำสั่งที่ใช้ไม่ค่อยบ่อยนัก, หรือเป็นคำสั่งที่ใช้เฉพาะในบางโหมด
588 เท่านั้น. ตัวอย่างหนึ่งของคำสั่งนี้คือคำสั่งเปลี่ยนแทน-สายอักขระ (replace-string),
589 ซึ่งเป็นการเปลี่ยนแทนสายอักขระหนึ่งด้วยอีกสายอักขระหนึ่งทั้งหมด. เมื่อท่านป้อนคำสั่ง M-x,
590 อีแมกส์แสดง M-x ที่บรรทัดล่างสุดของหน้าจอ, ในที่นี้ท่านจะต้องพิมพ์ชื่อของคำสั่ง; ในกรณีนี้
591 คือ "replace-string". ท่านอาจจะพิมพ์ "repl s<TAB>" แล้วอีแมกส์จะเติมชื่อคำสั่งให้
592 เต็มเองได้. สิ้นสุดคำสั่งด้วยการกดปุ่ม <Return>.
593
594 คำสั่งเปลี่ยนแทน-สายอักขระ (replace-string) ต้องการสองอาร์กิวเมนต์--สายอักขระ
595 ที่จะถูกเปลี่ยนแทน, และสายอักขระที่จะใช้เปลี่ยนแทน. ท่านจะต้องสิ้นสุดการป้อนแต่ละอาร์
596 กิวเมนต์ด้วยการกดปุ่ม <Return>.
597
598 >> เคลื่อนเคอร์เซอร์ไปยังบรรทัดเปล่าที่อยู่ใต้บรรทัดนี้ไปสองบรรทัด.
599 แล้วป้อนคำสั่ง M-x repl s<Return>changed<Return>altered<Return>.
600
601 สังเกตดูการเปลี่ยนแปลงของบรรทัดนี้: ท่านได้เปลี่ยนแทนคำว่า c-h-a-n-g-e-d
602 ด้วยคำว่า "altered" ในทุกที่ที่ปรากฏตั้งแต่ตำแหน่งที่เคอร์เซอร์อยู่ปัจจุบัน.
603
604
605 * จัดเก็บอัตโนมัติ (auto save)
606 -------------------------
607
608 เมื่อท่านได้แก้ไขแฟ้มข้อมูลแล้ว, แต่ท่านยังไม่ได้จัดเก็บ, แฟ้มข้อมูลเหล่านั้นอาจสูญหายได้ถ้า
609 เครื่องคอมพิวเตอร์ของท่านเกิดขัดข้อง. เพื่อป้องกันเหตุการณ์เช่นนี้, อีแมกส์ทำการเขียน
610 ข้อความสำหรับแต่ละแฟ้มข้อมูลที่ท่านกำลังทำการแก้ไขอยู่ลงในแฟ้มข้อมูล "จัดเก็บอัตโนมัติ
611 (auto save)". ชื่อของแฟ้มข้อมูลจัดเก็บอัตโนมัติ (auto save file) จะถูกตั้งใหม่ให้
612 มีอักขระ "#" อยู่ทั้งข้างหน้าและข้างหลังชื่อแฟ้มข้อมูลต้นฉบับ; ตัวอย่างเช่น, ถ้าชื่อของ
613 แฟ้มข้อมูลนั้นเป็น "hello.c", ชื่อของแฟ้มข้อมูลจัดเก็บอัตโนมัติจะเป็น "#hello.c#".
614 เมื่อท่านทำการจัดเก็บแฟ้มข้อมูลด้วยวิธีการปรกติแล้ว, อีแมกส์จะลบแฟ้มข้อมูลจัดเก็บอัตโนมัติ
615 นั้นเสีย.
616
617 ถ้าเครื่องคอมพิวเตอร์เกิดขัดข้อง, ท่านสามารถกู้ (recover) จากแฟ้มข้อมูลจัดเก็บ
618 อัตโนมัตินั้นได้ด้วยการเยือนแฟ้มข้อมูลแบบปรกติ (แฟ้มข้อมูลที่ท่านกำลังแก้ไขอยู่, ไม่ใช่
619 แฟ้มข้อมูลจัดเก็บอัตโนมัติ), แล้วพิมพ์คำสั่ง M-x recover file<Return>. เมื่อมีการ
620 ถามเพื่อการยืนยัน, พิมพ์คำว่า yes<Return> เพื่อดำเนินการต่อและทำการกู้ข้อมูลที่ถูก
621 จัดเก็บอัตโนมัตินั้น.
622
623
624 * บริเวณสะท้อน (echo area)
625 ------------------------
626
627 อีแมกส์อ่านคำสั่งประสม (multicharacter command) ขณะที่ท่านกำลังพิมพ์เข้าไปช้าๆ,
628 อีแมกส์จะแสดงคำสั่งต่างๆ ที่ท่านได้พิมพ์เข้าไปตรงส่วนล่างของหน้าจอตรงบริเวณที่เรียกว่า
629 "บริเวณสะท้อน (echo area)". บริเวณสะท้อนคือบรรทัดล่างสุดของหน้าจอ.
630
631
632 * บรรทัดแสดงโหมด (mode line)
633 ---------------------------
634
635 บรรทัดที่อยู่เหนือบริเวณสะท้อนนั้นเรียกว่า "mode line". บรรทัดแสดงโหมดจะแสดง
636 ข้อความบางอย่างในลักษณะ:
637
638 --:** TUTORIAL (Fundamental)--L670--58%----------------
639
640 บรรทัดนี้ให้ข้อมูลที่เป็นประโยชน์เกี่ยวกับสถานภาพของอีแมกส์และข้อความที่ท่านกำลังทำการ
641 แก้ไขอยู่.
642
643 ท่านทราบแล้วว่าชื่อแฟ้มข้อมูลมีความหมายอย่างไร--คือแฟ้มข้อมูลที่ท่านได้เยือนอยู่. -NN%--
644 บ่งบอกตำแหน่งปัจจุบันในข้อความของท่าน; นั่นหมายความว่ามีข้อความ NN เปอร์เซนต์ที่อยู่
645 เหนือตำแหน่งสูงสุดของหน้าจอ. ถ้าตำแหน่งสูงสุดของแฟ้มข้อมูลอยู่บนหน้าจอ, จะปรากฏ
646 --Top-- แทนที่จะเป็น --00%--. ถ้าตำแหน่งล่างสุดของข้อความอยู่บนหน้าจอ, จะปรากฏ
647 --Bot--. ถ้าท่านกำลังเยือนแฟ้มข้อมูลที่เล็กมากจนข้อความทั้งหมดอยู่บนหน้าจอ, บรรทัด
648 แสดงโหมดจะแสดงว่า --All--.
649
650 เครื่องหมายดอกจันบริเวณต้นๆ ของบรรทัดแสดงโหมดหมายความว่าท่านได้ทำการ
651 เปลี่ยนแปลงเนื้อหาในข้อความแล้ว. หากท่านเพิ่งเยือนหรือจัดเก็บแฟ้มข้อมูล, ส่วนที่
652 ได้กล่าวถึงนั้นจะไม่มีเครื่องหมายดอกจันปรากฏ, จะมีแต่เส้นประ (dashes).
653
654 ส่วนที่อยู่ระหว่างวงเล็บภายในบรรทัดแสดงโหมดจะบอกท่านว่าท่านกำลังอยู่ในโหมดการแก้ไข
655 (editing mode) อะไร. โหมดโดยปริยาย (default mode) คือ Fundamental ที่
656 ท่านกำลังใช้อยู่ในขณะนี้. นี่คือตัวอย่างของ "โหมดหลัก (major mode)".
657
658 อีแมกส์มีโหมดหลักอยู่หลายโหมด. บ้างใช้สำหรับการแก้ไขในภาษาและ/หรือข้อความชนิดต่างๆ,
659 เช่น Lisp mode, Text mode, เป็นต้น. ท่านจะอยู่ในโหมดหลักใดโหมดหลักหนึ่งในเวลา
660 เดียว, และชื่อของโหมดหลักนั้นจะปรากฏอยู่ที่บรรทัดแสดงโหมด, ที่ที่มี "Fundamental"
661 ปรากฏอยู่ในขณะนี้.
662
663 แต่ละโหมดหลักจะทำให้คำสั่งให้ผลในลักษณะที่แตกต่างกัน. ตัวอย่างเช่น, มีหลายคำสั่งที่ใช้
664 ในการกำกับหมายเหตุ (comment) ในโปรแกรม, และเนื่องจากแต่ละโปรแกรมมีความคิด
665 ในการแสดงผลของหมายเหตุที่แตกต่างกัน, แต่ละโหมดหลักจะแทรกหมายเหตุในลักษณะที่
666 แตกต่างกัน. แต่ละโหมดหลักจะเป็นชื่อของคำสั่งเสริม, ที่ท่านสามารถบอกให้สลับไปยังโหมดที่
667 ต้องการได้. ตัวอย่างเช่น, M-x fundamental-mode เป็นคำสั่งในการสลับไปยัง
668 Fundamental mode.
669
670 ถ้าท่านกำลังจะแก้ไขข้อความที่เป็นภาษาไทย, เช่นในแฟ้มข้อมูลนี้, ท่านควรจะใช้
671 Thai-text mode.
672 >> M-x thai-text-mode<Return>
673
674 ไม่ต้องกังวล, คำสั่งที่ท่านกำลังศึกษาอยู่นี้ไม่ได้ให้ผลกระทบมากนัก. แต่ท่านสามารถสังเกตได้
675 ว่าคำสั่ง M-f และ M-b ถือว่าอักขระ apostrophe เป็นส่วนหนึ่งของคำ. ก่อนหน้านี้, ใน
676 Fundamental mode, คำสั่ง M-f และ M-b ถือว่าอักขระ apostrophe เป็นตัวแบ่งคำ
677 (word-separator).
678
679 โหมดหลักเหล่านี้จะให้ผลที่ต่างออกไปเล็กน้อยดังที่กล่าวแล้วข้างต้น: คำสั่งส่วนใหญ่ "ทำหน้าที่
680 เหมือนกัน" แม้จะอยู่ในโหมดหลักที่ต่างกัน, แต่ให้ผลที่ต่างออกไปบ้างเล็กน้อย.
681
682 ใช้คำสั่ง C-h m เพื่ออ่านรายละเอียดของโหมดหลักปัจจุบันที่ท่านอยู่.
683
684 >> ใช้คำสั่ง C-u C-v หนึ่งครั้งหรือมากกว่านั้นเพื่อที่จะขยับบรรทัดนี้ขึ้นไปยังส่วนบนของหน้าจอ.
685 >> ป้อนคำสั่ง C-h m, เพื่อดูว่า Text mode ต่างจาก Fundamental mode อย่างไร.
686 >> ป้อนคำสั่ง C-x 1 เพื่อขจัดเอกสารชี้แจงออกจากหน้าจอ.
687
688 ที่เรียกว่าโหมดหลักนั้นก็เพราะว่ามีโหมดย่อย (minor mode) อีก. โหมดย่อยไม่ได้เป็น
689 ตัวเลือกในโหมดหลัก, เนื่องจากว่ามีการเปลี่ยนไปเพียงเล็กน้อยเท่านั้น. แต่ละโหมดย่อยสามารถ
690 จะเปิดหรือปิดได้ภายในตัวเอง, คือแต่ละโหมดย่อยจะทำงานโดยอิสระจากกัน, และ
691 เป็นอิสระจากโหมดหลักด้วย. ฉะนั้นท่านสามารถไม่ใช้โหมดย่อยเลย, หรือหนึ่งโหมดย่อย, หรือ
692 โหมดย่อยหลายๆ โหมดผสมกันก็ได้.
693
694 โหมดย่อยที่มีประโยชน์มาก, โดยเฉพาะสำหรับใช้แก้ไขข้อความที่เป็นภาษาอังกฤษ, คือ
695 โหมดจัดบรรทัดอัตโนมัติ (Auto Fill). เมื่อโหมดนี้ทำงาน, อีแมกส์จะแบ่งบรรทัดระหว่าง
696 คำอัตโนมัติ, ทันทีที่ท่านแทรกข้อความและทำให้บรรทัดนั้นยาวเกินไป.
697
698 ท่านสามารถเปิดโหมดจัดบรรทัดอัตโนมัติได้โดยการใช้คำสั่ง M-x auto fill
699 mode<Return>. เมื่อโหมดนี้ทำงานอยู่, ท่านสามารถปิดโหมดนี้ได้โดยการใช้คำสั่ง M-x
700 auto fill mode<Return>. ถ้าโหมดนี้ปิดอยู่, คำสั่งนี้จะเปิดโหมดให้ทำงาน, และถ้า
701 โหมดนี้เปิดอยู่, คำสั่งนี้ก็จะปิดโหมด. คือพูดได้ว่าคำสั่งนี้ "toggles the mode".
702
703 >> ป้อนคำสั่ง M-x auto fill mode<Return> ดู. แล้วป้อน "asdf " ซ้ำๆ กันไปจน
704 ท่านเห็นว่าบรรทัดนั้นถูกแบ่งออกเป็นสองบรรทัด. ท่านต้องใส่เว้นวรรคเพราะว่าการจัด
705 บรรทัดอัตโนมัติจะแบ่งบรรทัดตรงเว้นวรรคเท่านั้น.
706
707 ขอบเผื่อ (margin) โดยมากจะตั้งให้ที่ 70 ตัวอักษร, แต่ท่านก็สามารถเปลี่ยนด้วยคำสั่ง
708 C-x f. ท่านควรตั้งขอบเผื่อด้วยตัวเลขอาร์กิวเมนต์ตามที่ท่านต้องการ.
709
710 >> ป้อนคำสั่ง C-x f พร้อมด้วยอาร์กิวเมนต์ 20. (C-u 2 0 C-x f).
711 แล้วป้อนข้อความและจะเห็นว่าอีแมกส์จัดบรรทัดที่มีขนาด 20 ตัวอักษร. แล้วตั้งขอบ
712 เผื่อเป็น 70 โดยใช้คำสั่ง C-x f อีกครั้ง.
713
714 ถ้าท่านทำการเปลี่ยนแปลงตรงกลางย่อหน้า, โหมดจัดบรรทัดอัตโนมัติจะไม่จัดบรรทัดใหม่
715 (re-fill) ให้ท่าน. ถ้าจะจัดบรรทัดใหม่ให้กับย่อหน้านั้น, ให้ป้อนคำสั่ง M-q (META-q)
716 โดยวางตำแหน่งเคอร์เซอร์ไว้ภายในย่อหน้านั้น.
717
718 >> เคลื่อนเคอร์เซอร์เข้าไปยังย่อหน้าข้างบน, แล้วป้อนคำสั่ง M-q.
719
720
721 * การสืบค้น (searching)
722 ---------------------
723
724 อีแมกส์สามารถสืบค้นสายอักขระ (กลุ่มของตัวอักษรหรือคำที่อยู่ต่อเนื่องกัน) ไม่ว่าจะไป
725 ข้างหน้าหรือย้อนกลับ, ทั่วทั้งข้อความ. การสืบค้นสายอักขระคือคำสั่งในการเคลื่อนตำแหน่ง
726 ของเคอร์เซอร์; เคอร์เซอร์จะเคลื่อนไปอยู่ที่ตำแหน่งถัดไปที่มีสายอักขระนั้นอยู่.
727
728 คำสั่งสืบค้นในอีแมกส์ต่างจากคำสั่งสืบค้นในโปรแกรมบรรณาธิกรณ์ (editor) ส่วนใหญ่, ใน
729 ลักษณะที่เป็น "incremental". นี่หมายความว่าการสืบค้นเริ่มตั้งแต่ที่ท่านได้ป้อนอักขระที่
730 ต้องการสืบค้น.
731
732 คำสั่งที่ใช้เพื่อให้ทำการสืบค้นไปข้างหน้าคือ C-s, และทำการสืบค้นย้อนไปข้างหลังคือ
733 C-r. แต่คอยก่อน! อย่าเพิ่งลอง.
734
735 เมื่อท่านป้อนคำสั่ง C-s ท่านจะสังเกตเห็นว่ามีคำว่า "I-search" ปรากฏที่บริเวณสะท้อน
736 (echo area). นี่แสดงว่าอีแมกส์ได้อยู่ในการค้นแบบ incremental และกำลังรอ
737 สิ่งที่ท่านจะพิมพ์เพื่อสืบค้น. กดปุ่ม <Return> เพื่อสิ้นสุดคำสั่งสืบค้น.
738
739 >> ป้อนคำสั่ง C-s เพื่อเริ่มการสืบค้น. พิมพ์อักษรทีละตัวช้าๆ, พิมพ์คำว่า 'cursor',
740 หยุดหลังจากที่ท่านพิมพ์ทีละตัวอักษร, แล้วดูว่ามีอะไรเกิดขึ้นกับเคอร์เซอร์.
741 ขณะนี้ท่านได้สืบค้นคำว่า "cursor" ไปหนึ่งหนแล้ว.
742 >> ป้อนคำสั่ง C-s อีกครั้ง, เพื่อสืบค้นตำแหน่งถัดไปของคำว่า "cursor".
743 >> กดปุ่ม <Delete> สักสี่ครั้ง, แล้วดูว่าเคอร์เซอร์เคลื่อนที่อย่างไร.
744 >> กดปุ่ม <Return> เพื่อสิ้นสุดคำสั่งสืบค้น.
745
746 ท่านเห็นหรือไม่ว่ามีอะไรเกิดขึ้น? ในการสืบค้นแบบ incremental, อีแมกส์พยายาม
747 เคลื่อนไปตามสายอักขระที่ท่านได้พิมพ์ลงไปในแต่ละครั้ง. ถ้าจะเคลื่อนไปยังตำแหน่ง
748 ถัดไปของคำ, ก็ทำได้โดยการป้อนคำสั่ง C-s อีกครั้ง. ถ้าไม่มีคำนั้นอีกแล้ว, อีแมกส์จะร้อง
749 บอก (beep) ท่านว่าการสืบค้นครั้งนั้น "พลาด (failing)", คำสั่ง C-g ก็สามารถใช้ใน
750 การสิ้นสุดการสืบค้นได้.
751
752 ข้อสังเกต: ในบางระบบ, การป้อนคำสั่ง C-s จะทำให้ระบบของท่านชะงักและท่านจะไม่เห็น
753 ข้อความอะไรบนอีแมกส์. ลักษณะนี้แสดงว่า "feature" ของระบบปฏิบัติการ, ที่เรียกว่า
754 "flow control" นั้น, ได้ขัดขวางการทำงานของคำสั่ง C-s และไม่ยอมให้กลับสู่อีแมกส์
755 อีก. การที่จะแก้ไขการหยุดชะงักนั้น, ให้ป้อนคำสั่ง C-q. ศึกษาวิธีการจัดการกับ "feature"
756 นี้ได้ที่บทที่ว่าด้วย "Spontaneous Entry to Incremental Search" ในคู่มือของอีแมกส์.
757
758 ถ้าท่านอยู่ระหว่างการสืบค้นแบบ incremental อยู่, แล้วท่านกดปุ่ม <Delete>, ท่านจะ
759 สังเกตเห็นว่าตัวอักษรสุดท้ายที่ท่านป้อนเข้าไปนั้นถูกลบออก, และจะย้อนกลับไปยังตำแหน่ง
760 ก่อนหน้าของการสืบค้น. ตัวอย่างเช่น, สมมุติว่าท่านได้ป้อนตัวอักษร "c", เพื่อที่จะสืบค้น
761 ตำแหน่งที่ปรากฏตัวอักษร "c" นั้น. ตอนนี้ถ้าท่านพิมพ์ตัวอักษร "u", เคอร์เซอร์ก็จะ
762 เคลื่อนไปอยู่ที่ตำแหน่งที่ปรากฏสายอักขระ "cu" แรกสุด. ตอนนี้ให้กดปุ่ม <Delete>.
763 ตัวอักษร "u" จะถูกลบออกจากสายอักขระที่ทำการสืบค้นอยู่, และเคอร์เซอร์ก็จะเคลื่อน
764 กลับไปยังตำแหน่งที่ปรากฏตัวอักษร "c" แรกสุด.
765
766 ถ้าท่านอยู่ระหว่างการสืบค้น, แล้วป้อนคำสั่งประสมของ CONTROL หรือ META (นอกจาก
767 ข้อยกเว้นบางประการ--คำสั่งพิเศษที่ใช้สำหรับการสืบค้น, ได้แก่ C-s และ C-r), การสืบ
768 ค้นจะสิ้นสุดลง.
769
770 คำสั่ง C-s เริ่มการสืบค้นด้วยการมองหาสายอักขระตั้งแต่ตำแหน่งปัจจุบันของเคอร์เซอร์.
771 ถ้าท่านต้องการสืบค้นสายอักขระที่อยู่ก่อนหน้าในข้อความนั้น, ให้ป้อนคำสั่ง C-r แทน.
772 คำสั่ง C-s จะทำงานเหมือนกับคำสั่ง C-r ทุกอย่าง, ยกเว้นทิศทางของการสืบค้น
773 เท่านั้น, ที่ตรงข้ามกัน.
774
775
776 * วินโดว์แบบหลายวินโดว์ (multiple windows)
777 --------------------------------------
778
779 ลักษณะที่น่าสนใจอันหนึ่งของอีแมกส์ก็คือ, ท่านสามารถแสดงผลได้มากกว่าหนึ่งวินโดว์บนหนึ่ง
780 หน้าจอในเวลาเดียวกัน.
781
782 >> เคลื่อนเคอร์เซอร์มาที่บรรทัดนี้, แล้วป้อนคำสั่ง C-u 0 C-l.
783
784 >> ต่อไป, ป้อนคำสั่ง C-x 2 ซึ่งจะแบ่งหน้าจอออกเป็นสองวินโดว์.
785 ทั้งสองวินโดว์แสดงคู่มือการใช้นี้. เคอร์เซอร์ปรากฏอยู่ในวินโดว์บน.
786
787 >> ป้อนคำสั่ง C-M-v เพื่อเคลื่อนม้วนวินโดว์ข้างล่าง.
788 (ถ้าท่านไม่มีปุ่ม META, ป้อนคำสั่ง ESC C-v แทน.)
789
790 >> ป้อนคำสั่ง C-x o ("o" หมายถึง "other") เพื่อเคลื่อนเคอร์เซอร์มายังวินโดว์ล่าง.
791 >> ใช้คำสั่ง C-v และ M-v ในวินโดว์ล่างเพื่อที่จะเคลื่อนม้วน.
792 อ่านคำแนะนำนี้ด้วยวินโดว์บน.
793
794 >> ป้อนคำสั่ง C-x o อีกครั้งเพื่อที่จะเคลื่อนเคอร์เซอร์กลับไปวินโดว์บน.
795 เคอร์เซอร์ในวินโดว์บนจะปรากฏตรงที่ที่เคยปรากฏ.
796
797 ท่านสามารถใช้คำสั่ง C-x o เพื่อสลับไปมาระหว่างวินโดว์. แต่ละวินโดว์มีตำแหน่งของ
798 เคอร์เซอร์ของตัวเอง, แต่จะมีเพียงวินโดว์เดียวเท่านั้นที่แสดงตัวเคอร์เซอร์. ทุกคำสั่งก็จะ
799 มีผลต่อวินโดว์ที่มีเคอร์เซอร์ปรากฏอยู่เท่านั้น. เราเรียกวินโดว์นี้ว่า "วินโดว์ที่ถูกเลือก
800 (selected window)".
801
802 คำสั่ง C-M-v มีประโยชน์มากเมื่อท่านกำลังแก้ไขข้อความบนวินโดว์หนึ่ง, และดูอีกวินโดว์หนึ่ง
803 เพื่อการอ้างอิง. ท่านสามารถให้เคอร์เซอร์ปรากฏบนวินโดว์ที่ท่านกำลังแก้ไขอยู่ตลอดเวลา,
804 แล้วเคลื่อนตำแหน่งของอีกวินโดว์หนึ่งด้วยคำสั่ง C-M-v.
805
806 คำสั่ง C-M-v เป็นตัวอย่างหนึ่งของคำสั่งประสม CONTROL-META. ถ้าท่านมีปุ่ม META,
807 ท่านสามารถป้อนคำสั่ง C-M-v โดยการกดปุ่ม CONTROL และ META ขณะที่กดปุ่มอักขระ
808 v. ไม่ว่าจะกดปุ่ม CONTROL หรือ META ก่อนก็ไม่มีปัญหาอะไร, เพราะว่าทั้งสองปุ่มเป็นปุ่ม
809 ขยายของปุ่มอักขระที่ท่านจะกด.
810
811 ถ้าท่านไม่มีปุ่ม META, และท่านใช้ปุ่ม ESC แทน, ลำดับของการกดปุ่มจะมีผลต่อการทำงาน:
812 ท่านต้องกดปุ่ม ESC แล้วตามด้วยคำสั่ง CONTROL-v, เพราะว่าคำสั่ง CONTROL-ESC v จะไม่
813 ทำงาน. ทั้งนี้เพราะว่าปุ่ม ESC เป็นอักขระตัวหนึ่ง, ไม่ใช่ปุ่มขยาย.
814
815 >> ป้อนคำสั่ง C-x 1 (ในวินโดว์บน) เพื่อกำจัดวินโดว์ล่าง.
816
817 (ถ้าท่านป้อนคำสั่ง C-x 1 ในวินโดว์ล่าง, วินโดว์บนก็จะหายไป. ท่านสามารถจำ
818 คำสั่งนี้ได้โดยคิดว่า "เหลือไว้เพียงหนึ่งวินโดว์--วินโดว์ที่อยู่ในขณะนี้.")
819
820 ท่านไม่จำเป็นต้องแสดงผลของบัฟเฟอร์เดียวกันบนทั้งสองวินโดว์. ถ้าท่านใช้คำสั่ง C-x C-f
821 เพื่อค้นหาแฟ้มข้อมูลในวินโดว์หนึ่ง, อีกวินโดว์หนึ่งจะไม่เปลี่ยนแปลง. ท่านสามารถค้นหา
822 แฟ้มข้อมูลในแต่ละวินโดว์ได้อิสระต่อกัน.
823
824 ต่อไปเป็นอีกวิธีหนึ่งของการใช้สองวินโดว์สำหรับแสดงผลของสองสิ่งที่ต่างกัน:
825
826 >> ป้อนคำสั่ง C-x 4 C-f แล้วตามด้วยชื่อแฟ้มข้อมูล. สิ้นสุดคำสั่งด้วยการกดปุ่ม
827 <Return>. จะเห็นว่ามีแฟ้มข้อมูลที่ต้องการปรากฏอยู่ในวินโดว์ล่าง. เคอร์เซอร์ก็จะไป
828 ปรากฏที่วินโดว์นั้นด้วย.
829
830 >> ป้อนคำสั่ง C-x o เพื่อกลับไปยังวินโดว์บน, แล้วป้อนคำสั่ง C-x 1 เพื่อกำจัดวินโดว์ล่าง.
831
832
833 * ระดับของการแก้ไขแบบเรียกซ้ำ (recursive editing levels)
834 -------------------------------------------------------
835
836 บางครั้งท่านอาจจะเข้าไปอยู่ใน "ระดับของการแก้ไขแบบการเรียกซ้ำ (recursive editing
837 level)". สภาพดังกล่าวเช่นนี้แสดงด้วยวงเล็บก้ามปูในบรรทัดแสดงโหมด, ล้อมรอบวงเล็บที่
838 แสดงชื่อของโหมดหลัก. ตัวอย่างเช่น, ท่านอาจจะเห็น [(Fundamental)] แทนที่จะเป็น
839 (Fundamental).
840
841 ในการที่จะออกจากระดับของการแก้ไขแบบเรียกซ้ำ, กดปุ่ม ESC ESC ESC. นี่เป็น
842 คำสั่งที่ใช้ได้ทั่วไปในการออกจากระดับใดๆ ของการประมวลผล. ท่านสามารถใช้คำสั่งนี้ใน
843 การกำจัดวินโดว์พิเศษอื่นๆ, รวมทั้งการออกจากมินิบัฟเฟอร์ (minibuffer).
844
845 >> ป้อนคำสั่ง M-x เพื่อเข้าไปในมินิบัฟเฟอร์; กดปุ่ม ESC ESC ESC เพื่อออกจาก
846 มินิบัฟเฟอร์นั้น.
847
848 ท่านไม่สามารถใช้คำสั่ง C-g เพื่อออกจากระดับของการแก้ไขแบบเรียกซ้ำ.
849 เพราะว่าคำสั่ง C-g ใช้เพื่อยกเลิกคำสั่งและอาร์กิวเมนต์ภายในระดับของการแก้ไขแบบ
850 เรียกซ้ำ.
851
852
853 * การเรียกดูข้อความช่วยเหลือเพิ่มเติม (getting more help)
854 -------------------------------------------------
855
856 ในคู่มือนี้เราพยายามที่จะให้ข้อมูลที่เพียงพอสำหรับการเริ่มใช้อีแมกส์. ยังคงมีข้อมูลอีกมากใน
857 อีแมกส์ซึ่งเราไม่สามารถที่จะนำมาอธิบายไว้ในที่นี้ได้ทั้งหมด. อย่างไรก็ตาม, ท่านอาจต้องการ
858 เรียนรู้เกี่ยวกับอีแมกส์เพิ่มเติมเพราะอีแมกส์ยังมีคุณสมบัติอีกมากมาย. อีแมกส์ได้เตรียมคำสั่ง
859 สำหรับเรียกดูเนื้อหาเกี่ยวกับคำสั่งของอีแมกส์. คำสั่ง "ช่วยเหลือ (help)" ทั้งหมดเริ่มด้วย
860 อักขระ CONTROL-h, ซึ่งเรียกว่า "อักขระช่วยเหลือ (the Help character)".
861
862 ในการที่จะใช้คุณสมบัติช่วยเหลือ, ป้อนอักขระ C-h, แล้วตามด้วยอีกหนึ่งอักขระเพื่อบอกว่า
863 ท่านต้องการคำช่วยเหลืออะไร. ถ้าท่านไม่ทราบว่าจะทำอะไรต่อไป, ป้อนคำสั่ง C-h ? แล้ว
864 อีแมกส์จะบอกท่านว่ามีคำช่วยอะไรที่อีแมกส์สามารถจะให้ได้. ถ้าท่านป้อนคำสั่ง C-h แล้ว
865 ต้องการยกเลิกท่าน, ก็สามารถยกเลิกได้โดยใช้คำสั่ง C-g.
866
867 (ในบางระบบนั้น, ความหมายของอักขระ C-h ได้ถูกเปลี่ยนไป. ซึ่งโดยความเป็นจริงแล้วไม่
868 ควรจะทำเช่นนี้, ทั้งนี้ท่านอาจจะชี้แจงต่อผู้ดูแลระบบได้. สำหรับการแก้ปัญหาเฉพาะหน้า, ถ้า
869 คำสั่ง C-h ไม่ได้แสดงข้อความเกี่ยวกับคำช่วยเหลือที่ส่วนล่างของหน้าจอนั้น, ให้ลองกดปุ่ม F1
870 หรือ M-x help<Return> แทน.)
871
872 คุณสมบัติเบื้องต้นของคำสั่งช่วยเหลือคือคำสั่ง C-h c. ลองป้อนคำสั่ง C-h, อักขระ c, แล้ว
873 ตามด้วยอักขระหรือสายอักขระ; แล้วอีแมกส์จะแสดงคำอธิบายของคำสั่งนั้นโดยสังเขป.
874
875 >> ป้อนคำสั่ง C-h c CONTROL-p.
876 ข้อความที่ปรากฏจะเป็นดังต่อไปนี้
877
878 C-p runs the command previous-line
879
880 นี่เป็นการบอก "ชื่อฟังก์ชันของคำสั่ง" นั้น. ชื่อของฟังก์ชันใช้เพื่อการปรับและแต่งเติมอีแมกส์.
881 แต่เนื่องจากชื่อของฟังก์ชันนั้นตั้งเพื่อชี้บอกว่าคำสั่งนั้นทำงานอย่างไร, ซึ่งอาจเป็นตัวช่วยบอก
882 คำอธิบายโดยสังเขปได้--อาจเพียงพอที่จะเตือนให้ท่านนึกถึงคำสั่งที่ต้องการได้.
883
884 คำสั่งที่ประกอบด้วยหลายอักขระ เช่นคำสั่ง C-x C-s และ (ถ้าท่านไม่มีปุ่ม META หรือ
885 EDIT หรือ ALT) คำสั่ง <ESC>v สามารถใช้ตามหลังคำสั่ง C-h c.
886
887 การที่จะเรียกดูข้อมูลเพิ่มเกี่ยวกับคำสั่ง, ให้ใช้คำสั่ง C-h k แทนคำสั่ง C-h c.
888
889 >> ป้อนคำสั่ง C-h k CONTROL-p.
890
891 นี่เป็นการแสดงผลคำอธิบายของฟังก์ชัน, พร้อมกับชื่อของคำสั่งนั้น, ในวินโดว์หนึ่งของอีแมกส์.
892 เมื่อท่านอ่านเสร็จแล้ว, ป้อนคำสั่ง C-x 1 เพื่อกำจัดข้อความของคำช่วยเหลือ. ท่านไม่
893 จำเป็นที่จะต้องทำทันที. ท่านอาจทำการแก้ไขขณะที่ดูข้อความคำช่วยเหลือนั้นอยู่, แล้ว
894 ค่อยป้อนคำสั่ง C-x 1.
895
896 ต่อไปนี้เป็นตัวเลือกที่เป็นประโยชน์:
897
898 C-h f อธิบายฟังก์ชัน. พิมพ์ชื่อฟังก์ชันที่ต้องการทราบตามลงไป.
899
900 >> ลองป้อนคำสั่ง C-h f previous-line<Return>.
901 นี่เป็นการที่จะทำให้อีแมกส์พิมพ์ข้อมูลทั้งหมดที่มีเกี่ยวกับฟังก์ชันของคำสั่ง C-p.
902
903 C-h a คำสั่งความที่เหมาะสม (Command Apropos). ป้อนคำหลัก (keyword)
904 แล้วอีแมกส์จะแสดงรายการของคำสั่งทั้งหมดที่มีคำหลักประกอบอยู่.
905 คำสั่งเหล่านี้จะเรียกใช้ได้ด้วยคำสั่ง META-x.
906 สำหรับบางคำสั่ง, คำสั่งความที่เหมาะสม (Command Apropos) จะ
907 แสดงรายการของคำสั่งที่ประกอบด้วยหนึ่งหรือสองสายอักขระที่ใช้เรียก
908 คำสั่งเดียวกันด้วย.
909
910 >> ป้อนคำสั่ง C-h a file<Return>.
911
912 นี่เป็นการแสดงรายการของคำสั่งประกอบของ M-x กับ "file" ในชื่อของคำสั่ง
913 ทั้งหมดในอีกหน้าจอ. ท่านจะเห็นคำสั่งประกอบอักขระ (character-command) เช่น C-x
914 C-f แสดงอยู่กับชื่อของคำสั่งนั้นๆ เช่น find-file.
915
916 >> ป้อนคำสั่ง C-M-v เพื่อเคลื่อนม้วนวินโดว์คำช่วยเหลือ (help window). ลองทำดูสัก
917 สองสามครั้ง.
918
919 >> ป้อนคำสั่ง C-x 1 เพื่อกำจัดวินโดว์คำช่วยเหลือ.
920
921
922 * สรุป
923 -----
924
925 สิ่งควรจำไว้คือ, คำสั่ง C-x C-c ใช้สำหรับออกจากอีแมกส์อย่างถาวร. ถ้าต้องการออกไปยัง
926 เชลล์ชั่วคราว, และสามารถกลับมายังอีแมกส์ได้อีกนั้น, ให้ใช้คำสั่ง C-z.
927
928 คู่มือการใช้นี้มีเจตนาให้ผู้ที่เพิ่งเริ่มใช้ทั้งหลายสามารถเข้าใจได้, ดังนั้นถ้าท่านพบบางสิ่งที่ไม่
929 ชัดเจน, ไม่ต้องนั่งตำหนิตัวเอง - สอบถามมาได้เลย!
930
931
932 * การทำสำเนา (copying)
933 ----------------------
934
935 คู่มือนี้ได้รับการพัฒนามาเป็นระยะเวลานาน, เริ่มตั้งแต่ต้นฉบับที่เขียนโดย Stuart Cracraft.
936
937 คู่มือเวอร์ชันนี้, เช่นเดียวกับ GNU Emacs, ได้รับการสงวนสิทธิ์, และผนวกไว้ในเงื่อนไขใน
938 การเผยแพร่ด้วย:
939
940 สงวนลิขสิทธิ์ พ.ศ. 2528, 2529 โดยฟรีซอฟต์แวร์ฟาวน์เดชัน (Free Software Foundation)
941
942 ทุกท่านมีสิทธิ์ในการทำสำเนาหรือเผยแพร่เอกสารนี้, ในทุกสื่อ, โดยต้องแนบข้อความแสดง
943 สิทธิ์และการอนุญาตนี้ไปพร้อมด้วย. ทั้งนี้เพื่อชี้ให้เห็นว่าผู้เผยแพร่ได้อนุญาตให้ผู้ที่ได้รับ
944 สามารถทำการเผยแพร่ต่อไปได้โดยอาศัยข้อความในเอกสารนี้.
945
946 การอนุญาตนั้นได้รวมถึงสิทธิ์ในการเผยแพร่เวอร์ชันที่ปรับปรุงแล้ว, หรือส่วนหนึ่งของ
947 เอกสารนี้, ภายใต้เงื่อนไขข้างบน, ตลอดจนสิทธิ์ในการบอกว่าใครเป็นผู้ปรับปรุงล่าสุด.
948
949 เงื่อนไขของการทำสำเนาอีแมกส์จะซับซ้อนมากกว่านี้, แต่มีเจตนารมณ์ที่เหมือนกัน. กรุณา
950 อ่านแฟ้มข้อมูล COPYING แล้วเผยแพร่สำเนาของ GNU Emacs ไปยังเพื่อนๆ ของท่านด้วย.
951 ช่วยกันทำลายระบบหวงซอฟต์แวร์ ("แสดงความเป็นเจ้าข้าวเจ้าของ") ด้วยการใช้,
952 การเขียน, และการเป็นเจ้าของร่วมกันของซอฟต์แวร์เสรี (free software).
953
954
955 * ต้นฉบับว่าด้วยเรื่องการทำสำเนา
956 --------------------------
957
958 ต่อไปนี้เป็นเอกสารว่าด้วยเรื่องการทำสำเนาที่เป็นต้นฉบับ. เอกสารนี้ปรากฏอยู่ในคู่มือการใช้
959 อีแมกส์ฉบับภาษาอังกฤษ, ซึ่งเป็นต้นฉบับของเอกสารแปลฉบับนี้ด้วย.
960
961 This tutorial descends from a long line of Emacs tutorials
962 starting with the one written by Stuart Cracraft for the original Emacs.
963
964 This version of the tutorial, like GNU Emacs, is copyrighted, and
965 comes with permission to distribute copies on certain conditions:
966
967 Copyright (C) 1985, 1996, 2001-2014 Free Software Foundation, Inc.
968
969 Permission is granted to anyone to make or distribute verbatim copies
970 of this document as received, in any medium, provided that the
971 copyright notice and permission notice are preserved,
972 and that the distributor grants the recipient permission
973 for further redistribution as permitted by this notice.
974
975 Permission is granted to distribute modified versions
976 of this document, or of portions of it,
977 under the above conditions, provided also that they
978 carry prominent notices stating who last altered them.
979
980 The conditions for copying Emacs itself are more complex, but in the
981 same spirit. Please read the file COPYING and then do give copies of
982 GNU Emacs to your friends. Help stamp out software obstructionism
983 ("ownership") by using, writing, and sharing free software!
984
985
986 * คำส่งท้าย
987 ---------
988
989 คู่มือฉบับนี้ได้แปลจากต้นฉบับที่เป็นภาษาอังกฤษ, ซึ่งจะปรากฏอยู่ในอีแมกส์เวอร์ชัน 20.4.
990 ผู้แปลได้ทำการแปลขึ้นมาใหม่เนื่องจากฉบับเก่าที่เป็นภาษาไทย, ซึ่งแปลโดย ดร.มานพ วงศ์
991 สายสุวรรณ, ได้อิงคู่มือของอีแมกส์เวอร์ชันเก่า, และขณะนี้อีแมกส์เวอร์ชัน 20.4 ก็ได้
992 เปลี่ยนแปลงไปมากแล้ว. นอกจากนี้, ผู้แปลยังได้นำเครื่องหมายวรรคตอนมาใช้ในที่นี้ด้วย,
993 ทั้งนี้ก็เพื่อที่จะเขียนให้ได้ความที่ชัดเจน. หวังเป็นอย่างยิ่งว่าคู่มือฉบับนี้จะเป็นประโยชน์
994 และจะได้รับการแก้ไขให้ดียิ่งๆ ขึ้นอีกต่อๆ ไป. ขอขอบคุณ คุณทัศนีย์ เจริญพร ที่ให้ความ
995 ช่วยเหลือตรวจสอบต้นฉบับ.
996
997 22 มกราคม 2542
998 วิรัช ศรเลิศล้ำวาณิช
999 virach@nectec.or.th
1000
1001 Translate - January 1999 by Virach Sornlertlamvanich
1002
1003 ;;; Local Variables:
1004 ;;; sentence-end-double-space: nil
1005 ;;; coding: utf-8
1006 ;;; End: