Commit | Line | Data |
---|---|---|
4b725a70 PE |
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 | ตัวอักษร ">>" ที่ปรากฏอยู่ทางขอบซ้ายมือเป็นการแนะนำให้ท่านลองใช้คำสั่ง. ตัวอย่างเช่น: | |
a933dad1 | 18 | <<Blank lines inserted here by startup of help-with-tutorial>> |
4b725a70 PE |
19 | >> กดปุ่ม C-v (ดูหน้าจอถัดไป) เพื่อที่จะเคลื่อนไปยังหน้าจอถัดไป. |
20 | (ลองทำดูโดยการกดปุ่ม CONTROL และปุ่มอักษร v พร้อมกัน). | |
21 | จากนี้ไป, ท่านควรจะลองใช้คำสั่งนี้ดูเมื่อท่านอ่านหน้าจอนี้จบแล้ว. | |
a933dad1 | 22 | |
4b725a70 PE |
23 | ท่านจะสังเกตเห็นได้ว่าสองบรรทัดของหน้าจอที่แล้วจะยังคงปรากฏให้เห็นบนหน้าจอถัดไป; นี่ |
24 | เป็นการช่วยให้ท่านสามารถอ่านหน้าจอได้อย่างต่อเนื่อง. | |
a933dad1 | 25 | |
4b725a70 PE |
26 | สิ่งแรกที่ท่านจำเป็นต้องรู้คือการเคลื่อนตำแหน่งไปมาในข้อความ. ขณะนี้ท่านทราบ |
27 | วิธีการเคลื่อนไปยังหน้าจอถัดไปแล้วด้วยปุ่ม C-v. ในการที่จะเคลื่อนกลับไปหนึ่งหน้าจอ, กดปุ่ม | |
28 | M-v (กดปุ่ม META และปุ่ม v, หรือกดปุ่ม <ESC>v ถ้าท่านไม่มีปุ่ม META, EDIT, หรือ ALT). | |
a933dad1 | 29 | |
4b725a70 | 30 | >> ลองกดปุ่ม M-v และกดปุ่ม C-v ดูการทำงานสักสองสามครั้ง. |
a933dad1 DL |
31 | |
32 | ||
4b725a70 | 33 | * สรุป |
a933dad1 DL |
34 | ----- |
35 | ||
4b725a70 | 36 | คำสั่งต่อไปนี้ใช้เมื่อต้องการดูหน้าจอต่างๆ: |
a933dad1 | 37 | |
4b725a70 PE |
38 | C-v เคลื่อนไปยังหน้าจอถัดไปหนึ่งหน้าจอ |
39 | M-v เคลื่อนกลับไปหนึ่งหน้าจอ | |
40 | C-l ลบหน้าจอ แล้วแสดงผลหน้าจอใหม่, พร้อมทั้งย้ายตำแหน่งของข้อความที่มี | |
41 | เคอร์เซอร์ (cursor) ปรากฏอยู่ไปแสดงไว้กลางจอ. | |
42 | (คำสั่งนี้คือ CONTROL-L, ไม่ใช่ CONTROL-1.) | |
a933dad1 | 43 | |
4b725a70 PE |
44 | >> สังเกตตำแหน่งของเคอร์เซอร์, และสังเกตดูว่ามีข้อความอะไรอยู่ใกล้เคอร์เซอร์. |
45 | แล้วกดปุ่ม C-l. | |
46 | สังเกตดูตำแหน่งของเคอร์เซอร์อีกครั้ง จะเห็นว่ามีข้อความเดิมปรากฏอยู่ใกล้ๆ กับเคอร์เซอร์. | |
a933dad1 DL |
47 | |
48 | ||
4b725a70 | 49 | * การควบคุมเคอร์เซอร์เบื้องต้น |
a933dad1 DL |
50 | ------------------------ |
51 | ||
4b725a70 PE |
52 | การเคลื่อนหน้าจอไปมานั้นเป็นสิ่งจำเป็น แต่ท่านจะทำอย่างไรถ้าท่านต้องการจะเคลื่อนไปยัง |
53 | ตำแหน่งที่ต้องการภายในข้อความที่ปรากฏอยู่บนหน้าจอ? | |
a933dad1 | 54 | |
4b725a70 PE |
55 | มีหลายวิธีที่สามารถจะทำได้. วิธีที่พื้นที่สุดคือการใช้คำสั่ง C-p, C-b, C-f, และ C-n. |
56 | แต่ละคำสั่งจะเคลื่อนเคอร์เซอร์ไปหนึ่งบรรทัดหรือหนึ่งคอลัมน์ในทิศทางใดทิศทางหนึ่งบนหน้าจอ. | |
57 | ต่อไปนี้เป็นตารางแสดงคำสั่งทั้งสี่ และทิศทางที่เคอร์เซอร์เคลื่อนไป: | |
a933dad1 | 58 | |
4b725a70 | 59 | บรรทัดก่อนหน้า, C-p |
a933dad1 DL |
60 | : |
61 | : | |
4b725a70 | 62 | ย้อนกลับ, C-b .... ตำแหน่งเคอร์เซอร์ปัจจุบัน .... ข้างหน้า, C-f |
a933dad1 DL |
63 | : |
64 | : | |
4b725a70 | 65 | บรรทัดถัดไป, C-n |
a933dad1 | 66 | |
4b725a70 PE |
67 | >> เคลื่อนเคอร์เซอร์ไปที่กึ่งกลางของผังข้างบนโดยใช้คำสั่ง C-n หรือ C-p. แล้วกดปุ่ม |
68 | C-l เพื่อให้ผังปรากฏอยู่กลางหน้าจอ. | |
a933dad1 | 69 | |
4b725a70 PE |
70 | ท่านอาจจะจำคำสั่งได้ง่ายขึ้นโดยสังเกตตัวอักษรที่ใช้: p สำหรับ previous (ก่อนหน้า), n |
71 | สำหรับ next (ถัดไป), b สำหรับ backward (ย้อนกลับ), และ f สำหรับ forward | |
72 | (ข้างหน้า). เหล่านี้คือเบื้องต้นของคำสั่งในการควบคุมตำแหน่งของเคอร์เซอร์, และท่าน | |
73 | จะต้องใช้คำสั่งเหล่านี้บ่อยครั้ง, ฉะนั้นจึงเป็นการดีที่จะจำคำสั่งเหล่านี้ไว้. | |
a933dad1 | 74 | |
4b725a70 | 75 | >> ลองใช้คำสั่ง C-n ดูเพื่อที่จะเคลื่อนเคอร์เซอร์ลงมายังบรรทัดนี้. |
a933dad1 | 76 | |
4b725a70 PE |
77 | >> ลองเคลื่อนเข้าไปในบรรทัดโดยใช้คำสั่ง C-f และเคลื่อนขึ้นข้างบนโดยใช้คำสั่ง C-p. |
78 | สังเกตดูว่าเกิดอะไรขึ้นถ้าใช้คำสั่ง C-p เมื่อตำแหน่งเคอร์เซอร์ปรากฏอยู่ที่ตรงกลาง | |
79 | ของบรรทัด. | |
a933dad1 | 80 | |
4b725a70 PE |
81 | แต่ละบรรทัดสิ้นสุดด้วยอักขระ Newline, ซึ่งใช้แสดงขอบเขตระหว่างบรรทัด. ที่ท้ายสุดของ |
82 | ไฟล์ก็จะมีอักขระ Newline เช่นกัน (แต่สำหรับอีแมกส์แล้วไม่จำเป็น). | |
a933dad1 | 83 | |
4b725a70 PE |
84 | >> ลองใช้คำสั่ง C-b ที่ตำแหน่งเริ่มต้นของบรรทัดดู. เคอร์เซอร์จะเคลื่อนไปยังตำแหน่ง |
85 | ท้ายสุดของบรรทัดก่อนหน้า. นี่เป็นเพราะว่าเคอร์เซอร์ได้เคลื่อนข้ามอักขระ Newline ไป. | |
a933dad1 | 86 | |
4b725a70 | 87 | คำสั่ง C-f สามารถเคลื่อนข้ามอักขระ Newline ได้เช่นเดียวกับคำสั่ง C-b. |
a933dad1 | 88 | |
4b725a70 PE |
89 | >> ลองใช้คำสั่ง C-b ดูอีกสักหน่อย, ท่านจะสามารถเข้าใจการเคลื่อนเคอร์เซอร์ได้ดีขึ้น. |
90 | แล้วลองใช้คำสั่ง C-f เพื่อที่จะเคลื่อนไปยังตำแหน่งท้ายสุดของบรรทัด. | |
91 | แล้วลองใช้คำสั่ง C-f อีกสักครั้งเพื่อที่จะเคลื่อนไปยังบรรทัดถัดไป. | |
a933dad1 | 92 | |
4b725a70 PE |
93 | เมื่อท่านเคลื่อนผ่านตำแหน่งบนสุดหรือท้ายสุดของหน้าจอ, ข้อความถัดจากบรรทัดที่อยู่ที่ |
94 | ขอบนั้นจะขยับเข้ามาปรากฏอยู่บนหน้าจอ. นี่เรียกว่า "การเคลื่อนม้วน (scrolling)". นี่ | |
95 | เป็นการทำให้อีแมกส์สามารถเคลื่อนเคอร์เซอร์ไปยังตำแหน่งที่ต้องการบนข้อความได้โดย | |
96 | ไม่เคลื่อนออกนอกหน้าจอ. | |
a933dad1 | 97 | |
4b725a70 | 98 | >> ลองเคลื่อนเคอร์เซอร์ลงออกไปนอกหน้าจอโดยใช้คำสั่ง C-n, แล้วดูว่ามีอะไรเกิดขึ้น. |
a933dad1 | 99 | |
4b725a70 PE |
100 | ถ้าเคลื่อนทีละตัวอักษรนั้นช้าไป, ท่านก็สามารถจะเคลื่อนได้ทีละคำ. คำสั่ง M-f (META-f) |
101 | ใช้ในการเคลื่อนไปยังคำที่อยู่ถัดไป และ M-b ใช้ในการเคลื่อนไปยังคำที่อยู่ก่อนหน้า. | |
a933dad1 | 102 | |
4b725a70 | 103 | >> ลองใช้คำสั่ง M-f และ M-b ดูสักสองสามครั้ง. |
a933dad1 | 104 | |
4b725a70 PE |
105 | เมื่อท่านอยู่ที่ตำแหน่งกลางของคำ, คำสั่ง M-f จะใช้เคลื่อนไปยังตำแหน่งท้ายของคำนั้น. เมื่อ |
106 | ท่านอยู่ที่ตำแหน่งเว้นวรรคระหว่างคำ, คำสั่ง M-f จะใช้เคลื่อนไปยังตำแหน่งท้ายของคำ | |
107 | ที่อยู่ถัดไป. คำสั่ง M-b ทำหน้าที่ทำนองเดียวกัน แต่เคลื่อนไปในทิศทางตรงกันข้าม. | |
a933dad1 | 108 | |
4b725a70 PE |
109 | หมายเหตุ: เนื่องจากภาษาไทยไม่มีการใช้อักขระเว้นวรรค (whitespace) ในการแสดง |
110 | ขอบเขตของคำ, ฉะนั้นเมื่ออยู่ในโหมดภาษาไทย (ThaiText mode) อีแมกส์ | |
111 | จะทำการกำกับขอบเขตของคำโดยอาศัยโปรแกรมตัดคำ. คำสั่ง M-f และ M-b | |
112 | จึงจะทำงานได้, แต่จะให้ผลต่างไปเล็กน้อย. กล่าวคือ: | |
a933dad1 | 113 | |
4b725a70 PE |
114 | ไม่ว่าท่านอยู่ที่ตำแหน่งกลางหรือตำแหน่งเริ่มต้นของคำก็ตาม, คำสั่ง M-f จะใช้ |
115 | เคลื่อนไปยังตำแหน่งเริ่มต้นของคำถัดไปในกรณีที่คำนั้นไม่ได้เป็นคำสุดท้ายของ | |
116 | บรรทัด. ถ้าคำนั้นเป็นคำสุดท้ายของบรรทัด, คำสั่ง M-f จะใช้เคลื่อนไปยัง | |
117 | ตำแหน่งท้ายของคำนั้น. | |
a933dad1 | 118 | |
4b725a70 PE |
119 | >> ลองใช้คำสั่ง M-f และ M-b ดู, โดยปะปนกับคำสั่ง C-f และ C-b, ท่านจะสังเกต |
120 | เห็นการทำงานของคำสั่ง M-f และ M-b ในตำแหน่งต่างๆ ทั้งในคำและระหว่างคำ. | |
a933dad1 | 121 | |
4b725a70 PE |
122 | ท่านสามารถสังเกตได้ว่าคำสั่ง C-f และ C-b นั้นทำหน้าที่ในลักษณะเดียวกับคำสั่ง M-f |
123 | และ M-b, แต่อยู่บนเกณฑ์ที่ต่างกัน. ส่วนมาก ปุ่ม META จะถูกกำหนดให้ใช้กับการทำงานใน | |
124 | ระดับที่เกี่ยวข้องกับหน่วยที่กำหนดขึ้นทางภาษา (เช่น คำ, ประโยค, ย่อหน้า, เป็นต้น), | |
125 | ขณะที่ปุ่ม CONTROL นั้นมักจะถูกกำหนดให้ใช้กับการทำงานในระดับที่เกี่ยวข้องกับหน่วยย่อย | |
126 | อิสระที่ทำการแก้ไขได้ (เช่น ตัวอักษร, บรรทัด, เป็นต้น). | |
a933dad1 | 127 | |
4b725a70 PE |
128 | การทำงานในทำนองเดียวกันสำหรับบรรทัดกับประโยค: คำสั่ง C-a และ C-e ใช้เคลื่อน |
129 | ไปยังตำแหน่งเริ่มต้นและท้ายของบรรทัด, ขณะเดียวกันคำสั่ง M-a และ M-e ใช้เคลื่อน | |
130 | ไปยังตำแหน่งเริ่มต้นและท้ายของประโยค. | |
a933dad1 | 131 | |
4b725a70 PE |
132 | หมายเหตุ: เนื่องจากภาษาไทยไม่นิยมใช้อักขระมหัพภาค (period) ในการแสดงจุดสิ้นสุดของ |
133 | ประโยค, ทำให้ไม่สามารถกำหนดขอบเขตของประโยคให้ถูกต้องได้. ดังนั้นเมื่อ | |
134 | อยู่ในโหมดภาษาไทย (ThaiText mode), คำสั่ง M-a และ M-e จะเคลื่อน | |
135 | เคอร์เซอร์ไปยังตำแหน่งเริ่มต้นของย่อหน้า และตำแหน่งท้ายสุดของย่อหน้า | |
136 | ตามลำดับ. ยกเว้นกรณีที่มีการใช้อักขระมหัพภาค. | |
a933dad1 | 137 | |
4b725a70 PE |
138 | >> ลองใช้คำสั่ง C-a และ C-e ดูสักสองสามครั้ง. |
139 | ลองใช้คำสั่ง M-a และ M-e ดูสักสองสามครั้ง. | |
a933dad1 | 140 | |
4b725a70 PE |
141 | สังเกตดูว่าการใช้คำสั่ง C-a ซ้ำๆ กันจะไม่เกิดผลอะไร, แต่การใช้คำสั่ง M-a จะทำให้ |
142 | เคอร์เซอร์เคลื่อนไปทีละประโยค. แม้ว่าการเคลื่อนเคอร์เซอร์ของทั้งสองแบบนี้จะไม่ | |
143 | คล้ายกันเลยทีเดียว, แต่ก็ดูเป็นธรรมชาติดี. | |
a933dad1 | 144 | |
4b725a70 PE |
145 | บางครั้งเราก็เรียกตำแหน่งของเคอร์เซอร์ว่า "จุด (point)". กล่าวคือ, เคอร์เซอร์ที่ |
146 | ปรากฏอยู่บนหน้าจอก็คือตำแหน่งที่จุดปรากฏอยู่บนข้อความนั่นเอง. | |
a933dad1 | 147 | |
4b725a70 PE |
148 | ต่อไปนี้เป็นสรุปของชุดคำสั่งสำหรับการเคลื่อนเคอร์เซอร์, ซึ่งรวมถึงการเคลื่อนในระดับคำ |
149 | และประโยค: | |
a933dad1 | 150 | |
4b725a70 PE |
151 | C-f เคลื่อนไปข้างหน้าหนึ่งตัวอักษร |
152 | C-b เคลื่อนกลับไปหนึ่งตัวอักษร | |
a933dad1 | 153 | |
4b725a70 PE |
154 | M-f เคลื่อนไปข้างหน้าหนึ่งคำ |
155 | M-b เคลื่อนกลับไปหนึ่งคำ | |
a933dad1 | 156 | |
4b725a70 PE |
157 | C-n เคลื่อนไปบรรทัดถัดไป |
158 | C-p เคลื่อนไปบรรทัดก่อนหน้า | |
a933dad1 | 159 | |
4b725a70 PE |
160 | C-a เคลื่อนไปยังตำแหน่งเริ่มต้นของบรรทัด |
161 | C-e เคลื่อนไปยังตำแหน่งท้ายของบรรทัด | |
a933dad1 | 162 | |
4b725a70 PE |
163 | M-a เคลื่อนไปยังตำแหน่งเริ่มต้นของประโยค |
164 | M-e เคลื่อนไปยังตำแหน่งท้ายของประโยค | |
a933dad1 | 165 | |
4b725a70 PE |
166 | >> ลองใช้คำสั่งเหล่านี้สักระยะเพื่อเป็นการฝึกหัด. |
167 | คำสั่งเหล่านี้เป็นคำสั่งที่ใช้กันบ่อยมาก. | |
a933dad1 | 168 | |
4b725a70 PE |
169 | มีอีกสองคำสั่งที่สำคัญในการเคลื่อนตำแหน่งคือ คำสั่ง M-< (META น้อยกว่า), ใช้ในการ |
170 | เคลื่อนไปยังตำแหน่งเริ่มต้นของข้อความ, และ M-> (META มากกว่า), ใช้ในการเคลื่อน | |
171 | ไปยังตำแหน่งท้ายสุดของข้อความ. | |
a933dad1 | 172 | |
4b725a70 PE |
173 | ในเครื่องปลายทาง (terminal) ส่วนใหญ่, อักขระ "<" จะอยู่เหนืออักขระจุลภาค |
174 | (comma), ฉะนั้นท่านต้องใช้ปุ่มชิฟต์ (shift) ในการป้อนอักขระนั้น. สำหรับเครื่อง | |
175 | ปลายทางแบบนี้, ท่านจึงต้องใช้ปุ่มชิฟต์ในการป้อนคำสั่ง M-< ในทำนองเดียวกัน, ถ้าไม่ | |
176 | คำนึงถึงปุ่มชิฟต์, ก็หมายความว่าท่านกำลังป้อนคำสั่ง M-comma. | |
a933dad1 | 177 | |
4b725a70 PE |
178 | >> ลองใช้คำสั่ง M-< ดู, เพื่อเคลื่อนไปยังตำแหน่งเริ่มต้นของคู่มือการใช้นี้. |
179 | แล้วใช้คำสั่ง C-v ซ้ำกันหลายๆ ครั้งเพื่อที่จะเคลื่อนกลับมายังตำแหน่งเดิมนี้. | |
a933dad1 | 180 | |
4b725a70 PE |
181 | >> ลองใช้คำสั่ง M-> ดู, เพื่อเคลื่อนไปยังตำแหน่งท้ายสุดของคู่มือการใช้นี้. |
182 | แล้วใช้คำสั่ง M-v ซ้ำกันหลายๆ ครั้งเพื่อที่จะเคลื่อนกลับมายังตำแหน่งเดิมนี้. | |
a933dad1 | 183 | |
4b725a70 PE |
184 | ท่านสามารถเคลื่อนเคอร์เซอร์ได้ด้วยปุ่มลูกศร (arrow key), ถ้าเครื่องปลายทางของท่าน |
185 | มีปุ่มเหล่านี้อยู่. เราแนะนำให้ฝึกหัดใช้คำสั่ง C-b, C-f, C-n และ C-p, ด้วยเหตุผลสาม | |
186 | ประการ. หนึ่ง, คำสั่งเหล่านี้ทำงานได้บนเครื่องปลายทางทุกชนิด. สอง, เมื่อท่านได้ฝึกหัด | |
187 | การใช้กับอีแมกส์แล้ว ท่านจะรู้สึกว่าการใช้คำสั่งด้วยปุ่ม CONTROL นั้นคล่องตัวกว่าการใช้ | |
188 | ปุ่มลูกศร (เพราะว่าท่านไม่ต้องเคลื่อนย้ายมือออกจากตำแหน่งมือสัมผัสเลย). สาม, เมื่อ | |
189 | ท่านคุ้นเคยกับการใช้คำสั่งประกอบกับปุ่ม CONTROL แล้ว, ท่านสามารถจะฝึกการใช้คำสั่ง | |
190 | ชั้นสูงต่อไปได้อีกด้วย. | |
a933dad1 | 191 | |
4b725a70 PE |
192 | คำสั่งส่วนใหญ่ในอีแมกส์นั้นจะสามารถกำกับตัวเลขอาร์กิวเมนต์ได้; สำหรับคำสั่งส่วนใหญ่, |
193 | ตัวเลขเหล่านี้ก็จะหมายถึงจำนวนครั้งของการประมวลผลของคำสั่งต่อไป. การที่จะทำให้มี | |
194 | การประมวลผลของคำสั่งซ้ำเท่าจำนวนที่ต้องการนั้นสามารถทำได้โดยการป้อนคำสั่ง C-u | |
195 | แล้วตามด้วยตัวเลขก่อนที่จะป้อนคำสั่งที่ต้องการ. ถ้าท่านมีปุ่ม META (หรือ EDIT หรือ | |
196 | ALT), ท่านสามารถจะทำได้ด้วยอีกวิธีหนึ่ง: ป้อนตัวเลขขณะที่กดปุ่ม META อยู่. เราแนะนำ | |
197 | ให้ท่านฝึกหัดใช้คำสั่ง C-u เพราะว่าสามารถใช้ได้กับเครื่องปลายทางทุกชนิด. ตัวเลขอาร์ | |
198 | กิวเมนต์ที่กล่าวถึงนี้เรียกว่า "อาร์กิวเมนต์เติมหน้า (prefix argument)", เพราะว่าท่าน | |
199 | ต้องป้อนตัวเลขก่อนที่จะป้อนคำสั่ง. | |
a933dad1 | 200 | |
4b725a70 | 201 | ตัวอย่างเช่น, คำสั่ง C-u 8 C-f จะเคลื่อนไปข้างหน้าแปดตัวอักษร. |
a933dad1 | 202 | |
4b725a70 PE |
203 | >> ลองใช้คำสั่ง C-n หรือ C-p ประกอบกับตัวเลขอาร์กิวเมนต์, เพื่อที่จะเคลื่อนเคอร์เซอร์ |
204 | เข้ามาใกล้บรรทัดนี้โดยใช้เพียงคำสั่งเดียว. | |
a933dad1 | 205 | |
4b725a70 PE |
206 | คำสั่งส่วนใหญ่ใช้ตัวเลขอาร์กิวเมนต์เหล่านี้สำหรับการประมวลผลคำสั่งซ้ำ, แต่บางคำสั่งก็ใช้ |
207 | ในลักษณะอื่น. มีหลายคำสั่ง (แต่ไม่รวมคำสั่งที่ได้กล่าวมาถึงตรงนี้) ใช้ตัวเลขนี้เป็นตัว | |
208 | บ่งชี้--การที่มีอาร์กิวเมนต์เติมหน้า, โดยไม่คำนึงถึงค่าของตัวเลข, จะทำให้คำสั่งนั้นทำงาน | |
209 | ต่างออกไป. | |
a933dad1 | 210 | |
4b725a70 PE |
211 | คำสั่ง C-v และ M-v เป็นคำสั่งที่ยกเว้นอีกประเภทหนึ่ง. ถ้าป้อนตัวเลขอาร์กิวเมนต์ด้วยแล้ว, |
212 | หน้าจอจะถูกเคลื่อนม้วนขึ้นหรือลงเป็นจำนวนบรรทัดเท่าตัวเลขที่กำหนด, แทนที่จะเคลื่อนม้วน | |
213 | ทีละหน้าจอ. ตัวอย่างเช่น, คำสั่ง C-u 8 C-v จะเคลื่อนม้วนหน้าจอทีละแปดบรรทัด. | |
a933dad1 | 214 | |
4b725a70 | 215 | >> ลองใช้คำสั่ง C-u 8 C-v ดู. |
a933dad1 | 216 | |
4b725a70 PE |
217 | คำสั่งนี้จะเคลื่อนม้วนหน้าจอขึ้นไปแปดบรรทัด. ถ้าท่านต้องการจะเคลื่อนม้วนกลับมาอีก, ท่าน |
218 | ก็ทำได้โดยการกำกับตัวเลขอาร์กิวเมนต์ให้กับคำสั่ง M-v. | |
a933dad1 | 219 | |
4b725a70 PE |
220 | ถ้าท่านกำลังใช้เอกซ์วินโดว์ (X Window) อยู่, จะมีแผงเคลื่อนม้วน (scroll bar) ที่ |
221 | เป็นพื้นที่สี่เหลี่ยมผืนผ้าอยู่ทางด้านซ้ายของวินโดว์ (window) ของอีแมกส์. ท่านสามารถ | |
222 | จะเคลื่อนม้วนข้อความโดยการคลิกเมาส์ (click mouse) บนแผงเคลื่อนม้วน. | |
a933dad1 | 223 | |
4b725a70 PE |
224 | >> ลองกดปุ่มกลางที่ส่วนบนสุดของพื้นที่ที่เน้น (highlight) ภายในแผงเคลื่อนม้วน. |
225 | ข้อความจะถูกเคลื่อนม้วนไปยังตำแหน่งที่ที่ท่านได้คลิก. | |
a933dad1 | 226 | |
4b725a70 PE |
227 | >> ลองเคลื่อนเมาส์ขึ้นลงดู, ขณะที่ยังกดปุ่มกลางอยู่. ท่านจะพบว่าข้อความจะเคลื่อนที่ขึ้น |
228 | ลงตามที่ท่านเคลื่อนเมาส์ไป. | |
a933dad1 DL |
229 | |
230 | ||
4b725a70 | 231 | * กรณีที่อีแมกส์หยุดชะงัก (hang up) |
a933dad1 DL |
232 | ---------------------------- |
233 | ||
4b725a70 PE |
234 | ถ้าอีแมกส์หยุดและไม่ตอบสนองคำสั่งใดๆ, ท่านสามารถยกเลิกคำสั่งได้อย่างปลอดภัยโดยใช้ |
235 | คำสั่ง C-g. ท่านสามารถใช้คำสั่ง C-g ในการยกเลิกคำสั่งที่กำลังทำงานอยู่ได้. | |
a933dad1 | 236 | |
4b725a70 | 237 | ท่านสามารถใช้คำสั่ง C-g เพื่อยกเลิกตัวเลขอาร์กิวเมนต์หรือคำสั่งที่ท่านกำลังป้อนอยู่ได้. |
a933dad1 | 238 | |
4b725a70 PE |
239 | >> ลองป้อนคำสั่ง C-u 100 เพื่อที่จะให้มีตัวเลขอาร์กิวเมนต์เป็น 100, แล้วป้อนคำสั่ง C-g. |
240 | ป้อนคำสั่ง C-f. ผลที่ได้ก็คือเคอร์เซอร์เคลื่อนไปเพียงหนึ่งตัวอักษร, เพราะว่าท่านได้ | |
241 | ยกเลิกตัวเลขอาร์กิวเมนต์ไปแล้วด้วยคำสั่ง C-g. | |
a933dad1 | 242 | |
4b725a70 | 243 | ถ้าท่านป้อนคำสั่ง <ESC> โดยไม่ได้ตั้งใจ, ท่านก็สามารถจะยกเลิกคำสั่งนั้นได้ด้วยคำสั่ง C-g. |
a933dad1 DL |
244 | |
245 | ||
4b725a70 | 246 | * คำสั่งที่ถูกปิดทาง (disable) |
a933dad1 DL |
247 | ------------------------ |
248 | ||
4b725a70 PE |
249 | คำสั่งบางคำสั่งถูกปิดทางไว้ เพื่อที่จะป้องกันไม่ให้ผู้ที่เริ่มต้นใช้ (beginning user) ใช้ได้ |
250 | โดยไม่ได้ตั้งใจ. | |
a933dad1 | 251 | |
4b725a70 PE |
252 | ถ้าท่านป้อนคำสั่งประเภทนี้แล้ว, อีแมกส์จะแสดงข้อความว่าคำสั่งนั้นคืออะไร, และจะถาม |
253 | ท่านว่าต้องการจะประมวลผลคำสั่งนั้นหรือไม่. | |
a933dad1 | 254 | |
4b725a70 PE |
255 | ถ้าท่านต้องการที่จะประมวลผลคำสั่งนั้นจริงๆ, กดปุ่ม space เพื่อตอบยืนยันความต้องการ. |
256 | โดยปรกติแล้ว, ถ้าท่านไม่ต้องการจะประมวลผลคำสั่งที่ถูกปิดทางไว้, ก็ตอบ "n" เท่านั้น. | |
a933dad1 | 257 | |
4b725a70 PE |
258 | >> ลองใช้คำสั่ง C-x C-l (ซึ่งเป็นคำสั่งที่ถูกปิดทางไว้), แล้วป้อน "n" เพื่อเป็นการตอบ |
259 | คำถาม. | |
a933dad1 DL |
260 | |
261 | ||
4b725a70 | 262 | * วินโดว์ (window) |
a933dad1 DL |
263 | ---------------- |
264 | ||
4b725a70 PE |
265 | อีแมกส์สามารถมีได้หลายวินโดว์, แต่ละวินโดว์ก็จะแสดงผลของข้อความของตนเอง. เราจะ |
266 | อธิบายถึงวิธีการใช้แบบหลายวินโดว์หลังจากนี้. ตอนนี้จะกล่าวถึงวิธีการปิดวินโดว์ที่ไม่ต้อง | |
267 | การ, แล้วกลับไปใช้เพียงวินโดว์เดียว. ซึ่งสามารถทำได้ดังนี้: | |
a933dad1 | 268 | |
4b725a70 | 269 | C-x 1 หนึ่งวินโดว์ (คือการปิดวินโดว์อื่นๆ ทั้งหมด) |
a933dad1 | 270 | |
4b725a70 PE |
271 | นั่นคือเพียงป้อนคำสั่ง C-x แล้วตามด้วยเลข 1. คำสั่ง C-x 1 จะขยายวินโดว์ที่มี |
272 | เคอร์เซอร์อยู่ ให้เต็มหน้าจอ. ซึ่งจะเป็นการปิดวินโดว์อื่นๆ ทั้งหมด. | |
a933dad1 | 273 | |
4b725a70 PE |
274 | >> เคลื่อนเคอร์เซอร์มายังบรรทัดนี้ แล้วป้อนคำสั่ง C-u 0 C-l. |
275 | >> ป้อนคำสั่ง C-h k C-f. | |
276 | จะเห็นว่าวินโดว์นี้มีขนาดย่อลง ขณะที่มีวินโดว์ใหม่เกิดขึ้นแสดงผลของเอกสารที่เกี่ยวกับ | |
277 | คำสั่งของ C-f. | |
a933dad1 | 278 | |
4b725a70 | 279 | >> ป้อนคำสั่ง C-x 1 แล้วจะพบว่าวินโดว์ที่แสดงรายการของเอกสารหายไป. |
a933dad1 | 280 | |
4b725a70 PE |
281 | คำสั่งนี้ต่างจากคำสั่งที่ได้กล่าวมาตรงที่ว่าคำสั่งนี้ประกอบด้วยสองตัวอักษร. คำสั่งนี้เริ่มต้น |
282 | ด้วยอักขระ C-x. มีชุดของคำสั่งที่ขึ้นต้นด้วยอักขระ C-x; ส่วนใหญ่จะเกี่ยวข้องกับการ | |
283 | จัดการกับวินโดว์, แฟ้มข้อมูล, บัฟเฟอร์, และอื่นๆ ในทำนองเดียวกัน. คำสั่งเหล่านี้จะ | |
284 | ประกอบด้วยสอง, สาม, หรือสี่ตัวอักษร. | |
a933dad1 DL |
285 | |
286 | ||
4b725a70 | 287 | * การแทรก (inserting) และการลบ (deleting) |
a933dad1 DL |
288 | ---------------------------------------------- |
289 | ||
4b725a70 PE |
290 | ถ้าท่านต้องการที่จะแทรกข้อความ, ก็สามารถทำได้โดยการป้อนข้อความนั้นเข้าไปเท่านั้น. |
291 | ตัวอักษรที่ท่านเห็น, เช่น A, 7, *, เป็นต้น, ต่างก็ถือว่าเป็นข้อความและถูกแทรกเข้าไป | |
292 | ทันทีที่ป้อน. กดปุ่ม <Return> ในการที่จะแทรกอักขระ Newline. | |
a933dad1 | 293 | |
4b725a70 PE |
294 | ท่านสามารถลบตัวอักษรตัวสุดท้ายที่ท่านได้ป้อนเข้าไปได้โดยการกดปุ่ม <Delete>. ปุ่ม |
295 | <Delete> เป็นปุ่มๆ หนึ่งบนแป้นพิมพ์, ซึ่งบางครั้งอาจเป็นปุ่มที่กำกับด้วย "Del". ในบาง | |
296 | กรณี, ปุ่ม "Backspace" ก็ทำหน้าที่เช่นเดียวกับปุ่ม <Delete>, แต่ก็ไม่เสมอไป. | |
a933dad1 | 297 | |
4b725a70 | 298 | โดยทั่วไปแล้ว, ปุ่ม <Delete> จะใช้สำหรับลบตัวอักษรที่อยู่หน้าตำแหน่งของเคอร์เซอร์ปัจจุบัน. |
a933dad1 | 299 | |
4b725a70 PE |
300 | >> ลองทำดู--ป้อนตัวอักษรใดๆ สักสองสามตัว, แล้วลบตัวอักษรนั้นออกโดยกดปุ่ม |
301 | <Delete> สักสองสามครั้ง. ไม่ต้องกังวลว่าจะทำให้ข้อความในแฟ้มข้อมูลนี้เปลี่ยนไป; | |
302 | ท่านจะไม่ทำให้ข้อความในต้นฉบับของคู่มือการใช้เปลี่ยนแปลง. นี่เป็นเพียงฉบับสำเนาเท่านั้น. | |
a933dad1 | 303 | |
4b725a70 PE |
304 | เมื่อข้อความในบรรทัดยาวเกินกว่าหนึ่งบรรทัดของหน้าจอ, ข้อความในบรรทัดนั้นจะต่อเนื่อง |
305 | ไปยังบรรทัดถัดไปของหน้าจอ. อักขระ backslash ("\") ที่ปลายของขอบขวามือจะบ่งชี้ | |
306 | ว่าข้อความของบรรทัดนั้นต่อเนื่องไปยังบรรทัดถัดไป. | |
a933dad1 | 307 | |
4b725a70 PE |
308 | >> ป้อนข้อความจนกระทั่งถึงขอบขวา, แล้วป้อนต่อไปอีก. ท่านจะเห็นการแสดงผลของ |
309 | บรรทัดต่อเนื่องกัน. | |
a933dad1 | 310 | |
4b725a70 PE |
311 | >> ใช้ปุ่ม <Delete> เพื่อลบข้อความออกจนกระทั่งข้อความนั้นพอดีกับความกว้างของหน้าจอ. |
312 | บรรทัดที่ต่อเนื่องกันก็จะหายไป. | |
a933dad1 | 313 | |
4b725a70 PE |
314 | ท่านสามารถลบอักขระ Newline ออกได้เช่นเดียวกับตัวอักษรอื่นๆ. การลบอักขระ Newline |
315 | ระหว่างสองบรรทัดจะเป็นการรวมสองบรรทัดนั้นเข้าเป็นบรรทัดเดียว. ถ้าผลของการรวมสอง | |
316 | บรรทัดเข้าด้วยกันทำให้บรรทัดนั้นยาวเกินกว่าบรรทัดของหน้าจอแล้ว, บรรทัดนั้นก็จะเป็นบรรทัด | |
317 | แบบต่อเนื่อง. | |
a933dad1 | 318 | |
4b725a70 PE |
319 | >> เคลื่อนเคอร์เซอร์ไปยังตำแหน่งเริ่มต้นของบรรทัด, แล้วกดปุ่ม <Delete>. |
320 | บรรทัดปัจจุบันจะถูกเชื่อมเข้ากับบรรทัดก่อนหน้า. | |
a933dad1 | 321 | |
4b725a70 | 322 | >> กดปุ่ม <Return> เพื่อที่จะแทรกอักขระ Newline เข้าไปใหม่. |
a933dad1 | 323 | |
4b725a70 PE |
324 | ควรจำไว้ว่าคำสั่งส่วนใหญ่ของอีแมกส์จะสามารถทำให้ประมวลผลซ้ำได้หลายครั้ง; ซึ่งรวมถึง |
325 | จำนวนตัวอักษรด้วย. การประมวลผลซ้ำของการป้อนตัวอักษรคือการแทรกตัวอักษรเหล่านั้นเข้าไป. | |
a933dad1 | 326 | |
4b725a70 | 327 | >> ลองทำดูเดี๋ยวนี้--ป้อนคำสั่ง C-u 8 * เพื่อที่จะป้อนสายอักขระ ********. |
a933dad1 | 328 | |
4b725a70 PE |
329 | ท่านได้เรียนรู้ถึงวิธีการเบื้องต้นในการป้อนบางสิ่งบางอย่างในอีแมกส์และการแก้ไข |
330 | ข้อผิดพลาดต่างๆ. ท่านสามารถที่จะลบทีละคำหรือทีละบรรทัดในทำนองเดียวกัน. ต่อไปนี้เป็น | |
331 | การสรุปการลบด้วยวิธีต่างๆ: | |
a933dad1 | 332 | |
4b725a70 PE |
333 | <Delete> ลบตัวอักษรที่อยู่หน้าตำแหน่งเคอร์เซอร์ |
334 | C-d ลบตัวอักษรที่อยู่ถัดไปหลังตำแหน่งเคอร์เซอร์ | |
a933dad1 | 335 | |
4b725a70 PE |
336 | M-<Delete> ฆ่าคำที่อยู่หน้าตำแหน่งเคอร์เซอร์ |
337 | M-d ฆ่าคำที่อยู่ถัดไปหลังตำแหน่งเคอร์เซอร์ | |
a933dad1 | 338 | |
4b725a70 PE |
339 | C-k ฆ่าตัวอักษรตั้งแต่ตำแหน่งเคอร์เซอร์ไปจนถึงท้ายบรรทัด |
340 | M-k ฆ่าตัวอักษรตั้งแต่ตำแหน่งเคอร์เซอร์ไปจนถึงท้ายของประโยค | |
a933dad1 | 341 | |
4b725a70 PE |
342 | ควรจะสังเกตได้ว่าคำสั่ง <Delete> และ C-d, กับ M-<Delete> และ M-d เป็นคำสั่ง |
343 | ในทำนองเดียวกันที่เริ่มจากคำสั่ง C-f และ M-f (แม้ว่าปุ่ม <Delete> จะไม่ใช่ตัวอักษร | |
344 | ก็ตาม, แต่ไม่ได้เป็นเรื่องสำคัญ). คำสั่ง C-k และ M-k ก็เช่นเดียวกับ C-e และ M-e ที่ | |
345 | ทำงานในลักษณะเดียวกันแต่คนละระดับ, คือระดับที่เป็นบรรทัดกับประโยค. | |
a933dad1 | 346 | |
4b725a70 PE |
347 | เมื่อท่านลบตัวอักษรไปมากกว่าหนึ่งตัวในครั้งหนึ่งๆ, อีแมกส์จะบันทึกข้อความที่ถูกลบไปไว้ |
348 | เพื่อว่าท่านจะสามารถเรียกกลับมาได้อีก. การเรียกกลับมาของข้อความที่ถูกฆ่าไปนั้นเรียกว่า | |
349 | "การเรียกคืน (yanking)". ท่านสามารถเรียกคืนข้อความที่ถูกฆ่าไปกลับมาได้โดยให้ | |
350 | ปรากฏในที่ที่ถูกฆ่าไป, หรือปรากฏในที่ใดๆ ของข้อความก็ได้. ท่านสามารถเรียกคืนข้อความ | |
351 | กี่ครั้งก็ได้เพื่อที่จะทำสำเนาข้อความ. คำสั่งที่ใช้ในการเรียกคืนคือ C-y. | |
a933dad1 | 352 | |
4b725a70 PE |
353 | สิ่งที่ควรสังเกตอันหนึ่งคือข้อแตกต่างระหว่าง "การฆ่า (killing)" กับ "การลบ |
354 | (deleting)". สิ่งที่ถูก "ฆ่า (killed)" ไปนั้น, สามารถที่จะเรียกคืน (yank) มาได้, | |
355 | แต่สิ่งที่ถูก "ลบ (deleted)" ไปนั้น, ไม่สามารถจะเรียกคืนมาได้. โดยทั่วไป, คำสั่งที่สามารถ | |
356 | ลบข้อความได้ทีละมากๆ จะเก็บข้อความนั้นไว้, ขณะที่คำสั่งที่ลบได้ทีละตัวอักษร, หรือบรรทัด | |
357 | เปล่าและเว้นวรรค, จะไม่เก็บข้อความที่ถูกลบไป. | |
a933dad1 | 358 | |
4b725a70 PE |
359 | >> เคลื่อนเคอร์เซอร์ไปยังจุดเริ่มต้นของบรรทัดที่ไม่ใช่บรรทัดเปล่า. |
360 | แล้วป้อนคำสั่ง C-k เพื่อที่จะฆ่าข้อความที่อยู่บนบรรทัดนั้น. | |
361 | >> ป้อนคำสั่ง C-k อีกครั้งหนึ่ง. ท่านจะเห็นว่าอักขระ Newline ที่อยู่ท้ายบรรทัดนั้นจะถูก | |
362 | ฆ่าไป. | |
a933dad1 | 363 | |
4b725a70 PE |
364 | จะสังเกตได้ว่าคำสั่ง C-k คำสั่งแรกจะฆ่าเนื้อความของบรรทัด, และคำสั่ง C-k คำสั่ง |
365 | ที่สองจะฆ่าบรรทัดนั้น, และจะขยับบรรทัดอื่นๆ ที่เหลือทั้งหมดขึ้น. คำสั่ง C-k จัดการกับ | |
366 | ตัวเลขอาร์กิวเมนต์ในลักษณะที่แตกต่างออกไป: คำสั่งนี้จะฆ่าหลายๆ บรรทัดและเนื้อหาของ | |
367 | ข้อความด้วย. นี่ไม่เหมือนการทำซ้ำแบบปรกติ. คำสั่ง C-u 2 C-k จะฆ่าทั้งสองบรรทัด | |
368 | พร้อมทั้งอักขระ Newline ของบรรทัดนั้นๆ ด้วย; ซึ่งต่างจากการทำคำสั่ง C-k สองครั้ง. | |
a933dad1 | 369 | |
4b725a70 PE |
370 | ใช้คำสั่ง C-y ในการที่จะเรียกคืนข้อความที่ถูกฆ่าไปหลังสุด. ข้อความที่ถูกเรียกคืนนั้นจะ |
371 | ปรากฏที่ตำแหน่งเคอร์เซอร์ปัจจุบัน. | |
a933dad1 | 372 | |
4b725a70 | 373 | >> ลองใช้คำสั่ง C-y เพื่อที่จะเรียกคืนข้อความกลับมา. |
a933dad1 | 374 | |
4b725a70 PE |
375 | คำสั่ง C-y ก็เหมือนการเรียกคืนสิ่งของที่ใครบางคนได้เอาไปจากท่าน. ท่านจะสังเกตได้ว่า |
376 | ถ้าท่านใช้คำสั่ง C-k ติดต่อกันหลายๆ ครั้ง, ข้อความที่ถูกฆ่าไปทั้งหมดจะถูกเก็บไว้ด้วยกัน, | |
377 | ฉะนั้นการใช้คำสั่ง C-y เพียงครั้งเดียวก็จะเรียกคืนข้อความกลับมาได้ทั้งหมด. | |
a933dad1 | 378 | |
4b725a70 | 379 | >> ลองใช้คำสั่ง C-k หลายๆ ครั้งดู. |
a933dad1 | 380 | |
4b725a70 | 381 | เพื่อที่จะเรียกคืนข้อความที่ถูกฆ่าไป: |
a933dad1 | 382 | |
4b725a70 PE |
383 | >> ลองใช้คำสั่ง C-y. แล้วเคลื่อนเคอร์เซอร์ลงไปสักสองสามบรรทัด, แล้วใช้คำสั่ง C-y |
384 | อีกครั้ง. ท่านจะเข้าใจวิธีการที่จะสำเนาข้อความ. | |
a933dad1 | 385 | |
4b725a70 PE |
386 | ท่านจะทำอย่างไรถ้าท่านต้องการจะเรียกคืนข้อความบางอย่าง, แล้วฆ่าบางอย่างออกไป? |
387 | คำสั่ง C-y จะเรียกคืนข้อความที่ถูกฆ่าล่าสุด. แต่ข้อความก่อนหน้านั้นยังคงเหลืออยู่. ท่าน | |
388 | สามารถจะเรียกคืนมาได้อีกโดยใช้คำสั่ง M-y. หลังจากที่ท่านได้เรียกคืนข้อความล่าสุดแล้ว, | |
389 | ใช้คำสั่ง M-y เพื่อที่จะเรียกคืนข้อความก่อนหน้านั้นมาแทนที่. การใช้คำสั่ง M-y แต่ละครั้ง | |
390 | จะเรียกคืนข้อความที่ถูกฆ่าไปในลำดับที่ย้อนกลับขึ้นไป. เมื่อท่านได้ข้อความที่ต้องการกลับคืนมา, | |
391 | ท่านก็ไม่จำเป็นที่จะต้องทำอะไรกับข้อความนั้นอีก. เพียงปล่อยอยู่อย่างนั้น, แล้วทำการแก้ไข | |
392 | ข้อความอื่นต่อไป. | |
a933dad1 | 393 | |
4b725a70 PE |
394 | ถ้าท่านใช้คำสั่ง M-y ด้วยจำนวนครั้งที่มากพอ, ท่านจะย้อนกลับมายังจุดเริ่มต้นอีกครั้ง |
395 | (ข้อความที่ถูกฆ่าไปล่าสุด). | |
a933dad1 | 396 | |
4b725a70 PE |
397 | >> ฆ่าหนึ่งบรรทัด, เคลื่อนเคอร์เซอร์ไป, ฆ่าอีกบรรทัด. |
398 | แล้วใช้คำสั่ง C-y เพื่อที่จะเรียกคืนบรรทัดที่ถูกฆ่าไปในครั้งที่สอง. | |
399 | แล้วใช้คำสั่ง M-y ซึ่งจะเรึยกคืนบรรทัดที่ถูกฆ่าไปในครั้งแรกมาแทนที่. | |
400 | ใช้คำสั่ง M-y อีก, แล้วดูว่าจะเกิดอะไรขึ้น. ลองทำไปเรื่อยๆ จนกว่าบรรทัดที่ถูกฆ่าไป | |
401 | ในครั้งที่สองจะกลับคืนมา, แล้วทำไปอีกสักระยะ. | |
402 | ถ้าท่านต้องการ, ท่านอาจจะลองกำกับตัวเลขอาร์กิวเมนต์ทั้งที่เป็นจำนวนบวกและลบให้กับ | |
403 | คำสั่ง M-y ดู. | |
a933dad1 DL |
404 | |
405 | ||
4b725a70 | 406 | * การทำย้อน (undo) |
a933dad1 DL |
407 | ------------------- |
408 | ||
4b725a70 PE |
409 | ถ้าท่านได้แก้ไขข้อความไป, และคิดว่าได้ทำผิดพลาดไป, ท่านสามารถทำย้อนสิ่งที่ได้ |
410 | เปลี่ยนแปลงไปแล้วด้วยคำสั่งการทำย้อน, C-x u. | |
a933dad1 | 411 | |
4b725a70 PE |
412 | โดยปรกติ, คำสั่ง C-x u ทำย้อนคำสั่งที่ได้ทำไปแล้วหนึ่งคำสั่ง; ถ้าท่านทำย้อนซ้ำติดต่อกัน, |
413 | การทำย้อนแต่ละครั้งจะย้อนคำสั่งไปทีละคำสั่ง. | |
a933dad1 | 414 | |
4b725a70 PE |
415 | แต่มีข้อยกเว้นอยู่สองประการ: คำสั่งที่ไม่เปลี่ยนแปลงข้อความจะไม่นับรวมอยู่ด้วย (นี่รวมถึง |
416 | คำสั่งการเคลื่อนเคอร์เซอร์และการเคลื่อนม้วน), และการแทรกตัวอักษรก็จะถูกจัดการโดยรวม | |
417 | เป็นกลุ่มที่ไม่เกิน 20 ตัวอักษรต่อกลุ่ม. (ทั้งนี้เพื่อลดจำนวนครั้งของคำสั่ง C-x u ในการทำ | |
418 | ย้อนการแทรกตัวอักษร.) | |
a933dad1 | 419 | |
4b725a70 | 420 | >> ฆ่าบรรทัดนี้ด้วยคำสั่ง C-k, แล้วป้อนคำสั่ง C-x u. บรรทัดที่ถูกฆ่าไปจะปรากฏกลับคืนมา. |
a933dad1 | 421 | |
4b725a70 PE |
422 | คำสั่ง C-_ เป็นอีกคำสั่งหนึ่งสำหรับการทำย้อน; คำสั่งนี้ทำงานเหมือนกับคำสั่ง C-x u, |
423 | แต่ว่าสะดวกกว่าในการป้อนหลายๆ ครั้งติดต่อกัน. ข้อเสียของคำสั่ง C-_ นี้คือในบาง | |
424 | แป้นพิมพ์, อาจจะไม่ทราบว่าจะป้อนคำสั่งได้อย่างไร. นั่นคือเหตุที่ทำให้เราต้องเตรียมคำสั่ง | |
425 | C-x u ให้อีกต่างหาก. ในเครื่องปลายทางบางชนิด,ท่านอาจจะป้อนคำสั่ง C-_ ได้โดยการกด | |
426 | อักขระ / ในขณะที่กดปุ่ม CONTROL. | |
a933dad1 | 427 | |
4b725a70 | 428 | ตัวเลขอาร์กิวเมนต์สำหรับคำสั่ง C-_ และ C-x u จะเป็นการซ้ำจำนวนครั้งของคำสั่ง. |
a933dad1 DL |
429 | |
430 | ||
4b725a70 | 431 | * แฟ้มข้อมูล (file) |
a933dad1 DL |
432 | ---------------- |
433 | ||
4b725a70 PE |
434 | เพื่อที่จะเก็บข้อความที่ได้แก้ไขไปนั้น, ท่านจะต้องเก็บข้อความนั้นไว้ในแฟ้มข้อมูล. ไม่เช่นนั้น |
435 | ข้อความก็จะหายไปเมื่อท่านเลิกใช้อีแมกส์. การที่จะเก็บข้อความนั้นลงในแฟ้มข้อมูล, ท่าน | |
436 | จะต้อง "ค้นหา (find)" แฟ้มข้อมูลก่อนที่จะเข้าไปในข้อความนั้นได้. (นี่เรียกว่า "การ | |
437 | เยือน (visiting)" แฟ้มข้อมูล.) | |
a933dad1 | 438 | |
4b725a70 PE |
439 | การค้นหาแฟ้มข้อมูลหมายถึงการที่ท่านได้เห็นเนื้อหาของแฟ้มข้อมูลภายในอีแมกส์. ในหลายๆ |
440 | ทาง, ดูเหมือนว่าท่านกำลังแก้ไขข้อมูลในแฟ้มข้อมูลอยู่. อย่างไรก็ตาม, การแก้ไขภายในอี | |
441 | แมกส์นั้นจะไม่คงอยู่จนกว่าท่านจะ "จัดเก็บ (save)" แฟ้มข้อมูลนั้น. นี่เป็นการช่วยให้ท่าน | |
442 | สามารถหลีกเลี่ยงการทำให้แฟ้มข้อมูลถูกแก้ไขไว้ครึ่งๆ กลางๆ ถ้าท่านไม่ได้ต้องการ. แม้ว่า | |
443 | ท่านจะทำการจัดเก็บไปแล้วก็ตาม, อีแมกส์ก็ยังคงเหลือแฟ้มข้อมูลต้นฉบับไว้โดยเก็บไว้ในชื่อ | |
444 | ใหม่, เผื่อไว้ในกรณีที่ท่านแก้ไขผิดพลาด. | |
a933dad1 | 445 | |
4b725a70 PE |
446 | ถ้าท่านสังเกตดูส่วนล่างของหน้าจอของอีแมกส์, ท่านจะเห็นบรรทัดที่เริ่มต้นและสิ้นสุดด้วย |
447 | เส้นประ. บรรทัดนั้นอาจจะเริ่มต้นด้วย "--:-- TUTORIAL" หรืออะไรทำนองนั้น. ส่วนนี้ | |
448 | ของหน้าจอ, โดยปรกติแล้ว, จะแสดงชื่อแฟ้มข้อมูลที่ท่านกำลังเยือนอยู่. ขณะนี้ท่านกำลัง | |
449 | เยือนแฟ้มข้อมูลที่ชื่อว่า "TUTORIAL.th" ซึ่งเป็นสำเนาของคู่มือการใช้อีแมกส์. เมื่อท่านได้ | |
450 | เยือนแฟ้มข้อมูลด้วยอีแมกส์, ชื่อของแฟ้มข้อมูลนั้นจะปรากฏในที่ที่ได้กล่าวไว้แล้ว. | |
a933dad1 | 451 | |
4b725a70 PE |
452 | ลักษณะพิเศษข้อหนึ่งของคำสั่งเยือนแฟ้มข้อมูลคือ ท่านจะต้องบอกชื่อของแฟ้มข้อมูลที่จะ |
453 | เยือน. เราเรียกลักษณะเช่นนี้ว่า "อ่านอาร์กิวเมนต์จากเครื่องปลายทาง" (ในกรณีนี้, อาร์ | |
454 | กิวเมนต์ก็คือชื่อของแฟ้มข้อมูล). หลังจากที่ท่านป้อนคำสั่ง | |
a933dad1 DL |
455 | |
456 | C-x C-f Find a file | |
457 | ||
4b725a70 PE |
458 | อีแมกส์จะถามชื่อแฟ้มข้อมูล. ชื่อแฟ้มข้อมูลที่ท่านป้อนเข้าไปจะปรากฏที่บรรทัดล่างของหน้าจอ. |
459 | บรรทัดล่างของหน้าจอเรียกว่ามินิบัฟเฟอร์ (minibuffer) เมื่อถูกใช้งานในลักษณะนี้. | |
460 | ท่านสามารถใช้คำสั่งที่ใช้ในการแก้ไขปรกติของอีแมกส์แก้ไขชื่อของแฟ้มข้อมูล. | |
a933dad1 | 461 | |
4b725a70 PE |
462 | ขณะที่ท่านกำลังป้อนชื่อแฟ้มข้อมูล (หรือข้อมูลใดๆ ในมินิบัฟเฟอร์นี้), ท่านสามารถ |
463 | ยกเลิกคำสั่งด้วยการใช้คำสั่ง C-g. | |
a933dad1 | 464 | |
4b725a70 PE |
465 | >> ป้อนคำสั่ง C-x C-f, แล้วป้อนคำสั่ง C-g. นี่เป็นการยกเลิกมินิบัฟเฟอร์, และ |
466 | ยกเลิกคำสั่ง C-x C-f ที่กำลังใช้มินิบัฟเฟอร์อยู่. ผลลัพธ์คือท่านจะไม่ได้เยือน | |
467 | แฟ้มข้อมูลใดๆ. | |
a933dad1 | 468 | |
4b725a70 PE |
469 | เมื่อท่านได้ป้อนชื่อแฟ้มข้อมูลเสร็จแล้ว, กดปุ่ม <Return> เพื่อที่จะสิ้นสุดคำสั่ง. แล้วคำสั่ง |
470 | C-x C-f ก็จะทำงาน, และจะเยือนแฟ้มข้อมูลที่ท่านได้เลือกไว้. มินิบัฟเฟอร์จะ | |
471 | หายไปเมื่อเสร็จสิ้นคำสั่ง C-x C-f. | |
a933dad1 | 472 | |
4b725a70 PE |
473 | หลังจากนั้นไม่นานเนื้อหาของแฟ้มข้อมูลก็จะปรากฏบนหน้าจอ, และท่านก็จะสามารถแก้ไข |
474 | เนื้อหาได้. เมื่อท่านต้องการจะแก้ไขข้อความอย่างถาวร, ก็ให้ใช้คำสั่ง | |
a933dad1 DL |
475 | |
476 | C-x C-s Save the file | |
477 | ||
4b725a70 PE |
478 | คำสั่งนี้จะทำสำเนาข้อความที่อยู่ในอีแมกส์เข้าไปเก็บไว้ในแฟ้มข้อมูล. ในการกระทำเช่นนี้ใน |
479 | ครั้งแรกสุด, อีแมกส์จะเปลี่ยนชื่อแฟ้มข้อมูลต้นฉบับเพื่อว่าจะได้คงไว้. ชื่อใหม่นั้นตั้งขึ้นโดย | |
480 | การเติม "~" เข้าไปท้ายชื่อแฟ้มข้อมูลต้นฉบับ. | |
a933dad1 | 481 | |
4b725a70 PE |
482 | เมื่อทำการจัดเก็บเรียบร้อยแล้ว, อีแมกส์จะพิมพ์ชื่อแฟ้มข้อมูลนั้น. ท่านควรจะจัดเก็บข้อมูล |
483 | บ่อยๆ, เพื่อว่าท่านจะได้ไม่ต้องเสียงานไปมากนักหากระบบเกิดขัดข้อง. | |
a933dad1 | 484 | |
4b725a70 PE |
485 | >> ป้อนคำสั่ง C-x C-s, เพื่อจัดเก็บสำเนาคู่มือการใช้ของท่าน. |
486 | จะปรากฏ "Write ...TUTORIAL.th" ที่บรรทัดล่างสุดของหน้าจอ. | |
a933dad1 | 487 | |
4b725a70 PE |
488 | ท่านสามารถจะเยือนแฟ้มข้อมูลที่มีอยู่แล้ว, เพื่อที่จะดูหรือแก้ไข. ท่านสามารถจะเยือน |
489 | แฟ้มข้อมูลที่ยังไม่ปรากฏก็ได้. นี่เป็นการสร้างแฟ้มข้อมูลใหม่ของอีแมกส์: เยือนแฟ้มข้อมูล, | |
490 | ซึ่งจะเริ่มต้นด้วยหน้าจอว่างเปล่า, แล้วทำการแทรกข้อความเพื่อที่จะสร้างเป็นแฟ้มข้อมูลต่อไป. | |
491 | เมื่อท่านสั่งให้ "จัดเก็บ (save)" แฟ้มข้อมูล, อีแมกส์จึงจะสร้างแฟ้มข้อมูลด้วยข้อความที่ | |
492 | ท่านได้ป้อนเข้าไป. จากนี้ไป, ท่านสามารถจะตัดสินใจลองแก้ไขแฟ้มข้อมูลที่มีอยู่แล้วได้. | |
a933dad1 DL |
493 | |
494 | ||
4b725a70 | 495 | * บัฟเฟอร์ (buffer) |
a933dad1 DL |
496 | ----------------- |
497 | ||
4b725a70 PE |
498 | ถ้าท่านเยือนอีกแฟ้มข้อมูลโดยใช้คำสั่ง C-x C-f, แฟ้มข้อมูลแรกจะยังคงอยู่ในอีแมกส์. ท่าน |
499 | สามารถจะสลับกลับไปได้อีกโดยใช้คำสั่ง C-x C-f. วิธีนี้จะทำให้ท่านสามารถเยือนแฟ้มข้อมูล | |
500 | ภายในอีแมกส์ได้จำนวนหนึ่ง. | |
a933dad1 | 501 | |
4b725a70 PE |
502 | >> สร้างแฟ้มข้อมูลและให้ชื่อว่า "foo" โดยการป้อนคำสั่ง C-x C-f foo <Return>. |
503 | แล้วป้อนข้อความ, แก้ไข, และจัดเก็บ "foo" โดยการป้อนคำสั่ง C-x C-s. | |
504 | สุดท้าย, ป้อนคำสั่ง C-x C-f TUTORIAL <Return> เพื่อจะได้ย้อนกลับมาที่ข้อความ | |
505 | ของคู่มือการใช้. | |
a933dad1 | 506 | |
4b725a70 PE |
507 | อีแมกส์เก็บข้อความของแต่ละแฟ้มข้อมูลภายในสิ่งๆ (object) หนึ่ง, ซึ่งเรียกว่า "บัฟเฟอร์ |
508 | (buffer)". การเยือนแฟ้มข้อมูลเป็นการสร้างบัฟเฟอร์ใหม่ภายในอีแมกส์. ในการที่จะดู | |
509 | รายการของบัฟเฟอร์ที่มีอยู่ในอีแมกส์นั้น, ให้ป้อนคำสั่ง: | |
a933dad1 DL |
510 | |
511 | C-x C-b List buffers | |
512 | ||
4b725a70 | 513 | >> ลองป้อนคำสั่ง C-x C-b ดู. |
a933dad1 | 514 | |
4b725a70 PE |
515 | ดูว่าแต่ละบัฟเฟอร์มีชื่อว่าอะไร, และบางอันก็เป็นชื่อของแฟ้มข้อมูลที่มีเนื้อหานั้นๆ อยู่. บาง |
516 | บัฟเฟอร์ไม่ได้เกี่ยวข้องกับแฟ้มข้อมูล. ตัวอย่างเช่น, บัฟเฟอร์ที่มีชื่อว่า "*Buffer List*" | |
517 | ไม่มีแฟ้มข้อมูลใดๆ ทั้งสิ้น. นี่เป็นบัฟเฟอร์ซึ่งบรรจุเนื้อหาของรายการของบัฟเฟอร์ที่ถูกสร้าง | |
518 | ด้วยคำสั่ง C-x C-b. ข้อความใดๆ ที่ท่านเห็นบนหน้าจอของอีแมกส์จะปรากฏอยู่เป็นส่วนหนึ่ง | |
519 | ของบัฟเฟอร์ใดบัฟเฟอร์หนึ่งเสมอ. | |
a933dad1 | 520 | |
4b725a70 | 521 | >> ลองใช้คำสั่ง C-x 1 เพื่อที่จะกำจัดรายการของบัฟเฟอร์. |
a933dad1 | 522 | |
4b725a70 PE |
523 | ถ้าท่านแก้ไขข้อความในแฟ้มข้อมูลหนึ่ง, แล้วเยือนอีกแฟ้มข้อมูลหนึ่ง, อีแมกส์ยังไม่ได้จัดเก็บ |
524 | ข้อความของแฟ้มข้อมูลแรก. ข้อความที่ถูกแก้ไขไปจะยังคงอยู่ในอีแมกส์, ในบัฟเฟอร์สำหรับ | |
525 | แฟ้มข้อมูลนั้น. การสร้างหรือการแก้ไขของบัฟเฟอร์สำหรับแฟ้มข้อมูลที่สองไม่ได้มีผลต่อ | |
526 | บัฟเฟอร์สำหรับแฟ้มข้อมูลที่หนึ่ง. นี่เป็นสิ่งที่มีประโยชน์มาก, แต่ก็หมายความว่าจะต้องมี | |
527 | วิธีการที่ดีในการจัดเก็บบัฟเฟอร์ของแฟ้มข้อมูลแรก. นี่ไม่ได้หมายความว่าจะต้องสลับกลับไป | |
528 | ยังแฟ้มข้อมูลแรกด้วยคำสั่ง C-x C-f ก่อน, เพื่อที่จะได้ใช้คำสั่ง C-x C-s ในการจัดเก็บ. | |
529 | ดังนั้นเราจึงเตรียมคำสั่ง | |
a933dad1 DL |
530 | |
531 | C-x s Save some buffers | |
532 | ||
4b725a70 PE |
533 | คำสั่ง C-x s จะถามท่านเกี่ยวกับบัฟเฟอร์ที่ได้รับการแก้ไขแต่ยังไม่ได้รับการจัดเก็บ. อี |
534 | แมกส์จะถามท่าน, สำหรับแต่ละบัฟเฟอร์ดังกล่าว, ว่าจะจัดเก็บหรือไม่. | |
a933dad1 | 535 | |
4b725a70 PE |
536 | >> แทรกข้อความสักหนึ่งบรรทัด, แล้วป้อนคำสั่ง C-x s. |
537 | อีแมกส์จะถามท่านว่าจะจัดเก็บบัฟเฟอร์ชื่อ TUTORIAL ไหม. | |
538 | ตอบว่าใช่โดยการป้อน "y". | |
a933dad1 DL |
539 | |
540 | ||
4b725a70 | 541 | * การเพิ่มชุดคำสั่ง |
a933dad1 DL |
542 | -------------- |
543 | ||
4b725a70 PE |
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 ลบหน้าจอทั้งหมดโดยคงอยู่ไว้หนึ่งหน้าจอ | |
a933dad1 | 584 | (Delete all but one window). |
4b725a70 | 585 | C-x u ทำย้อน (Undo). |
a933dad1 | 586 | |
4b725a70 PE |
587 | คำสั่งที่มีชื่อคำสั่งเสริมนี้เป็นคำสั่งที่ใช้ไม่ค่อยบ่อยนัก, หรือเป็นคำสั่งที่ใช้เฉพาะในบางโหมด |
588 | เท่านั้น. ตัวอย่างหนึ่งของคำสั่งนี้คือคำสั่งเปลี่ยนแทน-สายอักขระ (replace-string), | |
589 | ซึ่งเป็นการเปลี่ยนแทนสายอักขระหนึ่งด้วยอีกสายอักขระหนึ่งทั้งหมด. เมื่อท่านป้อนคำสั่ง M-x, | |
590 | อีแมกส์แสดง M-x ที่บรรทัดล่างสุดของหน้าจอ, ในที่นี้ท่านจะต้องพิมพ์ชื่อของคำสั่ง; ในกรณีนี้ | |
591 | คือ "replace-string". ท่านอาจจะพิมพ์ "repl s<TAB>" แล้วอีแมกส์จะเติมชื่อคำสั่งให้ | |
592 | เต็มเองได้. สิ้นสุดคำสั่งด้วยการกดปุ่ม <Return>. | |
a933dad1 | 593 | |
4b725a70 PE |
594 | คำสั่งเปลี่ยนแทน-สายอักขระ (replace-string) ต้องการสองอาร์กิวเมนต์--สายอักขระ |
595 | ที่จะถูกเปลี่ยนแทน, และสายอักขระที่จะใช้เปลี่ยนแทน. ท่านจะต้องสิ้นสุดการป้อนแต่ละอาร์ | |
596 | กิวเมนต์ด้วยการกดปุ่ม <Return>. | |
a933dad1 | 597 | |
4b725a70 PE |
598 | >> เคลื่อนเคอร์เซอร์ไปยังบรรทัดเปล่าที่อยู่ใต้บรรทัดนี้ไปสองบรรทัด. |
599 | แล้วป้อนคำสั่ง M-x repl s<Return>changed<Return>altered<Return>. | |
a933dad1 | 600 | |
4b725a70 PE |
601 | สังเกตดูการเปลี่ยนแปลงของบรรทัดนี้: ท่านได้เปลี่ยนแทนคำว่า c-h-a-n-g-e-d |
602 | ด้วยคำว่า "altered" ในทุกที่ที่ปรากฏตั้งแต่ตำแหน่งที่เคอร์เซอร์อยู่ปัจจุบัน. | |
a933dad1 DL |
603 | |
604 | ||
4b725a70 | 605 | * จัดเก็บอัตโนมัติ (auto save) |
a933dad1 DL |
606 | ------------------------- |
607 | ||
4b725a70 PE |
608 | เมื่อท่านได้แก้ไขแฟ้มข้อมูลแล้ว, แต่ท่านยังไม่ได้จัดเก็บ, แฟ้มข้อมูลเหล่านั้นอาจสูญหายได้ถ้า |
609 | เครื่องคอมพิวเตอร์ของท่านเกิดขัดข้อง. เพื่อป้องกันเหตุการณ์เช่นนี้, อีแมกส์ทำการเขียน | |
610 | ข้อความสำหรับแต่ละแฟ้มข้อมูลที่ท่านกำลังทำการแก้ไขอยู่ลงในแฟ้มข้อมูล "จัดเก็บอัตโนมัติ | |
611 | (auto save)". ชื่อของแฟ้มข้อมูลจัดเก็บอัตโนมัติ (auto save file) จะถูกตั้งใหม่ให้ | |
612 | มีอักขระ "#" อยู่ทั้งข้างหน้าและข้างหลังชื่อแฟ้มข้อมูลต้นฉบับ; ตัวอย่างเช่น, ถ้าชื่อของ | |
613 | แฟ้มข้อมูลนั้นเป็น "hello.c", ชื่อของแฟ้มข้อมูลจัดเก็บอัตโนมัติจะเป็น "#hello.c#". | |
614 | เมื่อท่านทำการจัดเก็บแฟ้มข้อมูลด้วยวิธีการปรกติแล้ว, อีแมกส์จะลบแฟ้มข้อมูลจัดเก็บอัตโนมัติ | |
615 | นั้นเสีย. | |
a933dad1 | 616 | |
4b725a70 PE |
617 | ถ้าเครื่องคอมพิวเตอร์เกิดขัดข้อง, ท่านสามารถกู้ (recover) จากแฟ้มข้อมูลจัดเก็บ |
618 | อัตโนมัตินั้นได้ด้วยการเยือนแฟ้มข้อมูลแบบปรกติ (แฟ้มข้อมูลที่ท่านกำลังแก้ไขอยู่, ไม่ใช่ | |
619 | แฟ้มข้อมูลจัดเก็บอัตโนมัติ), แล้วพิมพ์คำสั่ง M-x recover file<Return>. เมื่อมีการ | |
620 | ถามเพื่อการยืนยัน, พิมพ์คำว่า yes<Return> เพื่อดำเนินการต่อและทำการกู้ข้อมูลที่ถูก | |
621 | จัดเก็บอัตโนมัตินั้น. | |
a933dad1 DL |
622 | |
623 | ||
4b725a70 | 624 | * บริเวณสะท้อน (echo area) |
a933dad1 DL |
625 | ------------------------ |
626 | ||
4b725a70 PE |
627 | อีแมกส์อ่านคำสั่งประสม (multicharacter command) ขณะที่ท่านกำลังพิมพ์เข้าไปช้าๆ, |
628 | อีแมกส์จะแสดงคำสั่งต่างๆ ที่ท่านได้พิมพ์เข้าไปตรงส่วนล่างของหน้าจอตรงบริเวณที่เรียกว่า | |
629 | "บริเวณสะท้อน (echo area)". บริเวณสะท้อนคือบรรทัดล่างสุดของหน้าจอ. | |
a933dad1 DL |
630 | |
631 | ||
4b725a70 | 632 | * บรรทัดแสดงโหมด (mode line) |
a933dad1 DL |
633 | --------------------------- |
634 | ||
4b725a70 PE |
635 | บรรทัดที่อยู่เหนือบริเวณสะท้อนนั้นเรียกว่า "mode line". บรรทัดแสดงโหมดจะแสดง |
636 | ข้อความบางอย่างในลักษณะ: | |
a933dad1 DL |
637 | |
638 | --:** TUTORIAL (Fundamental)--L670--58%---------------- | |
639 | ||
4b725a70 PE |
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 เป็นคำสั่งในการสลับไปยัง | |
a933dad1 DL |
668 | Fundamental mode. |
669 | ||
4b725a70 | 670 | ถ้าท่านกำลังจะแก้ไขข้อความที่เป็นภาษาไทย, เช่นในแฟ้มข้อมูลนี้, ท่านควรจะใช้ |
a933dad1 DL |
671 | Thai-text mode. |
672 | >> M-x thai-text-mode<Return> | |
673 | ||
4b725a70 PE |
674 | ไม่ต้องกังวล, คำสั่งที่ท่านกำลังศึกษาอยู่นี้ไม่ได้ให้ผลกระทบมากนัก. แต่ท่านสามารถสังเกตได้ |
675 | ว่าคำสั่ง M-f และ M-b ถือว่าอักขระ apostrophe เป็นส่วนหนึ่งของคำ. ก่อนหน้านี้, ใน | |
676 | Fundamental mode, คำสั่ง M-f และ M-b ถือว่าอักขระ apostrophe เป็นตัวแบ่งคำ | |
a933dad1 DL |
677 | (word-separator). |
678 | ||
4b725a70 PE |
679 | โหมดหลักเหล่านี้จะให้ผลที่ต่างออกไปเล็กน้อยดังที่กล่าวแล้วข้างต้น: คำสั่งส่วนใหญ่ "ทำหน้าที่ |
680 | เหมือนกัน" แม้จะอยู่ในโหมดหลักที่ต่างกัน, แต่ให้ผลที่ต่างออกไปบ้างเล็กน้อย. | |
a933dad1 | 681 | |
4b725a70 | 682 | ใช้คำสั่ง C-h m เพื่ออ่านรายละเอียดของโหมดหลักปัจจุบันที่ท่านอยู่. |
a933dad1 | 683 | |
4b725a70 PE |
684 | >> ใช้คำสั่ง C-u C-v หนึ่งครั้งหรือมากกว่านั้นเพื่อที่จะขยับบรรทัดนี้ขึ้นไปยังส่วนบนของหน้าจอ. |
685 | >> ป้อนคำสั่ง C-h m, เพื่อดูว่า Text mode ต่างจาก Fundamental mode อย่างไร. | |
686 | >> ป้อนคำสั่ง C-x 1 เพื่อขจัดเอกสารชี้แจงออกจากหน้าจอ. | |
a933dad1 | 687 | |
4b725a70 PE |
688 | ที่เรียกว่าโหมดหลักนั้นก็เพราะว่ามีโหมดย่อย (minor mode) อีก. โหมดย่อยไม่ได้เป็น |
689 | ตัวเลือกในโหมดหลัก, เนื่องจากว่ามีการเปลี่ยนไปเพียงเล็กน้อยเท่านั้น. แต่ละโหมดย่อยสามารถ | |
690 | จะเปิดหรือปิดได้ภายในตัวเอง, คือแต่ละโหมดย่อยจะทำงานโดยอิสระจากกัน, และ | |
691 | เป็นอิสระจากโหมดหลักด้วย. ฉะนั้นท่านสามารถไม่ใช้โหมดย่อยเลย, หรือหนึ่งโหมดย่อย, หรือ | |
692 | โหมดย่อยหลายๆ โหมดผสมกันก็ได้. | |
a933dad1 | 693 | |
4b725a70 PE |
694 | โหมดย่อยที่มีประโยชน์มาก, โดยเฉพาะสำหรับใช้แก้ไขข้อความที่เป็นภาษาอังกฤษ, คือ |
695 | โหมดจัดบรรทัดอัตโนมัติ (Auto Fill). เมื่อโหมดนี้ทำงาน, อีแมกส์จะแบ่งบรรทัดระหว่าง | |
696 | คำอัตโนมัติ, ทันทีที่ท่านแทรกข้อความและทำให้บรรทัดนั้นยาวเกินไป. | |
a933dad1 | 697 | |
4b725a70 PE |
698 | ท่านสามารถเปิดโหมดจัดบรรทัดอัตโนมัติได้โดยการใช้คำสั่ง M-x auto fill |
699 | mode<Return>. เมื่อโหมดนี้ทำงานอยู่, ท่านสามารถปิดโหมดนี้ได้โดยการใช้คำสั่ง M-x | |
700 | auto fill mode<Return>. ถ้าโหมดนี้ปิดอยู่, คำสั่งนี้จะเปิดโหมดให้ทำงาน, และถ้า | |
701 | โหมดนี้เปิดอยู่, คำสั่งนี้ก็จะปิดโหมด. คือพูดได้ว่าคำสั่งนี้ "toggles the mode". | |
a933dad1 | 702 | |
4b725a70 PE |
703 | >> ป้อนคำสั่ง M-x auto fill mode<Return> ดู. แล้วป้อน "asdf " ซ้ำๆ กันไปจน |
704 | ท่านเห็นว่าบรรทัดนั้นถูกแบ่งออกเป็นสองบรรทัด. ท่านต้องใส่เว้นวรรคเพราะว่าการจัด | |
705 | บรรทัดอัตโนมัติจะแบ่งบรรทัดตรงเว้นวรรคเท่านั้น. | |
a933dad1 | 706 | |
4b725a70 PE |
707 | ขอบเผื่อ (margin) โดยมากจะตั้งให้ที่ 70 ตัวอักษร, แต่ท่านก็สามารถเปลี่ยนด้วยคำสั่ง |
708 | C-x f. ท่านควรตั้งขอบเผื่อด้วยตัวเลขอาร์กิวเมนต์ตามที่ท่านต้องการ. | |
a933dad1 | 709 | |
4b725a70 PE |
710 | >> ป้อนคำสั่ง C-x f พร้อมด้วยอาร์กิวเมนต์ 20. (C-u 2 0 C-x f). |
711 | แล้วป้อนข้อความและจะเห็นว่าอีแมกส์จัดบรรทัดที่มีขนาด 20 ตัวอักษร. แล้วตั้งขอบ | |
712 | เผื่อเป็น 70 โดยใช้คำสั่ง C-x f อีกครั้ง. | |
a933dad1 | 713 | |
4b725a70 PE |
714 | ถ้าท่านทำการเปลี่ยนแปลงตรงกลางย่อหน้า, โหมดจัดบรรทัดอัตโนมัติจะไม่จัดบรรทัดใหม่ |
715 | (re-fill) ให้ท่าน. ถ้าจะจัดบรรทัดใหม่ให้กับย่อหน้านั้น, ให้ป้อนคำสั่ง M-q (META-q) | |
716 | โดยวางตำแหน่งเคอร์เซอร์ไว้ภายในย่อหน้านั้น. | |
a933dad1 | 717 | |
4b725a70 | 718 | >> เคลื่อนเคอร์เซอร์เข้าไปยังย่อหน้าข้างบน, แล้วป้อนคำสั่ง M-q. |
a933dad1 DL |
719 | |
720 | ||
4b725a70 | 721 | * การสืบค้น (searching) |
a933dad1 DL |
722 | --------------------- |
723 | ||
4b725a70 PE |
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) | |
a933dad1 DL |
777 | -------------------------------------- |
778 | ||
4b725a70 PE |
779 | ลักษณะที่น่าสนใจอันหนึ่งของอีแมกส์ก็คือ, ท่านสามารถแสดงผลได้มากกว่าหนึ่งวินโดว์บนหนึ่ง |
780 | หน้าจอในเวลาเดียวกัน. | |
a933dad1 | 781 | |
4b725a70 | 782 | >> เคลื่อนเคอร์เซอร์มาที่บรรทัดนี้, แล้วป้อนคำสั่ง C-u 0 C-l. |
a933dad1 | 783 | |
4b725a70 PE |
784 | >> ต่อไป, ป้อนคำสั่ง C-x 2 ซึ่งจะแบ่งหน้าจอออกเป็นสองวินโดว์. |
785 | ทั้งสองวินโดว์แสดงคู่มือการใช้นี้. เคอร์เซอร์ปรากฏอยู่ในวินโดว์บน. | |
a933dad1 | 786 | |
4b725a70 PE |
787 | >> ป้อนคำสั่ง C-M-v เพื่อเคลื่อนม้วนวินโดว์ข้างล่าง. |
788 | (ถ้าท่านไม่มีปุ่ม META, ป้อนคำสั่ง ESC C-v แทน.) | |
a933dad1 | 789 | |
4b725a70 PE |
790 | >> ป้อนคำสั่ง C-x o ("o" หมายถึง "other") เพื่อเคลื่อนเคอร์เซอร์มายังวินโดว์ล่าง. |
791 | >> ใช้คำสั่ง C-v และ M-v ในวินโดว์ล่างเพื่อที่จะเคลื่อนม้วน. | |
792 | อ่านคำแนะนำนี้ด้วยวินโดว์บน. | |
a933dad1 | 793 | |
4b725a70 PE |
794 | >> ป้อนคำสั่ง C-x o อีกครั้งเพื่อที่จะเคลื่อนเคอร์เซอร์กลับไปวินโดว์บน. |
795 | เคอร์เซอร์ในวินโดว์บนจะปรากฏตรงที่ที่เคยปรากฏ. | |
a933dad1 | 796 | |
4b725a70 PE |
797 | ท่านสามารถใช้คำสั่ง C-x o เพื่อสลับไปมาระหว่างวินโดว์. แต่ละวินโดว์มีตำแหน่งของ |
798 | เคอร์เซอร์ของตัวเอง, แต่จะมีเพียงวินโดว์เดียวเท่านั้นที่แสดงตัวเคอร์เซอร์. ทุกคำสั่งก็จะ | |
799 | มีผลต่อวินโดว์ที่มีเคอร์เซอร์ปรากฏอยู่เท่านั้น. เราเรียกวินโดว์นี้ว่า "วินโดว์ที่ถูกเลือก | |
a933dad1 DL |
800 | (selected window)". |
801 | ||
4b725a70 PE |
802 | คำสั่ง C-M-v มีประโยชน์มากเมื่อท่านกำลังแก้ไขข้อความบนวินโดว์หนึ่ง, และดูอีกวินโดว์หนึ่ง |
803 | เพื่อการอ้างอิง. ท่านสามารถให้เคอร์เซอร์ปรากฏบนวินโดว์ที่ท่านกำลังแก้ไขอยู่ตลอดเวลา, | |
804 | แล้วเคลื่อนตำแหน่งของอีกวินโดว์หนึ่งด้วยคำสั่ง C-M-v. | |
a933dad1 | 805 | |
4b725a70 PE |
806 | คำสั่ง C-M-v เป็นตัวอย่างหนึ่งของคำสั่งประสม CONTROL-META. ถ้าท่านมีปุ่ม META, |
807 | ท่านสามารถป้อนคำสั่ง C-M-v โดยการกดปุ่ม CONTROL และ META ขณะที่กดปุ่มอักขระ | |
808 | v. ไม่ว่าจะกดปุ่ม CONTROL หรือ META ก่อนก็ไม่มีปัญหาอะไร, เพราะว่าทั้งสองปุ่มเป็นปุ่ม | |
809 | ขยายของปุ่มอักขระที่ท่านจะกด. | |
a933dad1 | 810 | |
4b725a70 PE |
811 | ถ้าท่านไม่มีปุ่ม META, และท่านใช้ปุ่ม ESC แทน, ลำดับของการกดปุ่มจะมีผลต่อการทำงาน: |
812 | ท่านต้องกดปุ่ม ESC แล้วตามด้วยคำสั่ง CONTROL-v, เพราะว่าคำสั่ง CONTROL-ESC v จะไม่ | |
813 | ทำงาน. ทั้งนี้เพราะว่าปุ่ม ESC เป็นอักขระตัวหนึ่ง, ไม่ใช่ปุ่มขยาย. | |
a933dad1 | 814 | |
4b725a70 | 815 | >> ป้อนคำสั่ง C-x 1 (ในวินโดว์บน) เพื่อกำจัดวินโดว์ล่าง. |
a933dad1 | 816 | |
4b725a70 PE |
817 | (ถ้าท่านป้อนคำสั่ง C-x 1 ในวินโดว์ล่าง, วินโดว์บนก็จะหายไป. ท่านสามารถจำ |
818 | คำสั่งนี้ได้โดยคิดว่า "เหลือไว้เพียงหนึ่งวินโดว์--วินโดว์ที่อยู่ในขณะนี้.") | |
a933dad1 | 819 | |
4b725a70 PE |
820 | ท่านไม่จำเป็นต้องแสดงผลของบัฟเฟอร์เดียวกันบนทั้งสองวินโดว์. ถ้าท่านใช้คำสั่ง C-x C-f |
821 | เพื่อค้นหาแฟ้มข้อมูลในวินโดว์หนึ่ง, อีกวินโดว์หนึ่งจะไม่เปลี่ยนแปลง. ท่านสามารถค้นหา | |
822 | แฟ้มข้อมูลในแต่ละวินโดว์ได้อิสระต่อกัน. | |
a933dad1 | 823 | |
4b725a70 | 824 | ต่อไปเป็นอีกวิธีหนึ่งของการใช้สองวินโดว์สำหรับแสดงผลของสองสิ่งที่ต่างกัน: |
a933dad1 | 825 | |
4b725a70 PE |
826 | >> ป้อนคำสั่ง C-x 4 C-f แล้วตามด้วยชื่อแฟ้มข้อมูล. สิ้นสุดคำสั่งด้วยการกดปุ่ม |
827 | <Return>. จะเห็นว่ามีแฟ้มข้อมูลที่ต้องการปรากฏอยู่ในวินโดว์ล่าง. เคอร์เซอร์ก็จะไป | |
828 | ปรากฏที่วินโดว์นั้นด้วย. | |
a933dad1 | 829 | |
4b725a70 | 830 | >> ป้อนคำสั่ง C-x o เพื่อกลับไปยังวินโดว์บน, แล้วป้อนคำสั่ง C-x 1 เพื่อกำจัดวินโดว์ล่าง. |
a933dad1 DL |
831 | |
832 | ||
4b725a70 | 833 | * ระดับของการแก้ไขแบบเรียกซ้ำ (recursive editing levels) |
a933dad1 DL |
834 | ------------------------------------------------------- |
835 | ||
4b725a70 PE |
836 | บางครั้งท่านอาจจะเข้าไปอยู่ใน "ระดับของการแก้ไขแบบการเรียกซ้ำ (recursive editing |
837 | level)". สภาพดังกล่าวเช่นนี้แสดงด้วยวงเล็บก้ามปูในบรรทัดแสดงโหมด, ล้อมรอบวงเล็บที่ | |
838 | แสดงชื่อของโหมดหลัก. ตัวอย่างเช่น, ท่านอาจจะเห็น [(Fundamental)] แทนที่จะเป็น | |
a933dad1 DL |
839 | (Fundamental). |
840 | ||
4b725a70 PE |
841 | ในการที่จะออกจากระดับของการแก้ไขแบบเรียกซ้ำ, กดปุ่ม ESC ESC ESC. นี่เป็น |
842 | คำสั่งที่ใช้ได้ทั่วไปในการออกจากระดับใดๆ ของการประมวลผล. ท่านสามารถใช้คำสั่งนี้ใน | |
843 | การกำจัดวินโดว์พิเศษอื่นๆ, รวมทั้งการออกจากมินิบัฟเฟอร์ (minibuffer). | |
a933dad1 | 844 | |
4b725a70 PE |
845 | >> ป้อนคำสั่ง M-x เพื่อเข้าไปในมินิบัฟเฟอร์; กดปุ่ม ESC ESC ESC เพื่อออกจาก |
846 | มินิบัฟเฟอร์นั้น. | |
a933dad1 | 847 | |
4b725a70 PE |
848 | ท่านไม่สามารถใช้คำสั่ง C-g เพื่อออกจากระดับของการแก้ไขแบบเรียกซ้ำ. |
849 | เพราะว่าคำสั่ง C-g ใช้เพื่อยกเลิกคำสั่งและอาร์กิวเมนต์ภายในระดับของการแก้ไขแบบ | |
850 | เรียกซ้ำ. | |
a933dad1 DL |
851 | |
852 | ||
4b725a70 | 853 | * การเรียกดูข้อความช่วยเหลือเพิ่มเติม (getting more help) |
a933dad1 DL |
854 | ------------------------------------------------- |
855 | ||
4b725a70 PE |
856 | ในคู่มือนี้เราพยายามที่จะให้ข้อมูลที่เพียงพอสำหรับการเริ่มใช้อีแมกส์. ยังคงมีข้อมูลอีกมากใน |
857 | อีแมกส์ซึ่งเราไม่สามารถที่จะนำมาอธิบายไว้ในที่นี้ได้ทั้งหมด. อย่างไรก็ตาม, ท่านอาจต้องการ | |
858 | เรียนรู้เกี่ยวกับอีแมกส์เพิ่มเติมเพราะอีแมกส์ยังมีคุณสมบัติอีกมากมาย. อีแมกส์ได้เตรียมคำสั่ง | |
859 | สำหรับเรียกดูเนื้อหาเกี่ยวกับคำสั่งของอีแมกส์. คำสั่ง "ช่วยเหลือ (help)" ทั้งหมดเริ่มด้วย | |
860 | อักขระ CONTROL-h, ซึ่งเรียกว่า "อักขระช่วยเหลือ (the Help character)". | |
a933dad1 | 861 | |
4b725a70 PE |
862 | ในการที่จะใช้คุณสมบัติช่วยเหลือ, ป้อนอักขระ C-h, แล้วตามด้วยอีกหนึ่งอักขระเพื่อบอกว่า |
863 | ท่านต้องการคำช่วยเหลืออะไร. ถ้าท่านไม่ทราบว่าจะทำอะไรต่อไป, ป้อนคำสั่ง C-h ? แล้ว | |
864 | อีแมกส์จะบอกท่านว่ามีคำช่วยอะไรที่อีแมกส์สามารถจะให้ได้. ถ้าท่านป้อนคำสั่ง C-h แล้ว | |
865 | ต้องการยกเลิกท่าน, ก็สามารถยกเลิกได้โดยใช้คำสั่ง C-g. | |
a933dad1 | 866 | |
4b725a70 PE |
867 | (ในบางระบบนั้น, ความหมายของอักขระ C-h ได้ถูกเปลี่ยนไป. ซึ่งโดยความเป็นจริงแล้วไม่ |
868 | ควรจะทำเช่นนี้, ทั้งนี้ท่านอาจจะชี้แจงต่อผู้ดูแลระบบได้. สำหรับการแก้ปัญหาเฉพาะหน้า, ถ้า | |
869 | คำสั่ง C-h ไม่ได้แสดงข้อความเกี่ยวกับคำช่วยเหลือที่ส่วนล่างของหน้าจอนั้น, ให้ลองกดปุ่ม F1 | |
870 | หรือ M-x help<Return> แทน.) | |
a933dad1 | 871 | |
4b725a70 PE |
872 | คุณสมบัติเบื้องต้นของคำสั่งช่วยเหลือคือคำสั่ง C-h c. ลองป้อนคำสั่ง C-h, อักขระ c, แล้ว |
873 | ตามด้วยอักขระหรือสายอักขระ; แล้วอีแมกส์จะแสดงคำอธิบายของคำสั่งนั้นโดยสังเขป. | |
a933dad1 | 874 | |
4b725a70 PE |
875 | >> ป้อนคำสั่ง C-h c CONTROL-p. |
876 | ข้อความที่ปรากฏจะเป็นดังต่อไปนี้ | |
a933dad1 DL |
877 | |
878 | C-p runs the command previous-line | |
879 | ||
4b725a70 PE |
880 | นี่เป็นการบอก "ชื่อฟังก์ชันของคำสั่ง" นั้น. ชื่อของฟังก์ชันใช้เพื่อการปรับและแต่งเติมอีแมกส์. |
881 | แต่เนื่องจากชื่อของฟังก์ชันนั้นตั้งเพื่อชี้บอกว่าคำสั่งนั้นทำงานอย่างไร, ซึ่งอาจเป็นตัวช่วยบอก | |
882 | คำอธิบายโดยสังเขปได้--อาจเพียงพอที่จะเตือนให้ท่านนึกถึงคำสั่งที่ต้องการได้. | |
a933dad1 | 883 | |
4b725a70 PE |
884 | คำสั่งที่ประกอบด้วยหลายอักขระ เช่นคำสั่ง C-x C-s และ (ถ้าท่านไม่มีปุ่ม META หรือ |
885 | EDIT หรือ ALT) คำสั่ง <ESC>v สามารถใช้ตามหลังคำสั่ง C-h c. | |
a933dad1 | 886 | |
4b725a70 | 887 | การที่จะเรียกดูข้อมูลเพิ่มเกี่ยวกับคำสั่ง, ให้ใช้คำสั่ง C-h k แทนคำสั่ง C-h c. |
a933dad1 | 888 | |
4b725a70 | 889 | >> ป้อนคำสั่ง C-h k CONTROL-p. |
a933dad1 | 890 | |
4b725a70 PE |
891 | นี่เป็นการแสดงผลคำอธิบายของฟังก์ชัน, พร้อมกับชื่อของคำสั่งนั้น, ในวินโดว์หนึ่งของอีแมกส์. |
892 | เมื่อท่านอ่านเสร็จแล้ว, ป้อนคำสั่ง C-x 1 เพื่อกำจัดข้อความของคำช่วยเหลือ. ท่านไม่ | |
893 | จำเป็นที่จะต้องทำทันที. ท่านอาจทำการแก้ไขขณะที่ดูข้อความคำช่วยเหลือนั้นอยู่, แล้ว | |
894 | ค่อยป้อนคำสั่ง C-x 1. | |
a933dad1 | 895 | |
4b725a70 | 896 | ต่อไปนี้เป็นตัวเลือกที่เป็นประโยชน์: |
a933dad1 | 897 | |
4b725a70 | 898 | C-h f อธิบายฟังก์ชัน. พิมพ์ชื่อฟังก์ชันที่ต้องการทราบตามลงไป. |
a933dad1 | 899 | |
4b725a70 PE |
900 | >> ลองป้อนคำสั่ง C-h f previous-line<Return>. |
901 | นี่เป็นการที่จะทำให้อีแมกส์พิมพ์ข้อมูลทั้งหมดที่มีเกี่ยวกับฟังก์ชันของคำสั่ง C-p. | |
a933dad1 | 902 | |
4b725a70 PE |
903 | C-h a คำสั่งความที่เหมาะสม (Command Apropos). ป้อนคำหลัก (keyword) |
904 | แล้วอีแมกส์จะแสดงรายการของคำสั่งทั้งหมดที่มีคำหลักประกอบอยู่. | |
905 | คำสั่งเหล่านี้จะเรียกใช้ได้ด้วยคำสั่ง META-x. | |
906 | สำหรับบางคำสั่ง, คำสั่งความที่เหมาะสม (Command Apropos) จะ | |
907 | แสดงรายการของคำสั่งที่ประกอบด้วยหนึ่งหรือสองสายอักขระที่ใช้เรียก | |
908 | คำสั่งเดียวกันด้วย. | |
a933dad1 | 909 | |
4b725a70 | 910 | >> ป้อนคำสั่ง C-h a file<Return>. |
a933dad1 | 911 | |
4b725a70 PE |
912 | นี่เป็นการแสดงรายการของคำสั่งประกอบของ M-x กับ "file" ในชื่อของคำสั่ง |
913 | ทั้งหมดในอีกหน้าจอ. ท่านจะเห็นคำสั่งประกอบอักขระ (character-command) เช่น C-x | |
914 | C-f แสดงอยู่กับชื่อของคำสั่งนั้นๆ เช่น find-file. | |
a933dad1 | 915 | |
4b725a70 PE |
916 | >> ป้อนคำสั่ง C-M-v เพื่อเคลื่อนม้วนวินโดว์คำช่วยเหลือ (help window). ลองทำดูสัก |
917 | สองสามครั้ง. | |
a933dad1 | 918 | |
4b725a70 | 919 | >> ป้อนคำสั่ง C-x 1 เพื่อกำจัดวินโดว์คำช่วยเหลือ. |
a933dad1 DL |
920 | |
921 | ||
4b725a70 | 922 | * สรุป |
a933dad1 DL |
923 | ----- |
924 | ||
4b725a70 PE |
925 | สิ่งควรจำไว้คือ, คำสั่ง C-x C-c ใช้สำหรับออกจากอีแมกส์อย่างถาวร. ถ้าต้องการออกไปยัง |
926 | เชลล์ชั่วคราว, และสามารถกลับมายังอีแมกส์ได้อีกนั้น, ให้ใช้คำสั่ง C-z. | |
a933dad1 | 927 | |
4b725a70 PE |
928 | คู่มือการใช้นี้มีเจตนาให้ผู้ที่เพิ่งเริ่มใช้ทั้งหลายสามารถเข้าใจได้, ดังนั้นถ้าท่านพบบางสิ่งที่ไม่ |
929 | ชัดเจน, ไม่ต้องนั่งตำหนิตัวเอง - สอบถามมาได้เลย! | |
a933dad1 DL |
930 | |
931 | ||
4b725a70 | 932 | * การทำสำเนา (copying) |
a933dad1 DL |
933 | ---------------------- |
934 | ||
4b725a70 | 935 | คู่มือนี้ได้รับการพัฒนามาเป็นระยะเวลานาน, เริ่มตั้งแต่ต้นฉบับที่เขียนโดย Stuart Cracraft. |
a933dad1 | 936 | |
4b725a70 PE |
937 | คู่มือเวอร์ชันนี้, เช่นเดียวกับ GNU Emacs, ได้รับการสงวนสิทธิ์, และผนวกไว้ในเงื่อนไขใน |
938 | การเผยแพร่ด้วย: | |
a933dad1 | 939 | |
4b725a70 | 940 | สงวนลิขสิทธิ์ พ.ศ. 2528, 2529 โดยฟรีซอฟต์แวร์ฟาวน์เดชัน (Free Software Foundation) |
a933dad1 | 941 | |
4b725a70 PE |
942 | ทุกท่านมีสิทธิ์ในการทำสำเนาหรือเผยแพร่เอกสารนี้, ในทุกสื่อ, โดยต้องแนบข้อความแสดง |
943 | สิทธิ์และการอนุญาตนี้ไปพร้อมด้วย. ทั้งนี้เพื่อชี้ให้เห็นว่าผู้เผยแพร่ได้อนุญาตให้ผู้ที่ได้รับ | |
944 | สามารถทำการเผยแพร่ต่อไปได้โดยอาศัยข้อความในเอกสารนี้. | |
a933dad1 | 945 | |
4b725a70 PE |
946 | การอนุญาตนั้นได้รวมถึงสิทธิ์ในการเผยแพร่เวอร์ชันที่ปรับปรุงแล้ว, หรือส่วนหนึ่งของ |
947 | เอกสารนี้, ภายใต้เงื่อนไขข้างบน, ตลอดจนสิทธิ์ในการบอกว่าใครเป็นผู้ปรับปรุงล่าสุด. | |
a933dad1 | 948 | |
4b725a70 PE |
949 | เงื่อนไขของการทำสำเนาอีแมกส์จะซับซ้อนมากกว่านี้, แต่มีเจตนารมณ์ที่เหมือนกัน. กรุณา |
950 | อ่านแฟ้มข้อมูล COPYING แล้วเผยแพร่สำเนาของ GNU Emacs ไปยังเพื่อนๆ ของท่านด้วย. | |
951 | ช่วยกันทำลายระบบหวงซอฟต์แวร์ ("แสดงความเป็นเจ้าข้าวเจ้าของ") ด้วยการใช้, | |
952 | การเขียน, และการเป็นเจ้าของร่วมกันของซอฟต์แวร์เสรี (free software). | |
a933dad1 DL |
953 | |
954 | ||
4b725a70 | 955 | * ต้นฉบับว่าด้วยเรื่องการทำสำเนา |
a933dad1 DL |
956 | -------------------------- |
957 | ||
4b725a70 PE |
958 | ต่อไปนี้เป็นเอกสารว่าด้วยเรื่องการทำสำเนาที่เป็นต้นฉบับ. เอกสารนี้ปรากฏอยู่ในคู่มือการใช้ |
959 | อีแมกส์ฉบับภาษาอังกฤษ, ซึ่งเป็นต้นฉบับของเอกสารแปลฉบับนี้ด้วย. | |
a933dad1 DL |
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 | ||
ab422c4d | 967 | Copyright (C) 1985, 1996, 2001-2013 Free Software Foundation, Inc. |
a933dad1 DL |
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 | ||
4b725a70 | 986 | * คำส่งท้าย |
a933dad1 DL |
987 | --------- |
988 | ||
4b725a70 PE |
989 | คู่มือฉบับนี้ได้แปลจากต้นฉบับที่เป็นภาษาอังกฤษ, ซึ่งจะปรากฏอยู่ในอีแมกส์เวอร์ชัน 20.4. |
990 | ผู้แปลได้ทำการแปลขึ้นมาใหม่เนื่องจากฉบับเก่าที่เป็นภาษาไทย, ซึ่งแปลโดย ดร.มานพ วงศ์ | |
991 | สายสุวรรณ, ได้อิงคู่มือของอีแมกส์เวอร์ชันเก่า, และขณะนี้อีแมกส์เวอร์ชัน 20.4 ก็ได้ | |
992 | เปลี่ยนแปลงไปมากแล้ว. นอกจากนี้, ผู้แปลยังได้นำเครื่องหมายวรรคตอนมาใช้ในที่นี้ด้วย, | |
993 | ทั้งนี้ก็เพื่อที่จะเขียนให้ได้ความที่ชัดเจน. หวังเป็นอย่างยิ่งว่าคู่มือฉบับนี้จะเป็นประโยชน์ | |
994 | และจะได้รับการแก้ไขให้ดียิ่งๆ ขึ้นอีกต่อๆ ไป. ขอขอบคุณ คุณทัศนีย์ เจริญพร ที่ให้ความ | |
995 | ช่วยเหลือตรวจสอบต้นฉบับ. | |
a933dad1 | 996 | |
4b725a70 PE |
997 | 22 มกราคม 2542 |
998 | วิรัช ศรเลิศล้ำวาณิช | |
a933dad1 DL |
999 | virach@nectec.or.th |
1000 | ||
1001 | Translate - January 1999 by Virach Sornlertlamvanich | |
1002 | ||
06e2fd48 | 1003 | ;;; Local Variables: |
5c592c9a | 1004 | ;;; sentence-end-double-space: nil |
4b725a70 | 1005 | ;;; coding: utf-8 |
06e2fd48 | 1006 | ;;; End: |