diff etc/TUTORIAL.th @ 422:95016f13131a r21-2-19

Import from CVS: tag r21-2-19
author cvs
date Mon, 13 Aug 2007 11:25:01 +0200
parents 697ef44129c6
children
line wrap: on
line diff
--- a/etc/TUTORIAL.th	Mon Aug 13 11:24:10 2007 +0200
+++ b/etc/TUTORIAL.th	Mon Aug 13 11:25:01 2007 +0200
@@ -1,669 +1,669 @@
 		      ==============================
-		      GNUEMACS ,T@RIR0-Uh10;Xh19(B (Mule) ,T`0:Wi1M'05i19(B
+		      GNUEMACS ภาษาญี่ปุ่น (Mule) เบื้องต้น
 		      ==============================
 
-,TKARB`K05X1(B:       ,T`M!JRC)0:Q1:`0:Wi1M'05i1909Ui1(B 0,T6Y1!`0"U1B90"Vi19b4B0BV14K0EQ1!07Uh10Gh1R(B ",TEM'`0Eh19`EB04U1!0Gh1R`0CU1B90CYi1(B"
-               ,T:CC07Q1407Uh1`0CTh1A05i1904i1GB(B ">>" ,T(P0AU1$S0JQh1'0Gh1R(B 0,T5h1Md;(Pc0Ki17SMPdC(B
+หมายเหตุ:       เอกสารฉบับเบื้องต้นนี้ ถูกเขียนขึ้นโดยยึดหลักที่ว่า "ลองเล่นเลยดีกว่าเรียนรู้"
+               บรรทัดที่เริ่มต้นด้วย ">>" จะมีคำสั่งว่า ต่อไปจะให้ทำอะไร
 
-     ,Tb4B07Qh1Gd;(B ,T!RC0;i1M9$S0JQh1'c0Ki10!Q1:(B Mule ,T7Sd04i1b4Bc0*i1(B 0,T;Xh1A$M9b7CE(B (0,T;Xh1A07Uh1:9K09i1R0JQ1A0<Q1J(B ,T`0"U1B9d0Gi1(B
-0,TGh1R(B CTRL ,TK0CW1M(B CTL) ,TK0CW1M(B 0,T;Xh1A(B META (,Tb4B;!05T1(B ,TKARB06V1'0;Xh1A(B ESC)  ,Tc907Uh109Ui1(B ,T`CR(Pc0*i10JQ1-0EQ1!I03l105h1Md;(B
-0,T9Ui1(B ,Ta79!RC`0"U1B9`05g1A(B ,Tf(B 0,TGh1R(B CONTROL ,TK0CW1M(B META
+     โดยทั่วไป การป้อนคำสั่งให้กับ Mule ทำได้โดยใช้ ปุ่มคอนโทรล (ปุ่มที่บนหน้าสัมผัส เขียนไว้
+ว่า CTRL หรือ CTL) หรือ ปุ่ม META (โดยปกติ หมายถึงปุ่ม ESC)  ในที่นี้ เราจะใช้สัญลักษณ์ต่อไป
+นี้ แทนการเขียนเต็ม ๆ ว่า CONTROL หรือ META
 
-C-<0,T5Q1G0MQ1!IC(B>     ,TKARB06V1'(B ,Tc0Ki1!40;Xh1A$M9b7CE0$i1R'd0Gi1(B ,Ta0Ei1G!40;Xh1A(B <0,T5Q1G0MQ1!IC(B>   0,T5Q1GM0Bh1R'`0*h19(B C-f
-               ,TKARB06V1'(B ,Tc0Ki1!40;Xh1A$M9b7CE0$i1R'd0Gi1(B ,Ta0Ei1G!40;Xh1A(B f
+C-<ตัวอักษร>     หมายถึง ให้กดปุ่มคอนโทรลค้างไว้ แล้วกดปุ่ม <ตัวอักษร>   ตัวอย่างเช่น C-f
+               หมายถึง ให้กดปุ่มคอนโทรลค้างไว้ แล้วกดปุ่ม f
 <<Blank lines inserted here by startup of help-with-tutorial>>
-       >> ,T5M909Ui1"Mc0Ki1EM'!4(B C-v (View Next Screen 0,T4Y1K09i1R05h1Md;(B) 0,T4Y1(B  ,T`0>Wh1M`0EWh1M9d;0Mh1R9K09i1R(B
-          0,T5h1Md;(B
-          0,T5h1M(R!09Ui1`0;g1905i19d;(B  0,T7X1!$0CQi1'07Uh10Mh1R9K09i1RK09Vh1'(B ,Tf(B ,T(:"Mc0Ki17Sc97S9M'`04U1BG0!Q19(B ,T`0>Wh1M`0EWh1M9d;(B
-          0,T4Y1K09i1R05h1Md;(B
+       >> ตอนนี้ขอให้ลองกด C-v (View Next Screen ดูหน้าต่อไป) ดู  เพื่อเลื่อนไปอ่านหน้า
+          ต่อไป
+          ต่อจากนี้เป็นต้นไป  ทุกครั้งที่อ่านหน้าหนึ่ง ๆ จบขอให้ทำในทำนองเดียวกัน เพื่อเลื่อนไป
+          ดูหน้าต่อไป
 
-ESC <0,T5Q1G0MQ1!IC(B>   ,TKARB06V1'(B ,Tc0Ki1!40;Xh1A(B ESC ,Ta0Ei1G;0Eh1MB(B ,TK0EQ1'(R!09Qi190(V1'!40;Xh1A(B <0,T5Q1G0MQ1!IC(B> ,T5RA(B
+ESC <ตัวอักษร>   หมายถึง ให้กดปุ่ม ESC แล้วปล่อย หลังจากนั้นจึงกดปุ่ม <ตัวอักษร> ตาม
 
-,TKARB`K05X1(B:       <0,T5Q1G0MQ1!IC(B> ,Td0Ah10Gh1R`0;g1905Q1GcK0-h1K0CW1M05Q1G`0Eg1!(B ,T(Pc0Ki1$GRAKARB`K0AW1M90!Q19`0AWh1M06Y1!c0*i1c9(B
-               ,T$S0JQh1'(B   0,T6i1RKR!0AU10;Xh1A(B META ,Tc0Ki1!4(B 0,T!g1(PJRARC6c0*i1!RC!4(B M-<0,T5Q1G0MQ1!IC(B> ,Ta79(B
-               ,T!RC(B ESC <0,T5Q1G0MQ1!IC(B> ,Td04i1(B  (0,T$W1Mc0Ki1!40;Xh1A(B META 0,T$i1R'd0Gi1(B ,Ta0Ei1G0(V1'!4(B <0,T5Q1G0MQ1!IC(B>)
+หมายเหตุ:       <ตัวอักษร> ไม่ว่าเป็นตัวใหญ่หรือตัวเล็ก จะให้ความหมายเหมือนกันเมื่อถูกใช้ใน
+               คำสั่ง   ถ้าหากมีปุ่ม META ให้กด ก็จะสามารถใช้การกด M-<ตัวอักษร> แทน
+               การ ESC <ตัวอักษร> ได้  (คือให้กดปุ่ม META ค้างไว้ แล้วจึงกด <ตัวอักษร>)
 
-0,T"i1MJS0$Q1-(B:        ,T`GER(P`0ET1!c0*i1(B Emacs ,Tc0Ki1!4(B C-x C-c  ,TK0CW1Mc9!C03U107Uh10JQh1'(B Emacs ,T(R!(B csh
-               0,T!g1JRARC6c0*i1(B suspend (,TK0BX140*Qh1G$CRG(B) ,Td04i1(B  ,T!RC(B suspend Emacs ,T7Sd04i1b4B(B
-               ,T!4(B C-z
+ข้อสำคัญ:        เวลาจะเลิกใช้ Emacs ให้กด C-x C-c  หรือในกรณีที่สั่ง Emacs จาก csh
+               ก็สามารถใช้ suspend (หยุดชั่วคราว) ได้  การ suspend Emacs ทำได้โดย
+               กด C-z
 
-     0,T5h1M(R!09Ui1(B  ,T"Mc0Ki10;i1M9$S0JQh1'(B C-v 0,T7X1!(B ,Tf(B ,T$0CQi1'07Uh10Mh1R9(:K09Vh1'K09i1R(B
+     ต่อจากนี้  ขอให้ป้อนคำสั่ง C-v ทุก ๆ ครั้งที่อ่านจบหนึ่งหน้า
 
-     ,T@RBc9K09i1R07Uh1a0Ei1G0!Q1:K09i1R06Q14d;(B ,T(P0AU1`09Wi1MKR0+i1S0!Q19M0BYh1:R':CC07Q14(B  0,T7Uh1`0;g19`0*h1909Ui1(B 0,T!g1`0>Wh1Mc0Ki1JRARC60CYi1(B
-,Td04i10Gh1R(B ,T`09Wi1MKR07Uh1aJ4'M0BYh109Qi19(B 0,T5h1M`09Wh1M'0!Q19M0BYh1(B
+     ภายในหน้าที่แล้วกับหน้าถัดไป จะมีเนื้อหาซ้ำกันอยู่บางบรรทัด  ที่เป็นเช่นนี้ ก็เพื่อให้สามารถรู้
+ได้ว่า เนื้อหาที่แสดงอยู่นั้น ต่อเนื่องกันอยู่
 
 
-     0,T!h1M90MWh19(B ,T(S`0;g19(P05i1M'0CYi10GT108U1!RCbB!0Bi1RB5SaK09h1'd;AR(B ,T@RBc9a0?i1A0"i1M0AY1E`0JU1B0!h1M9(B  ,T5RA07Uh1:M!d;(B
-,Ta0Ei1G(B 0,T!g10$W1M(B C-v ,Tc0*i1JSK0CQ1:`0EWh1M9d;0"i1R'K09i1R(B  0,T6i1R(P`0EWh1M9!0EQ1:07Uh1`0!h1R(B 0,T!g1c0Ki1!4(B ESC v
+     ก่อนอื่น จำเป็นจะต้องรู้วิธีการโยกย้ายตำแหน่งไปมา ภายในแฟ้มข้อมูลเสียก่อน  ตามที่บอกไป
+แล้ว ก็คือ C-v ใช้สำหรับเลื่อนไปข้างหน้า  ถ้าจะเลื่อนกลับที่เก่า ก็ให้กด ESC v
 
-      >> ,TEM'c0*i1(B ESC v ,TaEP(B C-v ,T`0>Wh1M`0EWh1M9d;AR04Y1(B 0,TJQ1!JM'JRA$0CQi1'(B
+      >> ลองใช้ ESC v และ C-v เพื่อเลื่อนไปมาดู สักสองสามครั้ง
 
-,TJ0CX1;(B
+สรุป
 ===
-     ,T$S0JQh1'(B ,TJSK0CQ1:`0EWh1M9d;AR07U1EPK09i1R@RBc9a0?i1A0"i1M0AY1E(B 0,T$W1M(B
+     คำสั่ง สำหรับเลื่อนไปมาทีละหน้าภายในแฟ้มข้อมูล คือ
 
-     C-v     ,T`0EWh1M9d;0"i1R'K09i1R(B ,TK09Vh1'K09i1R(M(B
-     ESC v   ,T`0EWh1M9d;0"i1R'K0EQ1'(B ,TK09Vh1'K09i1R(M(B
-     C-l     ,T`0"U1B9K09i1R(McK0Ah1(B ,TaEPc9"3P`04U1BG0!Q19(B 0,T!g1c0Ki1`0EWh1M95SaK09h1'"M'`$M0Cl1`+M0Cl1(B (cursor)
-             ,Td;M0BYh15C'!ER'(M(B
+     C-v     เลื่อนไปข้างหน้า หนึ่งหน้าจอ
+     ESC v   เลื่อนไปข้างหลัง หนึ่งหน้าจอ
+     C-l     เขียนหน้าจอใหม่ และในขณะเดียวกัน ก็ให้เลื่อนตำแหน่งของเคอร์เซอร์ (cursor)
+             ไปอยู่ตรงกลางจอ
 
-       >> ,T"Mc0Ki10JQ1'`!504Y10Gh1R(B ,Tc9"3P09Ui1`$M0Cl1`+M0Cl1M0BYh107Uh1dK9(B ,T>0Ci1MA07Qi1'(S0"i1M$GRA07Uh1M0BYh1CM:0"i1R'"M'(B
-          ,T`$M0Cl1`+M0Cl104i1GB(B  ,Ta0Ei1GEM'!4(B C-l 0,T4Y1(B   ,T5CG(JM:04Y10Gh1R(B ,T`$M0Cl1`+M0Cl1`0EWh1M9d;M0BYh107Uh1dK9(B
-          0,T"i1M$GRA07Uh1M0BYh1CM:0"i1R'`;0EUh1B9d;M0Bh1R'dC(B
+       >> ขอให้สังเกตดูว่า ในขณะนี้เคอร์เซอร์อยู่ที่ไหน พร้อมทั้งจำข้อความที่อยู่รอบข้างของ
+          เคอร์เซอร์ด้วย  แล้วลองกด C-l ดู   ตรวจสอบดูว่า เคอร์เซอร์เลื่อนไปอยู่ที่ไหน
+          ข้อความที่อยู่รอบข้างเปลี่ยนไปอย่างไร
 
-0,TGT108U1bB!0Bi1RB`$M0Cl1`+M0Cl10"Qi190>Wi190R9(B
+วิธีโยกย้ายเคอร์เซอร์ขั้นพื้นฐาน
 =======================
 
-     ,T5M909Ui1(B ,T`CR0!g10CYi10GT108U1bB!0Bi1RBd;ARa::07U1EPK09i1Ra0Ei1G(B  0,T5h1Md;(B 0,T!g1AR`0CU1B90CYi10GT108U1bB!0Bi1RBd;07Uh15SaK09h1'c4(B
-,T5SaK09h1'K09Vh1'@RBc9K09i1R`04U1BG0!Q19(B 0,T+Vh1'JRARC67Sd04i1KERB0GT108U1(B  0,TGT108U1K09Vh1'0!g10$W1Mc0Ki1c0*i1$S0JQh1'(B ,Td;:CC07Q140!h1M9K09i1R(B
-(previous) ,Td;:CC07Q1405h1Md;(B (next) ,Td;04i1R9K09i1R(B (forward) ,Td;04i1R9K0EQ1'(B (backward)  ,T$S0JQh1'(B
-,T`K0Eh1R09Ui1(B 0,T6Y1!05Qi1'd0Gi107Uh1(B C-p C-n C-f ,TaEP(B C-b ,T5RAES04Q1:(B  0,T+Vh1'(P7Sc0Ki1bB!0Bi1RBd;ARd04i1(B ,Tb4B`07U1B:0!Q1:(B
-,T5SaK09h1'0;Q1(0(X10:Q19(B  ,TJ0CX1;`0"U1B9`0;g19a<9@R>d04i104Q1'09Ui1(B
+     ตอนนี้ เราก็รู้วิธีโยกย้ายไปมาแบบทีละหน้าแล้ว  ต่อไป ก็มาเรียนรู้วิธีโยกย้ายไปที่ตำแหน่งใด
+ตำแหน่งหนึ่งภายในหน้าเดียวกัน ซึ่งสามารถทำได้หลายวิธี  วิธีหนึ่งก็คือให้ใช้คำสั่ง ไปบรรทัดก่อนหน้า
+(previous) ไปบรรทัดต่อไป (next) ไปด้านหน้า (forward) ไปด้านหลัง (backward)  คำสั่ง
+เหล่านี้ ถูกตั้งไว้ที่ C-p C-n C-f และ C-b ตามลำดับ  ซึ่งจะทำให้โยกย้ายไปมาได้ โดยเทียบกับ
+ตำแหน่งปัจจุบัน  สรุปเขียนเป็นแผนภาพได้ดังนี้
 
 
-			      ,T:CC07Q1407Uh1a0Ei1G(B C-p
+			      บรรทัดที่แล้ว C-p
                                     :
                                     :
-   0,T5Q1G0MQ1!IC04i1R9K0EQ1'(B C-b  ....  ,T5SaK09h1'`$M0Cl1`+M0Cl10;Q1(0(X10:Q19(B  ....   0,T5Q1G0MQ1!IC04i1R9K09i1R(B C-f
+   ตัวอักษรด้านหลัง C-b  ....  ตำแหน่งเคอร์เซอร์ปัจจุบัน  ....   ตัวอักษรด้านหน้า C-f
                                     :
                                     :
-			      ,T:CC07Q1405h1Md;(B C-n
+			      บรรทัดต่อไป C-n
 
 
-     ,T$S0JQh1'`K0Eh1R09Ui1(B ,T`MRAR(R!05Q1G0MQ1!IC05Q1GaC!"M'(B ,T$S0Gh1R(B Previous Next Backward Forward
-0,T+Vh1'(P0*h1GBc0Ki1(Sd04i1d0Ah1BR!(B  ,T$S0JQh1'`K0Eh1R09Ui1`0;g19$S0JQh1'JSK0CQ1:!RCbB!0Bi1RB0"Qi190>Wi190R9(B 0,T+Vh1'05i1M'c0*i1M0BYh1`JAM(B
+     คำสั่งเหล่านี้ เอามาจากตัวอักษรตัวแรกของ คำว่า Previous Next Backward Forward
+ซึ่งจะช่วยให้จำได้ไม่ยาก  คำสั่งเหล่านี้เป็นคำสั่งสำหรับการโยกย้ายขั้นพื้นฐาน ซึ่งต้องใช้อยู่เสมอ
 
-       >> ,TEM'!4(B C-n 0,T4Y1KERB(B ,Tf(B ,T$0CQi1'(B  ,T`0>Wh1M`0EWh1M9`$M0Cl1`+M0Cl1AR0BQ1':CC07Q1409Ui1(B (,T:CC07Q1407Uh1!S0EQ1'0Mh1R9(B
-          ,TM0BYh109Ui1(B)
+       >> ลองกด C-n ดูหลาย ๆ ครั้ง  เพื่อเลื่อนเคอร์เซอร์มายังบรรทัดนี้ (บรรทัดที่กำลังอ่าน
+          อยู่นี้)
 
-       >> ,TEM'!4(B C-f 0,T4Y1KERB(B ,Tf(B ,T$0CQi1'(B  ,T`0>Wh1M`0EWh1M9`$M0Cl1`+M0Cl1d;0BQ1'5C'!ER'"M':CC07Q14(B ,Ta0Ei1GEM'(B
-          ,T!4(B C-p ,T`0EWh1M90"Vi190"i1R':904Y1(B  0,TJQ1'`!504Y104i1GB0Gh1R(B ,T5SaK09h1'"M'`$M0Cl1`+M0Cl1`;0EUh1B9d;M0Bh1R'dC(B
+       >> ลองกด C-f ดูหลาย ๆ ครั้ง  เพื่อเลื่อนเคอร์เซอร์ไปยังตรงกลางของบรรทัด แล้วลอง
+          กด C-p เลื่อนขึ้นข้างบนดู  สังเกตดูด้วยว่า ตำแหน่งของเคอร์เซอร์เปลี่ยนไปอย่างไร
 
-       >> ,TEM'!4(B C-b ,T"3P07Uh1M0BYh107Uh15SaK09h1'K09i1R0JX14"M':CC07Q1404Y1(B  0,TJQ1'`!504Y104i1GB0Gh1R(B ,T`$M0Cl1`+M0Cl1`$0EWh1M9(B
-          ,Td;M0Bh1R'dC(B  ,T(R!09Qi19c0Ki1!4(B C-b 0,TMU1!JM'JRA$0CQi1'(B  ,Ta0Ei1G!4(B C-f ,T`0>Wh1M`0EWh1M9d;0BQ1'07i1RB0JX14(B
-          ,T"M':CC07Q1404Y1(B  ,T`$M0Cl1`+M0Cl1(P`0;g19M0Bh1R'dC(B 0,T6i1R!4(9`EB07i1RB:CC07Q14d;(B
+       >> ลองกด C-b ขณะที่อยู่ที่ตำแหน่งหน้าสุดของบรรทัดดู  สังเกตดูด้วยว่า เคอร์เซอร์เคลื่อน
+          ไปอย่างไร  จากนั้นให้กด C-b อีกสองสามครั้ง  แล้วกด C-f เพื่อเลื่อนไปยังท้ายสุด
+          ของบรรทัดดู  เคอร์เซอร์จะเป็นอย่างไร ถ้ากดจนเลยท้ายบรรทัดไป
 
 
-     ,T`GER07Uh1`0EWh1M9`$M0Cl1`+M0Cl1(B ,T(9`EB:CC07Q14aC!0JX14K0CW1M:CC07Q1407i1RB0JX14"M'K09i1Rd;(B  ,T`$M0Cl1`+M0Cl1(P(B
-,T`0EWh1M9d;0BQ1':CC07Q1405h1Md;c907T1H7R'09Qi19(B ,Tf(B  ,TaEP;0CQ1:c0Ki1`$M0Cl1`+M0Cl1!0EQ1:ARM0BYh1:9K09i1R(M`JAM(B
+     เวลาที่เลื่อนเคอร์เซอร์ จนเลยบรรทัดแรกสุดหรือบรรทัดท้ายสุดของหน้าไป  เคอร์เซอร์จะ
+เลื่อนไปยังบรรทัดต่อไปในทิศทางนั้น ๆ  และปรับให้เคอร์เซอร์กลับมาอยู่บนหน้าจอเสมอ
 
-       >> ,TEM'!4(B C-n ,T`0>Wh1M`0EWh1M9`$M0Cl1`+M0Cl1c0Ki1`EB:CC07Q140Eh1R'0JX14"M'K09i1R(M04Y1(B  ,Ta0Ei1G0JQ1'`!504Y10Gh1R(B
-          ,T`0!T14MPdC0"Vi19(B ,TaEP5SaK09h1'"M'`$M0Cl1`+M0Cl1`;0EUh1B9d;M0Bh1R'dC(B
+       >> ลองกด C-n เพื่อเลื่อนเคอร์เซอร์ให้เลยบรรทัดล่างสุดของหน้าจอดู  แล้วสังเกตดูว่า
+          เกิดอะไรขึ้น และตำแหน่งของเคอร์เซอร์เปลี่ยนไปอย่างไร
 
-     0,T6i1R0CYi10JV1!0Gh1R!RC"0BQ1:d;07U1EP05Q1G0MQ1!IC09Qi190MW14MR40BW14BR4(B  0,T!g1JRARC6c0*i1!RC`0EWh1M9`$M0Cl1`+M0Cl1d;07U1EP$S(B
-,Td04i1(B  ,T!4(B ESC f ,T`0>Wh1Mc0Ki1`0EWh1M9d;0"i1R'K09i1RK09Vh1'$S(B ,TaEP(B ESC b ,T`0>Wh1Mc0Ki1`0EWh1M9d;0"i1R'K0EQ1'K09Vh1'$S(B
+     ถ้ารู้สึกว่าการขยับไปทีละตัวอักษรนั้นอืดอาดยืดยาด  ก็สามารถใช้การเลื่อนเคอร์เซอร์ไปทีละคำ
+ได้  กด ESC f เพื่อให้เลื่อนไปข้างหน้าหนึ่งคำ และ ESC b เพื่อให้เลื่อนไปข้างหลังหนึ่งคำ
 
-,TKARB`K05X1(B:        ,TJSK0CQ1:@RIRd7B(B  0,TBQ1'd0Ah1JRARC6a0:h1'aB!5SaK09h1'"M'$Sd04i106Y1!05i1M'(B  0,T(V1'd0Ah1(B
-                ,TJRARC6c0*i1JM'$S0JQh1'09Ui1d04i1(B
+หมายเหตุ:        สำหรับภาษาไทย  ยังไม่สามารถแบ่งแยกตำแหน่งของคำได้ถูกต้อง  จึงไม่
+                สามารถใช้สองคำสั่งนี้ได้
 
-       >> ,TEM'!4(B ESC f ,TaEP(B ESC b ,TEM'04Y1KERB(B ,Tf(B ,T$0CQi1'(B  ,TaEPEM'c0*i10Ch1GA0!Q1:(B C-f 0,T!Q1:(B C-b 0,T4Y1(B
-          0,T4i1GB(B
+       >> ลองกด ESC f และ ESC b ลองดูหลาย ๆ ครั้ง  และลองใช้ร่วมกับ C-f กับ C-b ดู
+          ด้วย
 
-     ,T(P0JQ1'`!5`0Kg19d04i10Gh1R(B ESC f ,TaEP(B ESC b 0,TAU10CY1;a::$0Ei1RB$0EV1'0!Q1:(B C-f ,TaEP(B C-b  ,Tb4B0Jh1G9cK0-h1(B
-ESC <0,T5Q1G0MQ1!IC(B> ,T(Pc0*i1`0!Uh1BG0!Q1:!RC0(Q14!RC0"i1M$GRA(B  0,TJh1G9(B C-<0,T5Q1G0MQ1!IC(B> ,T(Pc0*i10!Q1:0JTh1'07Uh1`0;g190>Wi190R9AR!(B
-,T!0Gh1R(B (,T`0*h19(B 0,T5Q1G0MQ1!IC(B ,TK0CW1M(B ,T:CC07Q14(B)
+     จะสังเกตเห็นได้ว่า ESC f และ ESC b มีรูปแบบคล้ายคลึงกับ C-f และ C-b  โดยส่วนใหญ่
+ESC <ตัวอักษร> จะใช้เกี่ยวกับการจัดการข้อความ  ส่วน C-<ตัวอักษร> จะใช้กับสิ่งที่เป็นพื้นฐานมาก
+กว่า (เช่น ตัวอักษร หรือ บรรทัด)
 
-     C-a 0,T!Q1:(B C-e ,T`0;g19$S0JQh1'09h1R(P0CYi1d0Gi1(B  ,T`>CRP0$h1M90"i1R'JP4G!04U107U1`04U1BG(B  C-a ,Tc0*i1JSK0CQ1:`0EWh1M9(B
-,T`$M0Cl1`+M0Cl1d;07Uh15SaK09h1'K09i1R0JX14"M':CC07Q14(B  C-e ,TJSK0CQ1:`0EWh1M9d;07Uh15SaK09h1'07i1RB0JX14"M':CC07Q14(B
+     C-a กับ C-e เป็นคำสั่งน่าจะรู้ไว้  เพราะค่อนข้างสะดวกดีทีเดียว  C-a ใช้สำหรับเลื่อน
+เคอร์เซอร์ไปที่ตำแหน่งหน้าสุดของบรรทัด  C-e สำหรับเลื่อนไปที่ตำแหน่งท้ายสุดของบรรทัด
 
 
-       >> ,TEM'!4(B C-a 0,T4Y1JM'$0CQi1'(B  ,TK0EQ1'(R!09Qi19c0Ki1!4(B C-e 0,T4Y1JM'$0CQi1'(B  ,Ta0Ei1GEM'0JQ1'`!504Y10Gh1R(B ,T!RC(B
-          ,T!4$S0JQh1'09Ui1AR!!0Gh1RJM'$0CQi1'(B ,T(Pd0Ah10*h1GBc0Ki1`0EWh1M9`$M0Cl1`+M0Cl1d;dK9d04i1AR!!0Gh1R09Qi190MU1!(B
+       >> ลองกด C-a ดูสองครั้ง  หลังจากนั้นให้กด C-e ดูสองครั้ง  แล้วลองสังเกตดูว่า การ
+          กดคำสั่งนี้มากกว่าสองครั้ง จะไม่ช่วยให้เลื่อนเคอร์เซอร์ไปไหนได้มากกว่านั้นอีก
 
-     0,TBQ1'0AU10MU1!JM'$S0JQh1'(B ,TJSK0CQ1:!RC`0EWh1M9`$M0Cl1`+M0Cl1a::0'h1RB(B ,Tf(B 0,T$W1M(B ,T$S0JQh1'(B ESC < ,TJSK0CQ1:!RC`0EWh1M9(B
-,T`$M0Cl1`+M0Cl1d;07Uh15SaK09h1'aC!0JX14"M'a0?i1A0"i1M0AY1E(B ,TaEP$S0JQh1'(B ESC > ,TJSK0CQ1:!RC`0EWh1M9d;5SaK09h1'07i1RB0JX14(B
+     ยังมีอีกสองคำสั่ง สำหรับการเลื่อนเคอร์เซอร์แบบง่าย ๆ คือ คำสั่ง ESC < สำหรับการเลื่อน
+เคอร์เซอร์ไปที่ตำแหน่งแรกสุดของแฟ้มข้อมูล และคำสั่ง ESC > สำหรับการเลื่อนไปตำแหน่งท้ายสุด
 
-     ,T`CR`0CU1B!5SaK09h1'"M'0"i1M$GRA(B 0,T7Uh10AU1`$M0Cl1`+M0Cl1M0BYh10Gh1R(B "0,T(X14(B (point)"  ,TK0CW1M0>Y140MU1!M0Bh1R'K09Vh1'd04i1(B
-0,TGh1R(B ,T`$M0Cl1`+M0Cl1(B ,T`0;g190JTh1'07Uh1:M!c0Ki1`CR0CYi10Gh1R(B 0,T(X14(B ,TM0BYh15C'dK9"M'K09i1R(M(B
+     เราเรียกตำแหน่งของข้อความ ที่มีเคอร์เซอร์อยู่ว่า "จุด (point)"  หรือพูดอีกอย่างหนึ่งได้
+ว่า เคอร์เซอร์ เป็นสิ่งที่บอกให้เรารู้ว่า จุด อยู่ตรงไหนของหน้าจอ
 
-     ,TJ0CX1;$S0JQh1'JSK0CQ1:!RC`$0EWh1M9d;AR(B 0,T+Vh1'CGA!RC`$0EWh1M907Uh1c9K09h1GB"M'$S(B ,TK09h1GB"M':CC07Q14d0Gi104i1GB(B
-,Td04i104Q1'09Ui1(B
+     สรุปคำสั่งสำหรับการเคลื่อนไปมา ซึ่งรวมการเคลื่อนที่ในหน่วยของคำ หน่วยของบรรทัดไว้ด้วย
+ได้ดังนี้
 
-     C-f     ,Td;0"i1R'K09i1RK09Vh1'05Q1G0MQ1!IC(B
-     C-b     ,T!0EQ1:0"i1R'K0EQ1'K09Vh1'05Q1G0MQ1!IC(B
+     C-f     ไปข้างหน้าหนึ่งตัวอักษร
+     C-b     กลับข้างหลังหนึ่งตัวอักษร
 
-     ESC f   ,Td;0"i1R'K09i1RK09Vh1'$S(B
-     ESC b   ,T!0EQ1:0"i1R'K0EQ1'K09Vh1'$S(B
+     ESC f   ไปข้างหน้าหนึ่งคำ
+     ESC b   กลับข้างหลังหนึ่งคำ
 
-     C-n     ,T`0EWh1M9d;:CC07Q1405h1Md;(B
-     C-p     ,T`0EWh1M9d;:CC07Q1407Uh1a0Ei1G(B
+     C-n     เลื่อนไปบรรทัดต่อไป
+     C-p     เลื่อนไปบรรทัดที่แล้ว
 
-     ESC ]   ,T`0EWh1M9d;5SaK09h1'07i1RB0JX14"M'0Bh1MK09i1R(B (paragraph)
-     ESC [   ,T`0EWh1M9d;5SaK09h1'aC!0JX14"M'0Bh1MK09i1R(B
+     ESC ]   เลื่อนไปตำแหน่งท้ายสุดของย่อหน้า (paragraph)
+     ESC [   เลื่อนไปตำแหน่งแรกสุดของย่อหน้า
 
-     C-a     ,T`0EWh1M9d;5SaK09h1'aC!0JX14"M':CC07Q14(B
-     C-e     ,T`0EWh1M9d;5SaK09h1'07i1RB0JX14"M':CC07Q14(B
+     C-a     เลื่อนไปตำแหน่งแรกสุดของบรรทัด
+     C-e     เลื่อนไปตำแหน่งท้ายสุดของบรรทัด
 
-     ESC <   ,T`0EWh1M9d;5SaK09h1'aC!0JX14"M'a0?i1A0"i1M0AY1E(B
-     ESC >   ,T`0EWh1M9d;5SaK09h1'07i1RB0JX14"M'a0?i1A0"i1M0AY1E(B
+     ESC <   เลื่อนไปตำแหน่งแรกสุดของแฟ้มข้อมูล
+     ESC >   เลื่อนไปตำแหน่งท้ายสุดของแฟ้มข้อมูล
 
-       >> ,TEM'c0*i1$S0JQh1'a05h1EP$S0JQh1'04Y1(B  ,T$S0JQh1'`K0Eh1R09Ui1`0;g19$S0JQh1'07Uh1c0*i10!Q190:h1MB0JX14(B  ,T$S0JQh1'JM'$S0JQh1'K0EQ1'(B
-          ,T(P`0EWh1M9`$M0Cl1`+M0Cl1(B ,Td;0BQ1'07Uh107Uh10$h1M90"i1R'd!E(B  ,Tc0Ki1EM'c0*i1$S0JQh1'(B C-v ,TaEP(B ESC v ,T`0>Wh1M(B
-          ,T`0EWh1M9`$M0Cl1`+M0Cl1!0EQ1:AR07Uh15C'09Ui1(B
+       >> ลองใช้คำสั่งแต่ละคำสั่งดู  คำสั่งเหล่านี้เป็นคำสั่งที่ใช้กันบ่อยสุด  คำสั่งสองคำสั่งหลัง
+          จะเลื่อนเคอร์เซอร์ ไปยังที่ที่ค่อนข้างไกล  ให้ลองใช้คำสั่ง C-v และ ESC v เพื่อ
+          เลื่อนเคอร์เซอร์กลับมาที่ตรงนี้
 
-     ,TJSK0CQ1:$S0JQh1'0MWh19(B ,Tf(B ,T"M'(B Emacs 0,T!g1`0*h190!Q19(B  ,T$S0JQh1'`K0Eh1R09Ui1(PJRARC6`0>Th1A05Q1G`0EW1M!(B (argument) 
-,T`0>Wh1M!SK94(B ,T(S9G9$0CQi1'(B ,Tc9!RC;0/T10:Q105T1'R9d04i1(B   ,T!RC!SK94(S9G9$0CQi1'(B ,T7Sd04i1b4B!4(B C-u ,Ta0Ei1G5RA(B
-0,T4i1GB(S9G9$0CQi1'07Uh105i1M'!RC0!h1M9(B ,Ta0Ei1G0(V1'0$h1MB!4$S0JQh1'5RA(B
+     สำหรับคำสั่งอื่น ๆ ของ Emacs ก็เช่นกัน  คำสั่งเหล่านี้จะสามารถเพิ่มตัวเลือก (argument) 
+เพื่อกำหนด จำนวนครั้ง ในการปฏิบัติงานได้   การกำหนดจำนวนครั้ง ทำได้โดยกด C-u แล้วตาม
+ด้วยจำนวนครั้งที่ต้องการก่อน แล้วจึงค่อยกดคำสั่งตาม
 
-     0,T5Q1GM0Bh1R'`0*h19(B  ,T$S0JQh1'(B C-u 8 C-f ,TKARB06V1'(B ,Tc0Ki1`0EWh1M9d;0"i1R'K09i1R(B 8 0,T5Q1G0MQ1!IC(B
+     ตัวอย่างเช่น  คำสั่ง C-u 8 C-f หมายถึง ให้เลื่อนไปข้างหน้า 8 ตัวอักษร
 
-       >> ,Tc0Ki1EM'!SK94(S9G9$0CQi1'07Uh1`KARPJAJSK0CQ1:$S0JQh1'(B C-n ,TK0CW1M(B C-p ,T`0>Wh1M`0EWh1M9`$M0Cl1`+M0Cl1(B
-          ,Tc0Ki1ARM0BYh1c!0Ei1:CC07Q1409Ui1c0Ki1AR!07Uh10JX14`07h1R07Uh1(P7Sd04i1(B ,Tc9!RC`0EWh1M9`$M0Cl1`+M0Cl1$0CQi1'`04U1BG(B
+       >> ให้ลองกำหนดจำนวนครั้งที่เหมาะสมสำหรับคำสั่ง C-n หรือ C-p เพื่อเลื่อนเคอร์เซอร์
+          ให้มาอยู่ใกล้บรรทัดนี้ให้มากที่สุดเท่าที่จะทำได้ ในการเลื่อนเคอร์เซอร์ครั้งเดียว
 
-     ,TJSK0CQ1:(B C-v ,TaEP(B ESC v ,T(Pd04i1<Ea5!05h1R'd;0JQ1!`0Eg1!09i1MB(B  ,Tc9!C03U109Ui1(B ,T(P`0;g19!RC`0EWh1M9K09i1R(M(B
-0,T"Vi19E'(B ,T5RA(S9G9:CC07Q14a79(B
+     สำหรับ C-v และ ESC v จะได้ผลแตกต่างไปสักเล็กน้อย  ในกรณีนี้ จะเป็นการเลื่อนหน้าจอ
+ขึ้นลง ตามจำนวนบรรทัดแทน
 
-       >> ,TEM'!4(B C-u 3 C-v 0,T4Y1(B
+       >> ลองกด C-u 3 C-v ดู
 
-     ,T`0EWh1M9!0EQ1:07Uh1`0!h1Rd04i1b4B(B C-u 3 ESC v
+     เลื่อนกลับที่เก่าได้โดย C-u 3 ESC v
 
-,T$S0JQh1'B!`0ET1!(B
+คำสั่งยกเลิก
 =========
 
-     ,T$S0JQh1'(B C-g ,Tc0*i1JSK0CQ1:0JQh1'B!`0ET1!$S0JQh1'05h1R'(B ,Tf(B 0,T7Uh105i1M'!RC!RC0;i1M90"i1M0AY1E`0>Th1A`05T1A(B  0,T5Q1GM0Bh1R'`0*h19(B
-,TCPK0Gh1R'07Uh1c0Jh105Q1G`0EW1M!(B (argument) ,TM0BYh1(B ,TK0CW1MCPK0Gh1R'$S0JQh1'07Uh105i1M'!RC!40;Xh1AAR!!0Gh1R(B 2 0,T;Xh1A0"Vi19d;(B  0,T6i1R(B
-,TKR!05i1M'!RCB!`0ET1!(B 0,T!g1c0Ki1!4(B C-g
+     คำสั่ง C-g ใช้สำหรับสั่งยกเลิกคำสั่งต่าง ๆ ที่ต้องการการป้อนข้อมูลเพิ่มเติม  ตัวอย่างเช่น
+ระหว่างที่ใส่ตัวเลือก (argument) อยู่ หรือระหว่างคำสั่งที่ต้องการกดปุ่มมากกว่า 2 ปุ่มขึ้นไป  ถ้า
+หากต้องการยกเลิก ก็ให้กด C-g
 
-       >> ,TEM'!SK94(S9G9$0CQi1'c0Ki1`0;g19(B 100 ,Tb4B!RC!4(B C-u 100 ,Ta0Ei1G!4(B C-g 0,T4Y1(B  ,TK0EQ1'(R!09Qi19(B
-          ,Tc0Ki1EM'!4(B C-f 0,T4Y1(B ,Ta0Ei1G0JQ1'`!504Y10Gh1R`$M0Cl1`+M0Cl1`0EWh1M9d;0!Uh105Q1G0MQ1!IC(B  ,TK0CW1M5M907Uh1>ER4d;!4(B
-          ESC ,Tb4Bd0Ah105Qi1'c((B  0,T!g1JRARC6!4(B C-g ,TB!`0ET1!d04i1(B
+       >> ลองกำหนดจำนวนครั้งให้เป็น 100 โดยการกด C-u 100 แล้วกด C-g ดู  หลังจากนั้น
+          ให้ลองกด C-f ดู แล้วสังเกตดูว่าเคอร์เซอร์เลื่อนไปกี่ตัวอักษร  หรือตอนที่พลาดไปกด
+          ESC โดยไม่ตั้งใจ  ก็สามารถกด C-g ยกเลิกได้
 
-0,T"i1M0<T14>ER4(B (Error)
+ข้อผิดพลาด (Error)
 ================
 
-     ,Tc9:R'$0CQi1'(B ,TMR((P0AU1!RC0JQh1';0/T10:Q105T1'R9:R'M0Bh1R'(B 0,T7Uh1(B Emacs ,TBMA0CQ1:d0Ah1d04i1`0!T140"Vi19(B  0,T5Q1GM0Bh1R'`0*h19(B
-,T!RC!4$S0JQh1'$M9b7CE:R'$S0JQh1'(B 0,T7Uh1d0Ah1d04i1!SK94d0Gi1c9(B Emacs 0,T!g1(P7Sc0Ki1(B Emacs 0,TJh1'`0JU1B'`05W1M9(B
-,TaEPaJ4'<E07Uh1:CC07Q140Eh1R'0JX14"M'(M(B ,T:M!0Gh1R0<T14>ER4M0Bh1R'dC(B
+     ในบางครั้ง อาจจะมีการสั่งปฏิบัติงานบางอย่าง ที่ Emacs ยอมรับไม่ได้เกิดขึ้น  ตัวอย่างเช่น
+การกดคำสั่งคอนโทรลบางคำสั่ง ที่ไม่ได้กำหนดไว้ใน Emacs ก็จะทำให้ Emacs ส่งเสียงเตือน
+และแสดงผลที่บรรทัดล่างสุดของจอ บอกว่าผิดพลาดอย่างไร
 
-     ,T$S0JQh1':R'$S0JQh1'07Uh1`0"U1B9d0Gi1c9`M!JRC)0:Q1:09Ui1(B ,TMR(c0*i1d0Ah1d04i10!Q1:(B Emacs ,T:R'0CXh19(B (version) 0,T+Vh1'(P(B
-,T7Sc0Ki10AU1!RCaJ4'<E0"i1M0<T14>ER4(B (error) 0,T"Vi19(B   ,Tc9!C03U109Ui1(B ,T"Mc0Ki1!40;Xh1AMPdC0!g1d04i1(B ,T`0>Wh1M`0EWh1M9d;0BQ1'0Jh1G9(B
-0,T5h1Md;(B
+     คำสั่งบางคำสั่งที่เขียนไว้ในเอกสารฉบับนี้ อาจใช้ไม่ได้กับ Emacs บางรุ่น (version) ซึ่งจะ
+ทำให้มีการแสดงผลข้อผิดพลาด (error) ขึ้น   ในกรณีนี้ ขอให้กดปุ่มอะไรก็ได้ เพื่อเลื่อนไปยังส่วน
+ต่อไป
 
-0,TGT19b40Gl1(B (Window)
+วินโดว์ (Window)
 ==============
 
-     Emacs ,TJRARC6`0;T140GT19b40Gl1d04i1>0Ci1MA0!Q19KERB0GT19b40Gl1(B ,TaEPc0*i10GT19b40Gl1`K0Eh1R09Qi19aJ4'<E0"i1M$GRA(B
-0,T5h1R'(B ,Tf(B ,T5RA05i1M'!RCd04i1(B  0,T!h1M90MWh19(B 0,T!g1$GC(P7S$GRA0CYi10(Q1!0!Q1:$S0JQh1'(B 0,T7Uh1c0*i1JSK0CQ1:!RCE:0GT19b40Gl10Jh1G9`0!T19(B
-,Tc9`GER07Uh1aJ4'<E0EQ1>08l1"M'$S0JQh1':R'$S0JQh1'(B ,TK0CW1M(B Help ,TMM!`0JU1B0!h1M9(B
+     Emacs สามารถเปิดวินโดว์ได้พร้อมกันหลายวินโดว์ และใช้วินโดว์เหล่านั้นแสดงผลข้อความ
+ต่าง ๆ ตามต้องการได้  ก่อนอื่น ก็ควรจะทำความรู้จักกับคำสั่ง ที่ใช้สำหรับการลบวินโดว์ส่วนเกิน
+ในเวลาที่แสดงผลลัพธ์ของคำสั่งบางคำสั่ง หรือ Help ออกเสียก่อน
 
-     C-x 1             ,T7Sc0Ki1`0;g190GT19b40Gl1`04U1BG(B
+     C-x 1             ทำให้เป็นวินโดว์เดียว
 
-     ,T$S0JQh1'(B C-x 1 ,Tc0*i1JSK0CQ1:E:0GT19b40Gl10MWh19(B  ,Ta0Ei1G"BRB0GT19b40Gl107Uh10AU1`$M0Cl1`+M0Cl1M0BYh1(B  ,Tc0Ki1`05g1A(M`0;g19(B
-0,TGT19b40Gl1`04U1BG(B
+     คำสั่ง C-x 1 ใช้สำหรับลบวินโดว์อื่น  แล้วขยายวินโดว์ที่มีเคอร์เซอร์อยู่  ให้เต็มจอเป็น
+วินโดว์เดียว
 
-       >> ,Tc0Ki1`0EWh1M9`$M0Cl1`+M0Cl1AR07Uh1:CC07Q1409Ui1(B  ,Ta0Ei1G!4(B C-u 0 C-l
+       >> ให้เลื่อนเคอร์เซอร์มาที่บรรทัดนี้  แล้วกด C-u 0 C-l
 
-       >> ,TEM'!4(B C-h k C-f 0,T4Y1(B  ,Ta0Ei1G0JQ1'`!504Y10Gh1R0GT19b40Gl109Ui1`;0EUh1B9d;M0Bh1R'dC(B ,T`0AWh1M0AU10GT19b40Gl1cK0Ah10+Vh1'(B
-          ,TM08T1:RB0GT108U1c0*i1$S0JQh1'(B C-f ,T;CR!/0"Vi19(B
+       >> ลองกด C-h k C-f ดู  แล้วสังเกตดูว่าวินโดว์นี้เปลี่ยนไปอย่างไร เมื่อมีวินโดว์ใหม่ซึ่ง
+          อธิบายวิธีใช้คำสั่ง C-f ปรากฏขึ้น
 
-       >> ,TEM'!4(B C-x 1 ,T`0>Wh1ME:0GT19b40Gl107Uh1b<0Eh10"Vi19ARcK0Ah1(B ,TMM!(B
+       >> ลองกด C-x 1 เพื่อลบวินโดว์ที่โผล่ขึ้นมาใหม่ ออก
 
-,T!RCa7C!(B (insert) ,TaEP(B ,T!RCE:(B (delete)
+การแทรก (insert) และ การลบ (delete)
 ===================================
 
-     ,T:9(B Emacs ,T`CR(PJRARC60>T1A0>l105Q1G0MQ1!IC`0"i1Rd;d04i1`EB(B ,T`0AWh1M05i1M'!RC0>T1A0>l10"i1M$GRA(B  Emacs ,T(P(B
-0,T6W1M0Gh1R05Q1GK09Q1'0JW1M07Uh1AM'`0Kg19d04i107X1!05Q1G(B (,T`0*h19(B 'A' '7' '*' ',T!(B' ,TaEP0MWh19(B ,Tf(B) ,T`0;g190"i1M$GRA07Uh105i1M'!RC(P(B
-,Ta7C!(B (insert) ,T`0"i1Rd;5C'(B ,Tf(B  ,T`0AWh1M(P(::CC07Q14(B ,Tc0Ki1!4(B <Return> ,T`0>Wh1M`05T1A0MQ1!IC0"Vi19:CC07Q14cK0Ah1(B
-(linefeed character) ,Ta7C!`0"i1Rd;(B
+     บน Emacs เราจะสามารถพิมพ์ตัวอักษรเข้าไปได้เลย เมื่อต้องการพิมพ์ข้อความ  Emacs จะ
+ถือว่าตัวหนังสือที่มองเห็นได้ทุกตัว (เช่น 'A' '7' '*' 'ก' และอื่น ๆ) เป็นข้อความที่ต้องการจะ
+แทรก (insert) เข้าไปตรง ๆ  เมื่อจะจบบรรทัด ให้กด <Return> เพื่อเติมอักษรขึ้นบรรทัดใหม่
+(linefeed character) แทรกเข้าไป
 
-     ,Tc0Ki1!4(B <Delete> ,T`0AWh1M05i1M'!RC(PE:05Q1G0MQ1!IC07Uh1`0>Th1'0>T1A0>l1`0"i1Rd;(B  <Delete> ,TKARB06V1'0;Xh1A`0"U1B9(B
-,T:90<T1GK09i1Rd0Gi10Gh1R(B "Delete"  ,TK0CW1M:R'07U1MR((P`0"U1B9d0Gi1(B "Rubout" 0,T!g1d04i1(B   ,Tb4B07Qh1Gd;(B <Delete>
-,Tc0*i1JSK0CQ1:E:05Q1G0MQ1!IC07Uh1M0BYh10!h1M9K09i1R5SaK09h1'`$M0Cl1`+M0Cl10;Q1(0(X10:Q19(B
+     ให้กด <Delete> เมื่อต้องการจะลบตัวอักษรที่เพิ่งพิมพ์เข้าไป  <Delete> หมายถึงปุ่มเขียน
+บนผิวหน้าไว้ว่า "Delete"  หรือบางทีอาจจะเขียนไว้ "Rubout" ก็ได้   โดยทั่วไป <Delete>
+ใช้สำหรับลบตัวอักษรที่อยู่ก่อนหน้าตำแหน่งเคอร์เซอร์ปัจจุบัน
 
-       >> ,TEM'0>T1A0>l105Q1G0MQ1!IC`0"i1Rd;KERB(B ,Tf(B 0,T5Q1G(B  ,Ta0Ei1Gc0*i1(B <Delete> ,TE:05Q1G0MQ1!IC`K0Eh1R09Qi1907Ti1'(B
+       >> ลองพิมพ์ตัวอักษรเข้าไปหลาย ๆ ตัว  แล้วใช้ <Delete> ลบตัวอักษรเหล่านั้นทิ้ง
 
-       >> ,TEM'0>T1A0>l10"i1M$GRAE'd;c0Ki1`0!T19"M:"GR(B (right margin)  ,T`GER07Uh10>T1A0>l10"i1M$GRA`0"i1Rd;(B
-          ,TBRG`0!T19$GRA!0Gi1R'"M'K09Vh1':CC07Q14(B  ,T:CC07Q1409Qi190!g1(P(B "0,T6Y1!05h1M(B" ,Tc0Ki1BRG`0!T19K09Vh1'K09i1R(M(B
-	  ,Tb4Bc0Jh1`$0CWh1M'KARB(B '\' ,Td0Gi107Uh1"M:"GR0JX14(B ,T`0>Wh1M:M!c0Ki10CYi10Gh1R:CC07Q1409Ui10BQ1'0AU105h1M(B  Emacs ,T(P(B
-	  ,T`0EWh1M9(B (scroll) ,TK09i1R(M`0>Wh1Mc0Ki1`0Kg195SaK09h1'07Uh1!S0EQ1'a0!i1d"M0BYh1d04i1M0Bh1R'0*Q14`(9(B  0,T6i1RKR!(B
-	  ,T"M:"GRK0CW1M"M:0+i1RB"M'0AU1`$0CWh1M'KARB(B '\' ,TM0BYh1(B 0,T!g1`0;g19!RC:M!c0Ki10CYi10Gh1R(B ,T:CC07Q1409Qi190BQ1'0AU105h1M(B
-	  ,Td;c907T1H7R'09Qi19(B ,Tf(B
+       >> ลองพิมพ์ข้อความลงไปให้เกินขอบขวา (right margin)  เวลาที่พิมพ์ข้อความเข้าไป
+          ยาวเกินความกว้างของหนึ่งบรรทัด  บรรทัดนั้นก็จะ "ถูกต่อ" ให้ยาวเกินหนึ่งหน้าจอ
+	  โดยใส่เครื่องหมาย '\' ไว้ที่ขอบขวาสุด เพื่อบอกให้รู้ว่าบรรทัดนี้ยังมีต่อ  Emacs จะ
+	  เลื่อน (scroll) หน้าจอเพื่อให้เห็นตำแหน่งที่กำลังแก้ไขอยู่ได้อย่างชัดเจน  ถ้าหาก
+	  ขอบขวาหรือขอบซ้ายของมีเครื่องหมาย '\' อยู่ ก็เป็นการบอกให้รู้ว่า บรรทัดนั้นยังมีต่อ
+	  ไปในทิศทางนั้น ๆ
 
-     ,TEM';0/T10:Q105T104Y1`EB(B ,T$'(P0*h1GBc0Ki1`0"i1Rc(0'h1RB!0Gh1R!RCM08T1:RB04i1GB05Q1GK09Q1'0JW1M(B
+     ลองปฏิบัติดูเลย คงจะช่วยให้เข้าใจง่ายกว่าการอธิบายด้วยตัวหนังสือ
 
-       >> ,Tc0Ki1"0BQ1:`$M0Cl1`+M0Cl1d;d0Gi1:9:CC07Q140+Vh1'06Y1!05h1Mc0Ki1BRG`0!T19K09Vh1'K09i1R(M(B 0,T7Uh1`0>Th1'0;i1M9`0"i1Rd;`0AWh1M(B
-          0,TJQ1!$0CYh109Ui1(B  ,Ta0Ei1Gc0*i1(B C-d ,TE:0"i1M$GRAMM!:R'0Jh1G9(B ,T(9$GRABRG"M'0"i1M$GRAM0BYh1@RBc9K09Vh1'(B
-	  ,T:CC07Q14(B  0,TJQ1'`!504Y10Gh1R`$0CWh1M'KARB(B '\' ,T(PKRBd;(B
+       >> ให้ขยับเคอร์เซอร์ไปไว้บนบรรทัดซึ่งถูกต่อให้ยาวเกินหนึ่งหน้าจอ ที่เพิ่งป้อนเข้าไปเมื่อ
+          สักครู่นี้  แล้วใช้ C-d ลบข้อความออกบางส่วน จนความยาวของข้อความอยู่ภายในหนึ่ง
+	  บรรทัด  สังเกตดูว่าเครื่องหมาย '\' จะหายไป
 
-       >> ,Tc0Ki1`0EWh1M9`$M0Cl1`+M0Cl1d;d0Gi107Uh15SaK09h1'aC!0JX14"M':CC07Q14(B ,Ta0Ei1G!4(B <Delete> 0,T4Y1(B  ,T!RC7S(B
-          ,Ta::09Ui1(B ,T(P7Sc0Ki10JQ1-0EQ1!I03l10$Qh19CPK0Gh1R':CC07Q1406Y1!E:MM!d;(B  ,T:CC07Q1409Qi190!g1(P06Y1!`MRd;05h1M0!Q1:(B
-	  ,T:CC07Q140!h1M9K09i1R09Qi19(B ,TCGA0!Q19`0;g19:CC07Q14BRG:CC07Q14`04U1BG(B ,TaEPMR((P0AU10JQ1-0EQ1!I03l105h1M:CC07Q14(B
-	  ,T;CR!/0"Vi19(B
+       >> ให้เลื่อนเคอร์เซอร์ไปไว้ที่ตำแหน่งแรกสุดของบรรทัด แล้วกด <Delete> ดู  การทำ
+          แบบนี้ จะทำให้สัญลักษณ์คั่นระหว่างบรรทัดถูกลบออกไป  บรรทัดนั้นก็จะถูกเอาไปต่อกับ
+	  บรรทัดก่อนหน้านั้น รวมกันเป็นบรรทัดยาวบรรทัดเดียว และอาจจะมีสัญลักษณ์ต่อบรรทัด
+	  ปรากฏขึ้น
 
-       >> ,Tc0Ki1!4(B <Return> ,T`0>Wh1M`0>Th1A(B 0,T5Q1G0MQ1!IC0"Vi19:CC07Q14cK0Ah1(B ,T!0EQ1:d;M0Bh1R'`04T1A(B
+       >> ให้กด <Return> เพื่อเพิ่ม ตัวอักษรขึ้นบรรทัดใหม่ กลับไปอย่างเดิม
 
-     ,T$S0JQh1'0Jh1G9cK0-h1"M'(B Emacs ,T(PJRARC6!SK94(S9G9$0CQi1'07Uh105i1M'!RCc0Ki1;0/T10:Q105T1d04i1(B  ,TCGA07Qi1'!RC(B
-,Ta7C!(B (insert) 0,T5Q1G0MQ1!IC04i1GB(B
+     คำสั่งส่วนใหญ่ของ Emacs จะสามารถกำหนดจำนวนครั้งที่ต้องการให้ปฏิบัติได้  รวมทั้งการ
+แทรก (insert) ตัวอักษรด้วย
 
 
-       >> ,TEM'0;i1M9$S0JQh1'(B C-u 8 * 0,T4Y1(B  0,TJQ1'`!504Y10Gh1R`0!T14MPdC0"Vi19(B
+       >> ลองป้อนคำสั่ง C-u 8 * ดู  สังเกตดูว่าเกิดอะไรขึ้น
 
-     0,T6i1R05i1M'!RC(P`0>Th1A:CC07Q140Gh1R'(B ,Tf(B (blank line) ,TCPK0Gh1R'JM':CC07Q14(B  ,Tc0Ki1`0EWh1M9d;07Uh15SaK09h1'(B
-,TaC!0JX14"M':CC07Q1407Uh1JM'(B  ,Ta0Ei1G!4(B C-o
+     ถ้าต้องการจะเพิ่มบรรทัดว่าง ๆ (blank line) ระหว่างสองบรรทัด  ให้เลื่อนไปที่ตำแหน่ง
+แรกสุดของบรรทัดที่สอง  แล้วกด C-o
 
-       >> ,Tc0Ki1`0EWh1M9d;07Uh15SaK09h1'aC!0JX14"M':CC07Q14c40!g1d04i1(B  ,Ta0Ei1GEM'!4(B C-o 0,T4Y1(B
+       >> ให้เลื่อนไปที่ตำแหน่งแรกสุดของบรรทัดใดก็ได้  แล้วลองกด C-o ดู
 
-     0,T6V1'5C'09Ui1(B  ,T`CR0!g1d04i1`0CU1B90GT108U10>Wi190R9JSK0CQ1:!RC0;i1M90"i1M$GRA(B ,TaEP!RCa0!i107Uh10<T14a0Ei1G(B  ,T9M!(R!(P(B
-,TE:d04i107U1EP05Q1G0MQ1!ICa0Ei1G(B  0,TBQ1'0AU1$S0JQh1'0+Vh1'JRARC6c0*i1E:d04i1c9`0;g19$S(B ,Tf(B ,TK0CW1M`0;g19:CC07Q14(B ,Tf(B 0,TMU1!04i1GB(B  ,TJ0CX1;(B
-,T$S0JQh1'JSK0CQ1:!RCE:d04i104Q1'09Ui1(B
+     ถึงตรงนี้  เราก็ได้เรียนวิธีพื้นฐานสำหรับการป้อนข้อความ และการแก้ที่ผิดแล้ว  นอกจากจะ
+ลบได้ทีละตัวอักษรแล้ว  ยังมีคำสั่งซึ่งสามารถใช้ลบได้ในเป็นคำ ๆ หรือเป็นบรรทัด ๆ อีกด้วย  สรุป
+คำสั่งสำหรับการลบได้ดังนี้
 
-     <Delete>       ,TE:05Q1G0MQ1!IC07Uh1M0BYh1K09i1R`$M0Cl1`+M0Cl1(B
-     C-d            ,TE:05Q1G0MQ1!IC07Uh1M0BYh107Uh1`$M0Cl1`+M0Cl1(B
+     <Delete>       ลบตัวอักษรที่อยู่หน้าเคอร์เซอร์
+     C-d            ลบตัวอักษรที่อยู่ที่เคอร์เซอร์
 
-     ESC <Delete>   ,TE:$S07Uh1M0BYh1K09i1R`$M0Cl1`+M0Cl1(B
-     ESC d          ,TE:$S05Qi1'a05h15SaK09h1'07Uh1`$M0Cl1`+M0Cl1M0BYh1(B
+     ESC <Delete>   ลบคำที่อยู่หน้าเคอร์เซอร์
+     ESC d          ลบคำตั้งแต่ตำแหน่งที่เคอร์เซอร์อยู่
 
-     C-k            ,TE::CC07Q1405Qi1'a05h15SaK09h1'07Uh1`$M0Cl1`+M0Cl1M0BYh1(B
+     C-k            ลบบรรทัดตั้งแต่ตำแหน่งที่เคอร์เซอร์อยู่
 
-     ,Tc9:R'$0CQi1'(B ,T`CRMR(05i1M'!RC(P`MR0Jh1G907Uh1E:d;!0EQ1:0$W19AR(B   ,Tb;Ca!CA(B Emacs ,T(P(S0Jh1G907Uh1E:(B
-,TMM!d0Gi1(B ,T`GER07Uh1E:0"i1M$GRAc9K09h1GB07Uh1AR!!0Gh1RK09Vh1'05Q1G0MQ1!IC(B   ,Tc0Ki1c0*i1$S0JQh1'(B C-y ,T`GER07Uh105i1M'!RC(P`MR(B
-0,T"i1M$GRA!0EQ1:0$W19(B  0,TJTh1'07Uh1$GCCP0GQ1'0!g10$W1M(B C-y ,Td0Ah1c0*h1c0*i1d04i1`0>U1B'a0$h15SaK09h1'07Uh1E:0"i1M$GRAMM!`07h1R09Qi19(B  ,Ta05h1(P(B
-,Tc0*i10!Q1:5SaK09h1'c40!g1d04i1(B  C-y ,T`0;g19$S0JQh1'JSK0CQ1:a7C!0"i1M$GRA07Uh1`0!g1:d0Gi1(B ,TE'c95SaK09h1'07Uh10AU1`$M0Cl1`+M0Cl1M0BYh1(B
-,T`CRJRARC6c0*i1$GRAJRARC609Ui1c9!RC`$0EWh1M90Bi1RB0"i1M$GRAd04i1(B
+     ในบางครั้ง เราอาจต้องการจะเอาส่วนที่ลบไปกลับคืนมา   โปรแกรม Emacs จะจำส่วนที่ลบ
+ออกไว้ เวลาที่ลบข้อความในหน่วยที่มากกว่าหนึ่งตัวอักษร   ให้ใช้คำสั่ง C-y เวลาที่ต้องการจะเอา
+ข้อความกลับคืน  สิ่งที่ควรระวังก็คือ C-y ไม่ใช่ใช้ได้เพียงแค่ตำแหน่งที่ลบข้อความออกเท่านั้น  แต่จะ
+ใช้กับตำแหน่งใดก็ได้  C-y เป็นคำสั่งสำหรับแทรกข้อความที่เก็บไว้ ลงในตำแหน่งที่มีเคอร์เซอร์อยู่
+เราสามารถใช้ความสามารถนี้ในการเคลื่อนย้ายข้อความได้
 
-     ,T$S0JQh1'JSK0CQ1:!RCE:0AU1M0BYh1JM'a::0$W1M(B ,T$S0JQh1'(B "Delete" 0,T!Q1:(B ,T$S0JQh1'(B "Kill"  ,T$S0JQh1'(B "Kill"
-,T(P`0!g1:0Jh1G9E:MM!d0Gi1(B ,Ta05h1$S0JQh1'(B "Delete" ,T(Pd0Ah1`0!g1:(B  ,Ta05h106i1RKR!c0*i1$S0JQh1'09Ui1KERB(B ,Tf(B ,T$0CQi1'(B  0,T!g1(P`0!g1:(B
-0,TJh1G907Uh1E:MM!d0Gi1c0Ki1(B
+     คำสั่งสำหรับการลบมีอยู่สองแบบคือ คำสั่ง "Delete" กับ คำสั่ง "Kill"  คำสั่ง "Kill"
+จะเก็บส่วนลบออกไว้ แต่คำสั่ง "Delete" จะไม่เก็บ  แต่ถ้าหากใช้คำสั่งนี้หลาย ๆ ครั้ง  ก็จะเก็บ
+ส่วนที่ลบออกไว้ให้
 
-      >> ,Tc0Ki1!4(B C-n 0,TJQ1!JM'JRA$0CQi1'(B ,T`0>Wh1M`0EWh1M9d;0BQ1'07Uh107Uh1`KARPJA:9K09i1R(M(B ,Ta0Ei1GEM'!4(B C-k ,T`0>Wh1M(B
-         ,TE::CC07Q1409Qi19MM!04Y1(B
+      >> ให้กด C-n สักสองสามครั้ง เพื่อเลื่อนไปยังที่ที่เหมาะสมบนหน้าจอ แล้วลองกด C-k เพื่อ
+         ลบบรรทัดนั้นออกดู
 
-     ,T`0AWh1M!4(B C-k ,T$0CQi1'aC!(B 0,T"i1M$GRAc9:CC07Q1409Qi19(P06Y1!E:MM!(B  ,TaEP`0AWh1M!40MU1!(B C-k 0,TMU1!$0CQi1'(B ,T:CC07Q14(B
-0,T9Qi19`M'07Qi1':CC07Q140!g1(P06Y1!E:MM!d;04i1GB(B  ,Ta05h106i1R!SK94(S9G9$0CQi1'c0Ki10!Q1:$S0JQh1'(B C-k 0,T!g1(PKARB06V1'(B ,Tc0Ki1E:(B
-,T:CC07Q14MM!(B (0,T7Qi1'`09Wi1MKRaEP05Q1G:CC07Q14(B) ,T`0;g19(S9G9:CC07Q14(B ,T`07h1R0!Q1:(S9G9$0CQi1'07Uh1!SK94(B
+     เมื่อกด C-k ครั้งแรก ข้อความในบรรทัดนั้นจะถูกลบออก  และเมื่อกดอีก C-k อีกครั้ง บรรทัด
+นั้นเองทั้งบรรทัดก็จะถูกลบออกไปด้วย  แต่ถ้ากำหนดจำนวนครั้งให้กับคำสั่ง C-k ก็จะหมายถึง ให้ลบ
+บรรทัดออก (ทั้งเนื้อหาและตัวบรรทัด) เป็นจำนวนบรรทัด เท่ากับจำนวนครั้งที่กำหนด
 
-     ,T:CC07Q1407Uh1`0>Th1'E:MM!d;(B ,T(P06Y1!`0!g1:d0Gi1(B ,TaEPJRARC69S!0EQ1:0$W19ARd04i1(B ,Tb4Bc0*i1$S0JQh1'(B C-y
+     บรรทัดที่เพิ่งลบออกไป จะถูกเก็บไว้ และสามารถนำกลับคืนมาได้ โดยใช้คำสั่ง C-y
 
-       >> ,TEM'!4(B C-y 0,T4Y1(B
+       >> ลองกด C-y ดู
 
-     0,T"i1M$GRA07Uh106Y1!E:MM!(B ,Tb4B!RC!4(B C-k ,TKERB(B ,Tf(B ,T$0CQi1'(B  ,T(P06Y1!`0!g1:CG:CGAd0Gi1(B ,TaEPJRARC69S(B
-,T!0EQ1:AR07Qi1'KA4d04i1c9$0CQi1'`04U1BG(B ,Tb4B!RC!4(B C-y
+     ข้อความที่ถูกลบออก โดยการกด C-k หลาย ๆ ครั้ง  จะถูกเก็บรวบรวมไว้ และสามารถนำ
+กลับมาทั้งหมดได้ในครั้งเดียว โดยการกด C-y
 
-       >> ,TEM'!4(B C-k 0,T4Y1KERB(B ,Tf(B ,T$0CQi1'(B
+       >> ลองกด C-k ดูหลาย ๆ ครั้ง
 
-       >> ,T$S0JQh1'JSK0CQ1:`0CU1B!0"i1M$GRA!0EQ1:AR(B 0,T$W1M(B C-y   0,T!h1M90MWh19c0Ki1`0EWh1M9`$M0Cl1`+M0Cl1E'd;0"i1R'0Eh1R'(B
-          0,TJQ1!JM'JRA:CC07Q14(B  ,Ta0Ei1GEM'!4(B C-y 0,T4Y1(B 0,T!g1(PJRARC60$Q14EM!(B (copy) 0,T"i1M$GRAd04i1(B
+       >> คำสั่งสำหรับเรียกข้อความกลับมา คือ C-y   ก่อนอื่นให้เลื่อนเคอร์เซอร์ลงไปข้างล่าง
+          สักสองสามบรรทัด  แล้วลองกด C-y ดู ก็จะสามารถคัดลอก (copy) ข้อความได้
 
-     0,T6i1R5M909Ui1`0!g1:0"i1M$GRAMPdC:R'M0Bh1R'd0Gi1(B  ,Ta0Ei1GE:0"i1M$GRA0MWh19`0>Th1A`0"i1Rd;0MU1!(B ,T(P`0!T14MPdC0"Vi19(B
-,T<E0EQ1>08l10$W1M(B C-y ,T(P`0CU1B!0$W19d04i1a0$h1`0>U1B'0"i1M$GRA07Uh1E:MM!$0CQi1'0Eh1R0JX14`07h1R09Qi19(B
+     ถ้าตอนนี้เก็บข้อความอะไรบางอย่างไว้  แล้วลบข้อความอื่นเพิ่มเข้าไปอีก จะเกิดอะไรขึ้น
+ผลลัพธ์คือ C-y จะเรียกคืนได้แค่เพียงข้อความที่ลบออกครั้งล่าสุดเท่านั้น
 
 
-       >> ,TEM'E::CC07Q1404Y1K09Vh1':CC07Q14(B  ,Ta0Ei1G`0EWh1M9`$M0Cl1`+M0Cl1d;07Uh10MWh19(B  ,Ta0Ei1GE::CC07Q14MM!04Y10MU1!K09Vh1'(B
-          ,T:CC07Q14(B  ,TEM'!4(B C-y 0,T4Y1(B ,Ta0Ei1G0JQ1'`!504Y10Gh1R(Pd04i1a0$h1`0>U1B':CC07Q1407Uh1JM'0$W19`07h1R09Qi19(B
+       >> ลองลบบรรทัดดูหนึ่งบรรทัด  แล้วเลื่อนเคอร์เซอร์ไปที่อื่น  แล้วลบบรรทัดออกดูอีกหนึ่ง
+          บรรทัด  ลองกด C-y ดู แล้วสังเกตดูว่าจะได้แค่เพียงบรรทัดที่สองคืนเท่านั้น
 
-,T!RC0MQ1904Y1(B (UNDO)
+การอันดู (UNDO)
 =============
 
-     ,T`GER07Uh1a0!i1d"0"i1M$GRA:R'M0Bh1R'(B ,Ta0Ei1G05i1M'!RC(P`;0EUh1B9!0EQ1:c0Ki1`0;g19M0Bh1R'`04T1A(B  0,T!g1JRARC67Sd04i107X1!(B
-,T`0AWh1M04i1GB$S0JQh1'(B C-x u   ,Tb4B;!05T1(B ,T(Pc0*i1JSK0CQ1:B!`0ET1!$S0JQh1'(B 0,T7Uh10;i1M9`0"i1Rd;b4Bd0Ah105Qi1'c((B  ,TJRARC6c0*i1(B
-,T$S0JQh1'09Ui10!Uh1$0CQi1'0!g1d04i15RA05i1M'!RC(B
+     เวลาที่แก้ไขข้อความบางอย่าง แล้วต้องการจะเปลี่ยนกลับให้เป็นอย่างเดิม  ก็สามารถทำได้ทุก
+เมื่อด้วยคำสั่ง C-x u   โดยปกติ จะใช้สำหรับยกเลิกคำสั่ง ที่ป้อนเข้าไปโดยไม่ตั้งใจ  สามารถใช้
+คำสั่งนี้กี่ครั้งก็ได้ตามต้องการ
 
-       >> ,TEM'E::CC07Q1409Ui1MM!04Y1(B 0,T4i1GB$S0JQh1'(B C-k ,Ta0Ei1G`0CU1B!!0EQ1:0$W19AR04i1GB(B C-x u
+       >> ลองลบบรรทัดนี้ออกดู ด้วยคำสั่ง C-k แล้วเรียกกลับคืนมาด้วย C-x u
 
-     ,T$S0JQh1'(B C-_ 0,T!g1`0;g19$S0JQh1'0MQ1904Y10MU1!0MQ19K09Vh1'(B  ,T$GRAJRARC6`K0AW1M90!Q1:$S0JQh1'(B C-x u
+     คำสั่ง C-_ ก็เป็นคำสั่งอันดูอีกอันหนึ่ง  ความสามารถเหมือนกับคำสั่ง C-x u
 
-     ,TJRARC6!SK94(S9G9$0CQi1'c0Ki1$S0JQh1'(B C-_ ,TaEP(B C-x u ,Td04i1(B
+     สามารถกำหนดจำนวนครั้งให้คำสั่ง C-_ และ C-x u ได้
 
 
-,Ta0?i1A0"i1M0AY1E(B (File)
+แฟ้มข้อมูล (File)
 ==============
 
-     ,T`CR(S`0;g1905i1M'`0!g1:0CQ1!IR(B (save) 0,T"i1M$GRA07Uh1a0!i1d"d0Gi1c9a0?i1A0"i1M0AY1E(B  0,T6i1R05i1M'!RC(Pc0Ki10JTh1'07Uh1(B
-,Ta0!i1d"`;0EUh1B9d;M0Bh1R'6RGC(B  ,Td0Ah1`0*h1909Qi19(B 0,TJTh1'07Uh1a0!i1d"d;0!g1(PKRBd;(B 0,T7Q1907U107Uh1`0ET1!!RCc0*i1(B Emacs
+     เราจำเป็นต้องเก็บรักษา (save) ข้อความที่แก้ไขไว้ในแฟ้มข้อมูล  ถ้าต้องการจะให้สิ่งที่
+แก้ไขเปลี่ยนไปอย่างถาวร  ไม่เช่นนั้น สิ่งที่แก้ไขไปก็จะหายไป ทันทีที่เลิกการใช้ Emacs
 
-     ,Ta0?i1A0"i1M0AY1E07Uh1AM'`0Kg19M0BYh1(B 0,T$W1M0JTh1'07Uh10:Q1907V1!0JTh1'07Uh1!S0EQ1'a0!i1d"M0BYh1(B  ,TK0CW1M0>Y140'h1RB(B ,Tf(B 0,T!g10$W1Ma0?i1A0"i1M0AY1E07Uh1AM'`0Kg19(B
-,TM0BYh10$W1M05Q1Ga0?i1A0"i1M0AY1E07Uh1!S0EQ1'a0!i1d"M0BYh1(B
+     แฟ้มข้อมูลที่มองเห็นอยู่ คือสิ่งที่บันทึกสิ่งที่กำลังแก้ไขอยู่  หรือพูดง่าย ๆ ก็คือแฟ้มข้อมูลที่มองเห็น
+อยู่คือตัวแฟ้มข้อมูลที่กำลังแก้ไขอยู่
 
-     ,Ta05h1(9!0Gh1Ra0?i1A0"i1M0AY1E(P06Y1!`0!g1:0CQ1!IR(B (save) ,TE'd;(B  ,Ta0?i1A0"i1M0AY1E07Uh106Y1!a0!i1d"M0BYh1(B ,T(Pd0Ah106Y1!`0"U1B907Q1:(B
-,TE'd;M0Bh1R'`04g14"R4(B  0,TMQ1909Ui1`0>Wh1M`0;g19!RC0;i1M'0!Q19!RC`0"U1B907Q1:a0?i1A0"i1M0AY1E07Uh1a0!i1d"d;a::$0CVh1'(B ,Tf(B ,T!ER'(B ,Tf(B
-,Tb4Bd0Ah1d04i105Qi1'c((B
+     แต่จนกว่าแฟ้มข้อมูลจะถูกเก็บรักษา (save) ลงไป  แฟ้มข้อมูลที่ถูกแก้ไขอยู่ จะไม่ถูกเขียนทับ
+ลงไปอย่างเด็ดขาด  อันนี้เพื่อเป็นการป้องกันการเขียนทับแฟ้มข้อมูลที่แก้ไขไปแบบครึ่ง ๆ กลาง ๆ
+โดยไม่ได้ตั้งใจ
 
-     ,T9M!(R!09Ui1(B ,T`0>Wh1M`0;g19!RC0;i1M'0!Q19!RC`0!g1:0CQ1!IR(B (save) 0,TJTh1'07Uh1a0!i1d"0<T14d;b4Bd0Ah105Qi1'c((B  Emacs
-,T(P`;0EUh1B90*Wh1Ma0?i1A0"i1M0AY1E05i19)0:Q1:`0!g1:d0Gi1c0Ki1(B 0,T!h1M9!RC`0!g1:0CQ1!IR(B
+     นอกจากนี้ เพื่อเป็นการป้องกันการเก็บรักษา (save) สิ่งที่แก้ไขผิดไปโดยไม่ตั้งใจ  Emacs
+จะเปลี่ยนชื่อแฟ้มข้อมูลต้นฉบับเก็บไว้ให้ ก่อนการเก็บรักษา
 
-,TKARB`K05X1(B:       Emacs 0,TBQ1'0AU1!RC0;i1M'0!Q190MX10:Q105T1`K05X107Uh1$R4d0Ah106V1'(B ,Tb4B!RC`0!g1:0CQ1!IRa0?i1A0"i1M0AY1E07Uh1!S0EQ1'(B
-               ,Ta0!i1d"M0BYh1`0;g19CPBP(B ,Tf(B ,Tb4Bc0*i10*Wh1Ma0?i1A0"i1M0AY1E05h1R'0!Q19(B  0,T4i1GB0GT108U109Ui1(B ,T(P7Sc0Ki1JRARC6E4(B
-               ,T$GRA`0JU1BKRB07Uh1MR(`0!T140"Vi19d04i1(B  ,Tc0Ki109i1MB07Uh10JX14`07h1R07Uh1(P7Sd04i1(B
+หมายเหตุ:       Emacs ยังมีการป้องกันอุบัติเหตุที่คาดไม่ถึง โดยการเก็บรักษาแฟ้มข้อมูลที่กำลัง
+               แก้ไขอยู่เป็นระยะ ๆ โดยใช้ชื่อแฟ้มข้อมูลต่างกัน  ด้วยวิธีนี้ จะทำให้สามารถลด
+               ความเสียหายที่อาจเกิดขึ้นได้  ให้น้อยที่สุดเท่าที่จะทำได้
 
-     ,T5C'0Jh1G90Eh1R'"M'(M(B ,T(P0AU1:CC07Q14bKA4(B (mode line) ,Tc90EQ1!I3P0"i1R'0Eh1R'aJ4'M0BYh1(B
+     ตรงส่วนล่างของจอ จะมีบรรทัดโหมด (mode line) ในลักษณะข้างล่างแสดงอยู่
 
 
-(0,T5Q1GM0Bh1R'(B) [--]J:--**-Mule: TUTORIAL.th    (Fundamental) ---55%--------------
+(ตัวอย่าง) [--]J:--**-Mule: TUTORIAL.th    (Fundamental) ---55%--------------
 
 
-     ,T)0:Q1:JS`9R"M'(B Tutorial ,T"M'(B Emacs 0,T7Uh1!S0EQ1'0Mh1R9M0BYh109Ui10*Wh1M(B TUTORIAL.th  ,T`GER07Uh10JQh1'c0Ki1KR(B
-,Ta0?i1A0"i1M0AY1EK0CW1M(B find-file (0,T$i19KRa0?i1A0"i1M0AY1E(B ,Ta0Ei1G0Mh1R9`0"i1RARc90:Q1?`?M0Cl1(B) 0,T!g1(PaJ4'0*Wh1Ma0?i1A0"i1M0AY1Ed0Gi1(B
-,T5C'0Jh1G9(B TUTORIAL.th  0,T5Q1GM0Bh1R'`0*h19(B 0,T6i1R0JQh1'c0Ki1KRa0?i1A0"i1M0AY1E0*Wh1M(B new-file  ,T:CC07Q14bKA40!g1(PaJ4'(B
-,T<E0Gh1R(B "Mule: new-file"
+     ฉบับสำเนาของ Tutorial ของ Emacs ที่กำลังอ่านอยู่นี้ชื่อ TUTORIAL.th  เวลาที่สั่งให้หา
+แฟ้มข้อมูลหรือ find-file (ค้นหาแฟ้มข้อมูล แล้วอ่านเข้ามาในบัฟเฟอร์) ก็จะแสดงชื่อแฟ้มข้อมูลไว้
+ตรงส่วน TUTORIAL.th  ตัวอย่างเช่น ถ้าสั่งให้หาแฟ้มข้อมูลชื่อ new-file  บรรทัดโหมดก็จะแสดง
+ผลว่า "Mule: new-file"
 
-,TKARB`K05X1(B:       ,T(P0AU1$SM08T1:RB`0>Th1A`05T1A`0!Uh1BG0!Q1::CC07Q14bKA4(B (mode line) ,Tc95M9K0EQ1'(B
+หมายเหตุ:       จะมีคำอธิบายเพิ่มเติมเกี่ยวกับบรรทัดโหมด (mode line) ในตอนหลัง
 
-     ,T$S0JQh1'c0Ki1KRa0?i1A0"i1M0AY1E(B ,TaEP$S0JQh1'c0Ki1`0!g1:0CQ1!IRa0?i1A0"i1M0AY1E(B 0,TAU10EQ1!I3Pa5!05h1R'(R!$S0JQh1'07Uh10<h1R9(B ,Tf(B ,TAR(B
-,T5C'07Uh1(B ,T;CP!M:d;04i1GB(B 2 0,T5Q1G0MQ1!IC(B 0,T$W1M05i1M'!4$S0JQh1':R'M0Bh1R'(B ,T5RAK0EQ1'$S0JQh1'(B C-x 0,T+Vh1'KARB06V1'$S0JQh1'(B
-,T`0!Uh1BG0!Q1:a0?i1A0"i1M0AY1E(B
+     คำสั่งให้หาแฟ้มข้อมูล และคำสั่งให้เก็บรักษาแฟ้มข้อมูล มีลักษณะแตกต่างจากคำสั่งที่ผ่าน ๆ มา
+ตรงที่ ประกอบไปด้วย 2 ตัวอักษร คือต้องกดคำสั่งบางอย่าง ตามหลังคำสั่ง C-x ซึ่งหมายถึงคำสั่ง
+เกี่ยวกับแฟ้มข้อมูล
 
-     ,TaEP0MU1!0(X14K09Vh1'(B ,Ta05h1a5!05h1R'(R!$S0JQh1'07Uh10<h1R9AR0$W1M(B ,T`GER0JQh1'c0Ki10$i19KRa0?i1A0"i1M0AY1E(B ,T`CR(P06Y1!(B Emacs
-,T6RA0*Wh1M"M'a0?i1A0"i1M0AY1E09Qi19(B ,Tf(B  ,T`CR`0CU1B!$S0JQh1'`K0Eh1R09Qi190Gh1R(B ,T$S0JQh1';CP`@707Uh16RA05Q1G`0EW1M!(B (argument)
-,T(R!`7M0Cl10AT109Q1E(B
+     และอีกจุดหนึ่ง แต่แตกต่างจากคำสั่งที่ผ่านมาคือ เวลาสั่งให้ค้นหาแฟ้มข้อมูล เราจะถูก Emacs
+ถามชื่อของแฟ้มข้อมูลนั้น ๆ  เราเรียกคำสั่งเหล่านั้นว่า คำสั่งประเภทที่ถามตัวเลือก (argument)
+จากเทอร์มินัล
 
-,TKARB`K05X1(B:       ,Tc907Uh109Ui1(B 0,T5Q1G`0EW1M!(B (argument) 0,T$W1M0*Wh1Ma0?i1A0"i1M0AY1E(B
+หมายเหตุ:       ในที่นี้ ตัวเลือก (argument) คือชื่อแฟ้มข้อมูล
 
-                    C-x C-f   0,TJQh1'c0Ki1KR(B (find) ,Ta0?i1A0"i1M0AY1E(B
+                    C-x C-f   สั่งให้หา (find) แฟ้มข้อมูล
 
-     ,Ta0Ei1G(B Emacs ,T(P6RA0*Wh1M"M'a0?i1A0"i1M0AY1E(B ,Tb4B;CR!/0"Vi1907Uh10Jh1G90Eh1R'"M'(M(B  ,T`CR`0CU1B!0Jh1G907Uh1c0Ki10;i1M9(B
-0,T*Wh1Ma0?i1A0"i1M0AY1E09Qi190Gh1R(B 0,TAT109T10:Q1?`?M0Cl1(B (mini buffer)  0,TAT109T10:Q1?`?M0Cl1(P06Y1!c0*i1'R9c90EQ1!I3P09Ui1(B  0,TAT109T10:Q1?`?M0Cl1(B
-,T(PKA4K09i1R07Uh1aEPKRBd;(B ,TK0EQ1'(R!07Uh10;i1M90*Wh1Ma0?i1A0"i1M0AY1E(B ,Ta0Ei1G!40;Xh1A(B <Return> 
+     แล้ว Emacs จะถามชื่อของแฟ้มข้อมูล โดยปรากฏขึ้นที่ส่วนล่างของจอ  เราเรียกส่วนที่ให้ป้อน
+ชื่อแฟ้มข้อมูลนั้นว่า มินิบัฟเฟอร์ (mini buffer)  มินิบัฟเฟอร์จะถูกใช้งานในลักษณะนี้  มินิบัฟเฟอร์
+จะหมดหน้าที่และหายไป หลังจากที่ป้อนชื่อแฟ้มข้อมูล แล้วกดปุ่ม <Return> 
 
-       >> ,TEM'!4(B C-x C-f ,Ta0Ei1G5RA04i1GB(B C-g 0,T4Y1(B  ,T`0;g19!RC0JQh1'B!`0ET1!`09Wi1MKRc90AT109T10:Q1?`?M0Cl1(B ,TK0CW1M(B
-          ,TB!`0ET1!$S0JQh1'(B C-x C-f  0,T4Q1'09Qi19(B Emacs ,T(Pd0Ah10$i19KRa0?i1A0"i1M0AY1Ec4(B ,Tf(B
+       >> ลองกด C-x C-f แล้วตามด้วย C-g ดู  เป็นการสั่งยกเลิกเนื้อหาในมินิบัฟเฟอร์ หรือ
+          ยกเลิกคำสั่ง C-x C-f  ดังนั้น Emacs จะไม่ค้นหาแฟ้มข้อมูลใด ๆ
 
-     ,T$CRG09Ui1(B ,TAREM'`0!g1:0CQ1!IRa0?i1A0"i1M0AY1E04Y1(B  ,T`GER07Uh105i1M'!RC`0!g1:0CQ1!IR0JTh1'07Uh1a0!i1d"AR(906V1'5M909Ui1(B 0,T!g1c0Ki1c0*i1(B
-,T$S0JQh1'04Q1'09Ui1(B
+     คราวนี้ มาลองเก็บรักษาแฟ้มข้อมูลดู  เวลาที่ต้องการเก็บรักษาสิ่งที่แก้ไขมาจนถึงตอนนี้ ก็ให้ใช้
+คำสั่งดังนี้
 
-     C-x C-s   ,T`0!g1:0CQ1!IR(B (save) ,Ta0?i1A0"i1M0AY1E(B
+     C-x C-s   เก็บรักษา (save) แฟ้มข้อมูล
 
-     ,Ta0Ei1G`09Wi1MKR07Uh1M0BYh1c9(B Emacs 0,T!g1(P06Y1!`0"U1B9E'd;07Uh1a0?i1A0"i1M0AY1E(B  ,T`GER`0!g1:0CQ1!IRa0?i1A0"i1M0AY1E(B ,Ta0?i1A0"i1M0AY1E(B
-0,T5i19)0:Q1:(Pd0Ah10JY1-KRBd;(B ,Ta05h1(P06Y1!`0!g1:d0Gi1c90*Wh1McK0Ah1(B  0,T+Vh1'd04i1AR(R!0*Wh1M`0!h1R07Uh105h1M07i1RB04i1GB(B '~'
+     แล้วเนื้อหาที่อยู่ใน Emacs ก็จะถูกเขียนลงไปที่แฟ้มข้อมูล  เวลาเก็บรักษาแฟ้มข้อมูล แฟ้มข้อมูล
+ต้นฉบับจะไม่สูญหายไป แต่จะถูกเก็บไว้ในชื่อใหม่  ซึ่งได้มาจากชื่อเก่าที่ต่อท้ายด้วย '~'
 
-     ,TK0EQ1'(R!07Uh1`0!g1:0CQ1!IRa0?i1A0"i1M0AY1E`J0Cg1(a0Ei1G(B  Emacs 0,T!g1(PaJ4'0*Wh1Ma0?i1A0"i1M0AY1E07Uh1`0!g1:c0Ki104Y1(B
+     หลังจากที่เก็บรักษาแฟ้มข้อมูลเสร็จแล้ว  Emacs ก็จะแสดงชื่อแฟ้มข้อมูลที่เก็บให้ดู
 
-       >> ,TEM'!4(B C-x C-x ,T`0>Wh1M`0!g1:0CQ1!IRJS`9R"M'(B Tutorial 0,T9Ui104Y1(B  0,T!g1(P`0Kg190Gh1R(B 0,T7Uh10Jh1G90Eh1R'(B
-          ,T"M'(M(B 0,TAU10"i1M$GRA0Gh1R(B "Wrote ...../TUTORIAL.th" ,T;CR!/0"Vi19(B
+       >> ลองกด C-x C-x เพื่อเก็บรักษาสำเนาของ Tutorial นี้ดู  ก็จะเห็นว่า ที่ส่วนล่าง
+          ของจอ มีข้อความว่า "Wrote ...../TUTORIAL.th" ปรากฏขึ้น
 
-     ,T`GER07Uh1(PJ0Ci1R'a0?i1A0"i1M0AY1EcK0Ah1(B  0,T!g1c0Ki17SCRG0!Q1:0Gh1R(P0$i19KR(B (find-file) ,Ta0?i1A0"i1M0AY1E`0!h1R0+Vh1'0AU1(B
-,TM0BYh10!h1M9K09i1R09Ui1a0Ei1G(B  ,Ta0Ei1G0>T1A0>l10"i1M$GRAE'd;c9a0?i1A0"i1M0AY1E07Uh1KR`(M(B
+     เวลาที่จะสร้างแฟ้มข้อมูลใหม่  ก็ให้ทำราวกับว่าจะค้นหา (find-file) แฟ้มข้อมูลเก่าซึ่งมี
+อยู่ก่อนหน้านี้แล้ว  แล้วพิมพ์ข้อความลงไปในแฟ้มข้อมูลที่หาเจอ
 
-     ,TaEP`GER07Uh10JQh1'`0!g1:0CQ1!IRa0?i1A0"i1M0AY1E`07h1R09Qi19(B  0,T$W1M5M907Uh1(B Emacs ,T(P`0!g1:`09Wi1MKR07Uh1a0!i1d"AR07Qi1'KA4(B ,TE'(B
-,Tc9a0?i1A0"i1M0AY1E`0;g19$0CQi1'aC!(B
+     และเวลาที่สั่งเก็บรักษาแฟ้มข้อมูลเท่านั้น  คือตอนที่ Emacs จะเก็บเนื้อหาที่แก้ไขมาทั้งหมด ลง
+ในแฟ้มข้อมูลเป็นครั้งแรก
 
 
-0,T:Q1?`?M0Cl1(B (Buffer)
+บัฟเฟอร์ (Buffer)
 ===============
 
-     0,T6i1RKR!0JQh1'c0Ki1KRa0?i1A0"i1M0AY1E0MQ1907Uh1JM'(B 0,T4i1GB$S0JQh1'(B C-x C-f  ,T`09Wi1MKR"M'a0?i1A0"i1M0AY1EaC!(B 0,T!g1(P0BQ1'$'(B
-0,T6Y1!`0!g1:0CQ1!IRM0BYh1c9(B Emacs  0,TJTh1'07Uh1`0!g1:0CQ1!IRa0?i1A0"i1M0AY1E07Uh10Mh1R9`0"i1RAR(B 0,T+Vh1'M0BYh1@RBc9(B Emacs ,T`0CU1B!0Gh1R(B
-0,T:Q1?`?M0Cl1(B (Buffer)  ,T`GER07Uh10Mh1R9a0?i1A0"i1M0AY1EcK0Ah1`0"i1RAR(B Emacs 0,T!g1(PJ0Ci1R'0:Q1?`?M0Cl1cK0Ah1(B 0,T"Vi19AR@RBc9(B
+     ถ้าหากสั่งให้หาแฟ้มข้อมูลอันที่สอง ด้วยคำสั่ง C-x C-f  เนื้อหาของแฟ้มข้อมูลแรก ก็จะยังคง
+ถูกเก็บรักษาอยู่ใน Emacs  สิ่งที่เก็บรักษาแฟ้มข้อมูลที่อ่านเข้ามา ซึ่งอยู่ภายใน Emacs เรียกว่า
+บัฟเฟอร์ (Buffer)  เวลาที่อ่านแฟ้มข้อมูลใหม่เข้ามา Emacs ก็จะสร้างบัฟเฟอร์ใหม่ ขึ้นมาภายใน
 
-     0,T6i1R05i1M'!RC(P04Y1CRB!RC"M'0:Q1?`?M0Cl1(B 0,T7Uh106Y1!`0!g1:0CQ1!IRM0BYh1@RBc9(B Emacs  0,T!g1c0Ki1!4$S0JQh1'(B
+     ถ้าต้องการจะดูรายการของบัฟเฟอร์ ที่ถูกเก็บรักษาอยู่ภายใน Emacs  ก็ให้กดคำสั่ง
 
      C-x C-b
 
-       >> ,TEM'!4(B C-x C-b 0,T4Y1(B  0,TJQ1'`!504Y10Gh1Ra05h1EP0:Q1?`?M0Cl10AU10*Wh1M0Gh1RMPdC(B  ,TaEP06Y1!05Qi1'0*Wh1Md0Gi10Gh1R(B
-          ,TM0Bh1R'dC(B ,Tc9(B Emacs
+       >> ลองกด C-x C-b ดู  สังเกตดูว่าแต่ละบัฟเฟอร์มีชื่อว่าอะไร  และถูกตั้งชื่อไว้ว่า
+          อย่างไร ใน Emacs
 
-     0,TAU1:R'0:Q1?`?M0Cl1(B 0,T7Uh1d0Ah10AU10$Yh10!Q1:a0?i1A0"i1M0AY1E(0CT1'(B ,Tf(B  0,T5Q1GM0Bh1R'`0*h19(B ,Td0Ah10AU1a0?i1A0"i1M0AY1E07Uh10AU10*Wh1M0Gh1R(B "*Buffer
-List*" ,TM0BYh1(0CT1'(B ,Tf(B  ,Ta05h1`0;g190:Q1?`?M0Cl107Uh1J0Ci1R'0"Vi19AR`0>Wh1MaJ4'CRB!RC0:Q1?`?M0Cl1(B ,Tb4B$S0JQh1'(B C-x C-b
+     มีบางบัฟเฟอร์ ที่ไม่มีคู่กับแฟ้มข้อมูลจริง ๆ  ตัวอย่างเช่น ไม่มีแฟ้มข้อมูลที่มีชื่อว่า "*Buffer
+List*" อยู่จริง ๆ  แต่เป็นบัฟเฟอร์ที่สร้างขึ้นมาเพื่อแสดงรายการบัฟเฟอร์ โดยคำสั่ง C-x C-b
 
-     0,T"i1M$GRA07X1!0"i1M$GRA07Uh1;CR!/M0BYh1c90GT19b40Gl1"M'(B Emacs 0,T9Qi19(B ,T(PM0BYh1c90:Q1?`?M0Cl1c40:Q1?`?M0Cl1K09Vh1'`JAM(B
+     ข้อความทุกข้อความที่ปรากฏอยู่ในวินโดว์ของ Emacs นั้น จะอยู่ในบัฟเฟอร์ใดบัฟเฟอร์หนึ่งเสมอ
 
-       >> ,TEM'!4(B C-x 1 ,T`0>Wh1ME:CRB!RC0:Q1?`?M0Cl1MM!04Y1(B
+       >> ลองกด C-x 1 เพื่อลบรายการบัฟเฟอร์ออกดู
 
-     ,T!RC`0CU1B!a0?i1A0"i1M0AY1E0MWh190"Vi19ARa0!i1d"(B ,T5M907Uh1!S0EQ1'a0!i1d"a0?i1A0"i1M0AY1EK09Vh1'M0BYh109Qi19(B  ,T(Pd0Ah17Sc0Ki1a0?i1A0"i1M0AY1E(B
-,TaC!06Y1!`0!g1:0CQ1!IR(B  0,TJTh1'07Uh1a0!i1d"d;c9a0?i1A0"i1M0AY1EaC!(P06Y1!0:Q1907V1!d0Gi1c90:Q1?`?M0Cl1"M'a0?i1A0"i1M0AY1E09Qi19(B ,T`07h1R09Qi19(B
+     การเรียกแฟ้มข้อมูลอื่นขึ้นมาแก้ไข ตอนที่กำลังแก้ไขแฟ้มข้อมูลหนึ่งอยู่นั้น  จะไม่ทำให้แฟ้มข้อมูล
+แรกถูกเก็บรักษา  สิ่งที่แก้ไขไปในแฟ้มข้อมูลแรกจะถูกบันทึกไว้ในบัฟเฟอร์ของแฟ้มข้อมูลนั้น เท่านั้น
 
-     ,T!RCJ0Ci1R'0:Q1?`?M0Cl1cK0Ah10"Vi19(B ,TJSK0CQ1:a0!i1d"a0?i1A0"i1M0AY1E0MQ1907Uh1JM'(B ,Ta0Ei1Ga0!i1MPdC:R'M0Bh1R'c90:Q1?`?M0Cl109Qi19(B
-,T(Pd0Ah10AU1<Ec4(B ,Tf(B 0,T5h1M0:Q1?`?M0Cl1"M'a0?i1A0"i1M0AY1E0MQ1907Uh1K09Vh1'07Qi1'0JTi19(B  0,T(X1409Ui17Sc0Ki1JRARC6`0!g1:a0?i1A0"i1M0AY1EaC!d0Gi1`0>Wh1M(B
-,Ta0!i1d"c95M9K0EQ1'(B
+     การสร้างบัฟเฟอร์ใหม่ขึ้น สำหรับแก้ไขแฟ้มข้อมูลอันที่สอง แล้วแก้อะไรบางอย่างในบัฟเฟอร์นั้น
+จะไม่มีผลใด ๆ ต่อบัฟเฟอร์ของแฟ้มข้อมูลอันที่หนึ่งทั้งสิ้น  จุดนี้ทำให้สามารถเก็บแฟ้มข้อมูลแรกไว้เพื่อ
+แก้ไขในตอนหลัง
 
-     ,Ta05h1`GER07Uh105i1M'!RC(P`0!g1:0CQ1!IR(B (save) 0,T:Q1?`?M0Cl1E'd;c9a0?i1A0"i1M0AY1E(B 0,T4i1GB$S0JQh1'(B C-x C-s 0,T9Qi19(B
-,T(P05i1M'J0GT170+l1d;0BQ1'0:Q1?`?M0Cl107Uh105i1M'!RC(P`0!g1:(B 0,T4i1GB$S0JQh1'(B C-x C-f 0,T+Vh1'0$h1M90"i1R'0BXh1'BR!(B  ,T`CR0AU1$S0JQh1'0+Vh1'(B
-,Tc0*i1JSK0CQ1:!RC09Ui1b4B`)>RP(B 0,T$W1M(B
+     แต่เวลาที่ต้องการจะเก็บรักษา (save) บัฟเฟอร์ลงไปในแฟ้มข้อมูล ด้วยคำสั่ง C-x C-s นั้น
+จะต้องสวิทซ์ไปยังบัฟเฟอร์ที่ต้องการจะเก็บ ด้วยคำสั่ง C-x C-f ซึ่งค่อนข้างยุ่งยาก  เรามีคำสั่งซึ่ง
+ใช้สำหรับการนี้โดยเฉพาะ คือ
 
-     C-x s   ,T`0!g1:0CQ1!IR(B (save) 0,T7X1!0:Q1?`?M0Cl107Uh10AU1M0BYh1(B
+     C-x s   เก็บรักษา (save) ทุกบัฟเฟอร์ที่มีอยู่
 
-     C-x s ,T(P`0!g1:0CQ1!IR07X1!0:Q1?`?M0Cl107Uh106Y1!a0!i1d"`09Wi1MKRd;(B ,TE'c9a0?i1A0"i1M0AY1E(B ,Tb4B(P6RA0!h1M90Gh1R(Pc0Ki1(B
-,T`0!g1:0:Q1?`?M0Cl109Ui1dKA(B y ,TK0CW1M(B n 0,T!Q1:0:Q1?`?M0Cl1a05h1EP0:Q1?`?M0Cl1(B  ,T$S6RA(P;CR!/c90Jh1G90Eh1R'"M'K09i1R(M(B 0,T4Q1'(B
-0,T5Q1GM0Bh1R'09Ui1(B
+     C-x s จะเก็บรักษาทุกบัฟเฟอร์ที่ถูกแก้ไขเนื้อหาไป ลงในแฟ้มข้อมูล โดยจะถามก่อนว่าจะให้
+เก็บบัฟเฟอร์นี้ไหม y หรือ n กับบัฟเฟอร์แต่ละบัฟเฟอร์  คำถามจะปรากฏในส่วนล่างของหน้าจอ ดัง
+ตัวอย่างนี้
 
              Save file  /usr/private/yours/TUTORIAL.th? (y or n)
 
 
 
-,T!RC"BRB$S0JQh1'(B (extension)
+การขยายคำสั่ง (extension)
 =======================
 
-     ,Tc9b;Ca!CA(B Editor 0,T9Ui1(B 0,TAU1(S9G9$S0JQh1'AR!!0Gh1R(B ,T(S9G9$S0JQh1'0+Vh1'JRARC6!4d04i1b4B0;Xh1A$M9b7CE(B
-,TK0CW1M0;Xh1A(B META ,Td04i1KA4(B  ,T$S0JQh1'"BRB(B (eXtend) 0,TAU1d0Gi1`0>Wh1Mc0Ki1JRARC6c0*i1$S0JQh1'`K0Eh1R09Ui1d04i1KA4(B 0,TAU1M0BYh1(B 2
-,Ta::(B 0,T4Q1'09Ui1(B
+     ในโปรแกรม Editor นี้ มีจำนวนคำสั่งมากกว่า จำนวนคำสั่งซึ่งสามารถกดได้โดยปุ่มคอนโทรล
+หรือปุ่ม META ได้หมด  คำสั่งขยาย (eXtend) มีไว้เพื่อให้สามารถใช้คำสั่งเหล่านี้ได้หมด มีอยู่ 2
+แบบ ดังนี้
 
-     C-x     ,T"BRB`0>Th1A04i1GB05Q1G0MQ1!IC(B ,TJSK0CQ1:!405Q1G0MQ1!IC5RA`0"i1Rd;(B 1 0,T5Q1G(B
-     ESC x   ,T"BRB`0>Th1A04i1GB0*Wh1M$S0JQh1'(B ,TJSK0CQ1:!40*Wh1M$S0JQh1'5RA`0"i1Rd;07Qi1'KA4(B
+     C-x     ขยายเพิ่มด้วยตัวอักษร สำหรับกดตัวอักษรตามเข้าไป 1 ตัว
+     ESC x   ขยายเพิ่มด้วยชื่อคำสั่ง สำหรับกดชื่อคำสั่งตามเข้าไปทั้งหมด
 
-     ,T$S0JQh1';CP`@709Ui1(B 0,T!g1`0;g19$S0JQh1'07Uh10AU1;CPbB*09l1(B  ,Ta05h10Jh1G9cK0-h1(P06Y1!`0CU1B!c0*i1(B 0,T9i1MB$0CQi1'!0Gh1R$S0JQh1'07Qh1Gd;(B
-0,T5Q1GM0Bh1R'`0*h19(B ,T$S0JQh1'KRa0?i1A0"i1M0AY1E(B (find) C-x C-f  ,T$S0JQh1'`0!g1:0CQ1!IRa0?i1A0"i1M0AY1E(B (save) C-x C-s
-,T$S0JQh1'(B C-x C-c (,T`0ET1!(B Editor) 0,T5h1R'0!g1`0;g19K09Vh1'c9$S0JQh1'`K0Eh1R09Ui1(B
+     คำสั่งประเภทนี้ ก็เป็นคำสั่งที่มีประโยชน์  แต่ส่วนใหญ่จะถูกเรียกใช้ น้อยครั้งกว่าคำสั่งทั่วไป
+ตัวอย่างเช่น คำสั่งหาแฟ้มข้อมูล (find) C-x C-f  คำสั่งเก็บรักษาแฟ้มข้อมูล (save) C-x C-s
+คำสั่ง C-x C-c (เลิก Editor) ต่างก็เป็นหนึ่งในคำสั่งเหล่านี้
 
-     ,T$S0JQh1'(B C-z ,T`0;g19$S0JQh1'07Uh1c0*i1c9c9!RCMM!(R!(B Emacs 0,T$h1M90"i1R'0:h1MB(B  ,T$S0JQh1'09Ui1(Pd0Ah1B!`0ET1!(B
-Emacs ,T`EB07U1`04U1BG(B ,Ta05h1(PK0BX14(B Emacs ,Td0Gi10*Qh1G$CRG(B ,T`0>Wh1Mc0Ki1JRARC6!0EQ1:d;c0*i1(B csh ,Td04i10MU1!(B  ,T!RC!4(B
-C-z 0,T(V1'`0;g19!RCK0BX14(B Emacs ,Td0Gi10*Qh1G$CRG`07h1R09Qi19(B ,T(Pd0Ah17S$GRA`0JU1BKRBc0Ki10!Q1:`09Wi1MKR07Uh1a0!i1d"d;(B
+     คำสั่ง C-z เป็นคำสั่งที่ใช้ในในการออกจาก Emacs ค่อนข้างบ่อย  คำสั่งนี้จะไม่ยกเลิก
+Emacs เลยทีเดียว แต่จะหยุด Emacs ไว้ชั่วคราว เพื่อให้สามารถกลับไปใช้ csh ได้อีก  การกด
+C-z จึงเป็นการหยุด Emacs ไว้ชั่วคราวเท่านั้น จะไม่ทำความเสียหายให้กับเนื้อหาที่แก้ไขไป
 
-,TKARB`K05X1(B:       ,Ta05h170Gh1R(B ,Tc9!C03U107Uh1c0*i1:9(B X-window ,TK0CW1Mc0*i1(B sh ,TM0BYh1(B 0,T!g1(Pd0Ah10AU1$GRAJRARC609Ui1(B
+หมายเหตุ:       แต่ทว่า ในกรณีที่ใช้บน X-window หรือใช้ sh อยู่ ก็จะไม่มีความสามารถนี้
 
 
-     ,T$S0JQh1';CP`@7(B C-x 0,TAU1AR!ARBKERB$S0JQh1'(B  ,T$S0JQh1'07Uh1M08T1:RBd;a0Ei1G0AU104Q1'09Ui1(B
+     คำสั่งประเภท C-x มีมากมายหลายคำสั่ง  คำสั่งที่อธิบายไปแล้วมีดังนี้
 
-     C-x C-f   ,TKRa0?i1A0"i1M0AY1E(B (find) ,TJSK0CQ1:a0!i1d"(B
-     C-x C-s   ,T`0!g1:0CQ1!IRa0?i1A0"i1M0AY1E(B (save)
-     C-x C-b   ,TaJ4'CRB!RC0:Q1?`?M0Cl1(B (buffer list)
-     C-x C-c   ,T`0ET1!!RCc0*i1(B Editor ,TaEP`0!g1:0CQ1!IRa0?i1A0"i1M0AY1Eb4B0MQ15b90AQ105T1(B  ,Ta05h106i1RKR!0AU1a0?i1A(B
-               0,T"i1M0AY1E:R'0MQ1906Y1!a0!i1d"(B  0,T!g1c0Ki16RA0Gh1R(P`0!g1:0CQ1!IRa0?i1A0"i1M0AY1E09Qi19dKA(B  ,Tb4B07Qh1Gd;(B
-               ,T!RCMM!(R!(B Emacs ,T7Sd04i1b4B$S0JQh1'(B C-x C-s C-x C-c 0,T$W1Mc0Ki1`0!g1:0CQ1!IR(B
-               0,T!h1M9a0Ei1G0(V1'`0ET1!(B
+     C-x C-f   หาแฟ้มข้อมูล (find) สำหรับแก้ไข
+     C-x C-s   เก็บรักษาแฟ้มข้อมูล (save)
+     C-x C-b   แสดงรายการบัฟเฟอร์ (buffer list)
+     C-x C-c   เลิกการใช้ Editor และเก็บรักษาแฟ้มข้อมูลโดยอัตโนมัติ  แต่ถ้าหากมีแฟ้ม
+               ข้อมูลบางอันถูกแก้ไข  ก็ให้ถามว่าจะเก็บรักษาแฟ้มข้อมูลนั้นไหม  โดยทั่วไป
+               การออกจาก Emacs ทำได้โดยคำสั่ง C-x C-s C-x C-c คือให้เก็บรักษา
+               ก่อนแล้วจึงเลิก
 
-     ,T$S0JQh1'"BRB`0>Th1Aa::0*Wh1M09Qi19(B ,Tc0*i1JSK0CQ1:$S0JQh1'07Uh1d0Ah10$h1MBd04i1c0*i1(B ,TK0CW1M$S0JQh1'07Uh1c0*i1`)>RP0!Q1:bKA40>T1`HI:R'(B
-,TbKA4(B  0,T5Q1GM0Bh1R'`0*h19(B ,T$S0JQh1'(B "command-apropos" 0,T+Vh1'(P6RA(B 0,T$U10Bl1`0GT10Cl14(B (keyword) ,Ta0Ei1GaJ4'<E(B
-,T$S0JQh1'07X1!$S0JQh1'07Uh10AU10*Wh1M`0!Uh1BG0"i1M'0!Q1:0!Q1:0$U10Bl1`0GT10Cl1409Qi19(B  ,T`GER(P0JQh1'$S0JQh1'09Ui1(B 0,T!g1c0Ki1!4(B ESC x ,Ta0Ei1G(P0AU105Q1G0MQ1!IC(B
-"M-x" ,T;CR!/0"Vi1907Uh10Jh1G90Eh1R'"M'(M(B  ,T(R!09Qi190!g1c0Ki1c0Jh10*Wh1M$S0JQh1'07Uh105i1M'!RC(B (,Tc9!C03U109Ui10$W1M(B
-"command-apropos")  ,T`0AWh1M0;i1M90"i1M0AY1Ed;06V1'(B "command-a" ,Ta0Ei1G!4(B SPACE BAR 0,TJh1G907Uh1`K0EW1M"M'(B
-0,T*Wh1M$S0JQh1'0!g1(P06Y1!`05T1A`05g1A(B (completion) ,Tc0Ki1`M'b4B0MQ15b90AQ105T1(B   ,TK0EQ1'(R!09Qi19(B ,T(P06Y1!6RA0$U10Bl1`0GT10Cl14(B 0,T!g1c0Ki1(B
-,T!4JRB0MQ1!"CP(B (string) 0,T7Uh105i1M'!RC0CYi1E'd;(B  0,T5i1M'd0Ah1c0Jh10$U10Bl1`0GT10Cl14MPdC`EB(B 0,T!g1(Pd04i1$S0JQh1'07Qi1'KA407Uh10AU1M0BYh1(B
+     คำสั่งขยายเพิ่มแบบชื่อนั้น ใช้สำหรับคำสั่งที่ไม่ค่อยได้ใช้ หรือคำสั่งที่ใช้เฉพาะกับโหมดพิเศษบาง
+โหมด  ตัวอย่างเช่น คำสั่ง "command-apropos" ซึ่งจะถาม คีย์เวิร์ด (keyword) แล้วแสดงผล
+คำสั่งทุกคำสั่งที่มีชื่อเกี่ยวข้องกับกับคีย์เวิร์ดนั้น  เวลาจะสั่งคำสั่งนี้ ก็ให้กด ESC x แล้วจะมีตัวอักษร
+"M-x" ปรากฏขึ้นที่ส่วนล่างของจอ  จากนั้นก็ให้ใส่ชื่อคำสั่งที่ต้องการ (ในกรณีนี้คือ
+"command-apropos")  เมื่อป้อนข้อมูลไปถึง "command-a" แล้วกด SPACE BAR ส่วนที่เหลือของ
+ชื่อคำสั่งก็จะถูกเติมเต็ม (completion) ให้เองโดยอัตโนมัติ   หลังจากนั้น จะถูกถามคีย์เวิร์ด ก็ให้
+กดสายอักขระ (string) ที่ต้องการรู้ลงไป  ต้องไม่ใส่คีย์เวิร์ดอะไรเลย ก็จะได้คำสั่งทั้งหมดที่มีอยู่
 
-       >> ,TEM'!4(B ESC x ,T5RA04i1GB(B "command-apropos<Return>" ,TK0CW1M(B
-          "command-a<Space><Return>"  ,TK0EQ1'(R!09Qi190!g1!4(B "kanji<Return>" 0,T4Y1(B
+       >> ลองกด ESC x ตามด้วย "command-apropos<Return>" หรือ
+          "command-a<Space><Return>"  หลังจากนั้นก็กด "kanji<Return>" ดู
 
-     ,Tc0Ki1!4(B C-x 1 ,T`GER05i1M'!RC(PE:(B "0,TGT19b40Gl1(B" 0,T7Uh1b<0Eh10"Vi19ARcK0Ah1(B 
+     ให้กด C-x 1 เวลาต้องการจะลบ "วินโดว์" ที่โผล่ขึ้นมาใหม่ 
 
-,T:CC07Q14bKA4(B (Mode Line)
+บรรทัดโหมด (Mode Line)
 =====================
 
-     ,T`GER07Uh10>T1A0>l1$S0JQh1'`0"i1Rd;0*i1R(B ,Tf(B Emacs ,T(PaJ4'0JTh1'07Uh10>T1A0>l1E'd;5C':CC07Q140Eh1R'0JX14"M'(M0+Vh1'`0CU1B!(B
-0,TGh1R(B echo area  ,T:CC07Q140+Vh1'M0BYh106Q140"Vi19ARK09Vh1':CC07Q14(B ,T`0CU1B!0Gh1R:CC07Q14bKA4(B (mode line)  ,T:CC07Q14(B
-,TbKA40AU10EQ1!I3P04Q1'09Ui1(B
+     เวลาที่พิมพ์คำสั่งเข้าไปช้า ๆ Emacs จะแสดงสิ่งที่พิมพ์ลงไปตรงบรรทัดล่างสุดของจอซึ่งเรียก
+ว่า echo area  บรรทัดซึ่งอยู่ถัดขึ้นมาหนึ่งบรรทัด เรียกว่าบรรทัดโหมด (mode line)  บรรทัด
+โหมดมีลักษณะดังนี้
 
 
  [--]J:--**-Mule: TUTORIAL.th   (Fundamental) ---NN%--------------
 
 
-,TKARB`K05X1(B:       ,T5C'0Jh1G9(B NN ,T"M'(B NN% ,T(P0AU105Q1G`E"c0Jh1M0BYh1(B  ,T:CC07Q14bKA407Uh1aJ4'M0BYh1MR((Pa5!05h1R'(B
-               ,Td;(R!05Q1GM0Bh1R'0:i1R'(B ,Ta05h10!g1d0Ah1`0;g19dC(B  0,T5Q1GM0Bh1R'`0*h19(B ,TMR((P0AU1`GERK0CW1M(B uptime
-               ,TaJ4'<EM0BYh1(B  0,TMQ1909Ui1`0;g19$GRAJRARC6"M'b;Ca!CA(B display-time
+หมายเหตุ:       ตรงส่วน NN ของ NN% จะมีตัวเลขใส่อยู่  บรรทัดโหมดที่แสดงอยู่อาจจะแตกต่าง
+               ไปจากตัวอย่างบ้าง แต่ก็ไม่เป็นไร  ตัวอย่างเช่น อาจจะมีเวลาหรือ uptime
+               แสดงผลอยู่  อันนี้เป็นความสามารถของโปรแกรม display-time
 
-     ,T:CC07Q1409Ui10AU10"i1M0AY1E07Uh1`0;g19;CPbB*09l1M0BYh1KERBM0Bh1R'(B
+     บรรทัดนี้มีข้อมูลที่เป็นประโยชน์อยู่หลายอย่าง
 
 
-     0,T"i1M0AY1EaC!0$W1M(B 0,T*Wh1Ma0?i1A0"i1M0AY1E07Uh1!S0EQ1'0Mh1R9M0BYh1(B   0,T5Q1G`E"(B NN% ,T(PaJ4'c0Ki10CYi10Gh1R!S0EQ1'aJ4'<E0Jh1G9dK9(B
-,T"M'a0?i1A0"i1M0AY1EM0BYh1(B ,Tb4B0$T14`0;g19`;M0Cl1`+905l1(B   0,T6i1R`0;g190Jh1G9:90JX14"M'a0?i1A0"i1M0AY1EM0BYh10!g1(P0AU10"i1M$GRA0Gh1R(B
---Top-- ,TaJ4'M0BYh1(B  0,T6i1R`0;g190Jh1G90Eh1R'0JX140!g1(P0AU10"i1M$GRA0Gh1R(B --Bot--  0,T6i1RKR!JRARC6aJ4'a0?i1A0"i1M0AY1E(B
-0,T7Qi1'KA4:9K09i1R(Md04i1(B 0,T!g1(P0AU10"i1M$GRA0Gh1R(B --All-- ,TaJ4'M0BYh1(B
+     ข้อมูลแรกคือ ชื่อแฟ้มข้อมูลที่กำลังอ่านอยู่   ตัวเลข NN% จะแสดงให้รู้ว่ากำลังแสดงผลส่วนไหน
+ของแฟ้มข้อมูลอยู่ โดยคิดเป็นเปอร์เซนต์   ถ้าเป็นส่วนบนสุดของแฟ้มข้อมูลอยู่ก็จะมีข้อความว่า
+--Top-- แสดงอยู่  ถ้าเป็นส่วนล่างสุดก็จะมีข้อความว่า --Bot--  ถ้าหากสามารถแสดงแฟ้มข้อมูล
+ทั้งหมดบนหน้าจอได้ ก็จะมีข้อความว่า --All-- แสดงอยู่
 
-     ,T@RBc9G'`0Eg1:"M':CC07Q14bKA4(B ,T(PaJ4'c0Ki10CYi10Gh1R5M909Ui1M0BYh1c9bKA4(B (mode) ,TMPdC(B  ,Tc905Q1GM0Bh1R'(B
-0,T"i1R':90$W1M(B ,TM0BYh1c9bKA4(B Fundamental 0,T+Vh1'`0;g19bKA4`0CTh1A05i19(B (default)  ,TbKA409Ui1`0;g19K09Vh1'c9bKA4(B
-,TK0EQ1!(B (Major Mode)
+     ภายในวงเล็บของบรรทัดโหมด จะแสดงให้รู้ว่าตอนนี้อยู่ในโหมด (mode) อะไร  ในตัวอย่าง
+ข้างบนคือ อยู่ในโหมด Fundamental ซึ่งเป็นโหมดเริ่มต้น (default)  โหมดนี้เป็นหนึ่งในโหมด
+หลัก (Major Mode)
 
-     Emacs 0,TAU1bKA4K0EQ1!(B (Major Mode) ,TJSK0CQ1:!RCb;Ca!CA@RIR(B ,TK0CW1M!RCa0!i10"i1M$GRA(B ,T`0*h19(B
-Lisp mode Text mode ,TaEPbKA40MWh19(B ,Tf(B 0,TMU1!KERBbKA4(B  ,Tb4B;!05T1(B Emacs ,T(PM0BYh1c9bKA4K0EQ1!(B
-,TbKA4c4bKA4K09Vh1'`JAM(B
+     Emacs มีโหมดหลัก (Major Mode) สำหรับการโปรแกรมภาษา หรือการแก้ข้อความ เช่น
+Lisp mode Text mode และโหมดอื่น ๆ อีกหลายโหมด  โดยปกติ Emacs จะอยู่ในโหมดหลัก
+โหมดใดโหมดหนึ่งเสมอ
 
-     ,T$S0JQh1':R'$S0JQh1'(P0AU1>D05T1!CCA07Uh1a5!05h1R'0!Q19b4B0JTi19`0*T1'(B ,T`0AWh1MM0BYh1c9bKA4K0EQ1!07Uh105h1R'0!Q19(B   0,T5Q1GM0Bh1R'(B
-,T`0*h19(B ,T`GERb;Ca!CA@RIR(B ,T(P0AU1$S0JQh1'JSK0CQ1:J0Ci1R'(B ,TKARB`K05X1(B (comment) ,TM0BYh1(B  ,T`09Wh1M'(R!0GT108U1c0Jh1(B
-,TKARB`K05X1"M'@RIRa05h1EP@RIRa5!05h1R'0!Q19(B   ,T$S0JQh1'09Ui10!g1(Pa5!05h1R'0!Q19d;c9a05h1EPbKA4K0EQ1!(B  ,T`0>Wh1Mc0Ki1(B
-,TJRARC6c0Jh1KARB`K05X1c9a05h1EP@RIRd04i1M0Bh1R'06Y1!05i1M'(B
+     คำสั่งบางคำสั่งจะมีพฤติกรรมที่แตกต่างกันโดยสิ้นเชิง เมื่ออยู่ในโหมดหลักที่ต่างกัน   ตัวอย่าง
+เช่น เวลาโปรแกรมภาษา จะมีคำสั่งสำหรับสร้าง หมายเหตุ (comment) อยู่  เนื่องจากวิธีใส่
+หมายเหตุของภาษาแต่ละภาษาแตกต่างกัน   คำสั่งนี้ก็จะแตกต่างกันไปในแต่ละโหมดหลัก  เพื่อให้
+สามารถใส่หมายเหตุในแต่ละภาษาได้อย่างถูกต้อง
 
-     ,T$S0JQh1'JSK0CQ1:!RC`;0EUh1B9bKA4c0Ki1`0;g19bKA4K0EQ1!0MWh19(B 0,T$W1M$S0JQh1'"BRB(B (extend) 0,T+Vh1'0*Wh1M$S0JQh1'`0;g190*Wh1M(B
-,TbKA4(B 0,T5Q1GM0Bh1R'`0*h19(B ,T$S0JQh1'(B M-x fundamental-mode 0,T$W1M$S0JQh1'JSK0CQ1:`;0EUh1B9bKA4`0;g19bKA4(B 
+     คำสั่งสำหรับการเปลี่ยนโหมดให้เป็นโหมดหลักอื่น คือคำสั่งขยาย (extend) ซึ่งชื่อคำสั่งเป็นชื่อ
+โหมด ตัวอย่างเช่น คำสั่ง M-x fundamental-mode คือคำสั่งสำหรับเปลี่ยนโหมดเป็นโหมด 
 Fundamental
 
-     ,T`GER07Uh1(Pa0!i1d"a0?i1A0"i1M0AY1E@RIR0MQ1'!DI(B 0,T!g1c0Ki1c0*i1(B Text mode
+     เวลาที่จะแก้ไขแฟ้มข้อมูลภาษาอังกฤษ ก็ให้ใช้ Text mode
 
-       >> ,TEM'0;i1M9$S0JQh1'(B M-x text-mode<Return>
+       >> ลองป้อนคำสั่ง M-x text-mode<Return>
 
-     0,T6i1R05i1M'!RCKR0"i1M0AY1E`0>Th1A`0!Uh1BG0!Q1:bKA4K0EQ1!07Uh1c0*i1M0BYh1c90;Q1(0(X10:Q19(B 0,T!g1c0Ki10;i1M9$S0JQh1'(B C-h m
+     ถ้าต้องการหาข้อมูลเพิ่มเกี่ยวกับโหมดหลักที่ใช้อยู่ในปัจจุบัน ก็ให้ป้อนคำสั่ง C-h m
 
-       >> ,Tc0Ki1!4(B C-h m ,T`0>Wh1M0HV1!IR0"i1Ma5!05h1R'CPK0Gh1R'(B Text mode 0,T!Q1:(B Fundamental mode
+       >> ให้กด C-h m เพื่อศึกษาข้อแตกต่างระหว่าง Text mode กับ Fundamental mode
 
-       >> ,Tc0Ki1!4(B C-x 1 ,T`0>Wh1ME:`M!JRCMM!(R!(M(B
+       >> ให้กด C-x 1 เพื่อลบเอกสารออกจากจอ
 
-     ,T5C'0Jh1G90+i1RB"M':CC07Q14bKA4(B ,T(P0AU10JQ1-0EQ1!I03l1(B '[--]' ,T`0>Wh1MaJ4'bKA4JSK0CQ1:!RC0;i1M90"i1M0AY1E(B
-(input mode) ,TM0BYh1(B   0,TJQ1-0EQ1!I03l1(B [--] ,TKARB06V1'JRARC60;i1M90"i1M0AY1Ed04i104i1GB05Q1G0MQ1!IC@RIR0MQ1'!DI(B
-(English alphabets)  ,T!0CX13R0Mh1R90$Yh10AW1M"M'(B "Tamago" ,TJSK0CQ1:CRBEP`0MU1B4"M'0GT108U1c0*i1(B
+     ตรงส่วนซ้ายของบรรทัดโหมด จะมีสัญลักษณ์ '[--]' เพื่อแสดงโหมดสำหรับการป้อนข้อมูล
+(input mode) อยู่   สัญลักษณ์ [--] หมายถึงสามารถป้อนข้อมูลได้ด้วยตัวอักษรภาษาอังกฤษ
+(English alphabets)  กรุณาอ่านคู่มือของ "Tamago" สำหรับรายละเอียดของวิธีใช้
 
-     ,TaEP5C'04i1R9"GR"M'0JQ1-0EQ1!I03l109Qi19(B ,T(P0AU1`$0CWh1M'KARBaJ4'J6R9P"M'(B flag ,T"M'CP::C0KQ1J(B
-(coding-system) ,TM0BYh1(B   Mule ,TJRARC6!SK94CP::C0KQ1JaB!`)>RPJSK0CQ1:(B ,T!RC`0!g1:0Mh1R9a0?i1A0"i1M0AY1E(B
-,T!RC0;i1M90"i1M0AY1E(R!0$U10Bl1:M0Cl14(B ,T!RCaJ4'<EMM!7R'(M(B ,Td04i10MT1JCP(R!0!Q19(B  ,Ta05h1b4B;!05T1(PaJ4'`)>RP(B
-0,TJQ1-0EQ1!I03l10*h1GB(S(B (mnemonic) ,T"M'CP::C0KQ1JJSK0CQ1:!RC`0!g1:0Mh1R9a0?i1A0"i1M0AY1E(B ,T`07h1R09Qi19(B
+     และตรงด้านขวาของสัญลักษณ์นั้น จะมีเครื่องหมายแสดงสถานะของ flag ของระบบรหัส
+(coding-system) อยู่   Mule สามารถกำหนดระบบรหัสแยกเฉพาะสำหรับ การเก็บอ่านแฟ้มข้อมูล
+การป้อนข้อมูลจากคีย์บอร์ด การแสดงผลออกทางจอ ได้อิสระจากกัน  แต่โดยปกติจะแสดงเฉพาะ
+สัญลักษณ์ช่วยจำ (mnemonic) ของระบบรหัสสำหรับการเก็บอ่านแฟ้มข้อมูล เท่านั้น
 
-       >> ,T5CG(04Y10Gh1R0AU10JQ1-0EQ1!I03l1(B ,T$0Ei1RB$0EV1'0!Q1:(B "J:" "S:" "E:" ,TaJ4'M0BYh107Uh1:CC07Q14bKA4K0CW1Md0Ah1(B
+       >> ตรวจดูว่ามีสัญลักษณ์ คล้ายคลึงกับ "J:" "S:" "E:" แสดงอยู่ที่บรรทัดโหมดหรือไม่
 
-     0,T5Q1G0MQ1!IC05Q1GaC!0$W1M(B 0,TJQ1-0EQ1!I03l10*h1GB(S(B (mnemonic) ,T"M'CP::C0KQ1J07Uh1c0*i1M0BYh1(B  0,T5Q1G(B ':' ,TaJ4'c0Ki10CYi1(B
-0,TGh1R0AU105Q1G0MQ1!IC"M'@RIR0MWh19(B ,T9M!(R!@RIR0MQ1'!DIaJ4'M0BYh1(B (,T`0*h19(B ,T@RIR0(U19(B ,T@RIR0-Uh10;Xh19(B ,T`0;g1905i19(B)  0,T5Q1G(B J
-,TKARB06V1'(B ,TC0KQ1J07Uh1c0*i10!Q1:(B JUNET 0,T$W1M(B ,TC0KQ1J(B JIS  0,T5Q1G(B S ,TKARB06V1'(B Shift-JIS ,TaEP(B 0,T5Q1G(B E ,TKARB06V1'(B
-,TC0KQ1J(B EUC ,T@RIR0-Uh10;Xh19(B   ,T(PJ0EQ1:`;0EUh1B9(B (toggle) ,T!RCaJ4'<E@RIR9R9R*R05T1d04i1b4B(B C-x C-k t
+     ตัวอักษรตัวแรกคือ สัญลักษณ์ช่วยจำ (mnemonic) ของระบบรหัสที่ใช้อยู่  ตัว ':' แสดงให้รู้
+ว่ามีตัวอักษรของภาษาอื่น นอกจากภาษาอังกฤษแสดงอยู่ (เช่น ภาษาจีน ภาษาญี่ปุ่น เป็นต้น)  ตัว J
+หมายถึง รหัสที่ใช้กับ JUNET คือ รหัส JIS  ตัว S หมายถึง Shift-JIS และ ตัว E หมายถึง
+รหัส EUC ภาษาญี่ปุ่น   จะสลับเปลี่ยน (toggle) การแสดงผลภาษานานาชาติได้โดย C-x C-k t
 
-     0,T5Q1GM0Bh1R'0"i1R'0Eh1R'(B 0,T$W1M!RCJ0EQ1:`;0EUh1B9d0Ah1c0Ki1aJ4'@RIR9R9R*R05T1(B ,Ta0Ei1GJ0EQ1:!0EQ1:0MU1!$0CQi1'K09Vh1'(B
+     ตัวอย่างข้างล่าง คือการสลับเปลี่ยนไม่ให้แสดงภาษานานาชาติ แล้วสลับกลับอีกครั้งหนึ่ง
 
-       >> ,TEM'0;i1M9$S0JQh1'(B C-x C-k t 0,T4Y1JM'$0CQi1'(B
+       >> ลองป้อนคำสั่ง C-x C-k t ดูสองครั้ง
 
-     0,T6i1R`7M0Cl10AT109Q1E07Uh1c0*i1M0BYh10AU10;Xh1A(B META ,TaEPbKA407Uh1c0*i1M0BYh1`0;g19C0KQ1J(B JIS  ,T`CR0!g1(PJRARC6c0*i10;Xh1A(B META
-,Ta79!RC!40;Xh1A(B ESCAPE ,Td04i1(B  0,TGT108U1c0*i1(P`K0AW1M90!Q1:!RCc0*i10;Xh1A$M9b7CE(B 0,T$W1Mc0Ki1!40;Xh1A(B META 0,T$i1R'd0Gi1a0Ei1G0(V1'(B
-,T!405Q1G0MQ1!IC5RA(B  M-<0,T5Q1G0MQ1!IC(B> ,T(P7SK09i1R07Uh1`K0AW1M90!Q1:(B ESC <0,T5Q1G0MQ1!IC(B>  0,T9Qh190$W1M(B 0,T7X1!M0Bh1R'07Uh1M08T1:RBAR(B
-,T(906V1'0(X1409Ui1(B ,T(P0BQ1'$'0AU1<E`K0AW1M9`04T1A(B ,TK0EQ1'(R!`;0EUh1B9(B ESC <0,T5Q1G0MQ1!IC(B> ,Tc0Ki1`0;g19(B M-<0,T5Q1G0MQ1!IC(B>  ,Ta05h10"i1M(B
-,T$GCCP0GQ1'0!g10$W1M(B 0,T;Xh1A(B META ,T(Pd0Ah1JRARC6c0*i1d04i10!Q1:C0KQ1J(B Shift-JIS ,TaEP(B EUC
+     ถ้าเทอร์มินัลที่ใช้อยู่มีปุ่ม META และโหมดที่ใช้อยู่เป็นรหัส JIS  เราก็จะสามารถใช้ปุ่ม META
+แทนการกดปุ่ม ESCAPE ได้  วิธีใช้จะเหมือนกับการใช้ปุ่มคอนโทรล คือให้กดปุ่ม META ค้างไว้แล้วจึง
+กดตัวอักษรตาม  M-<ตัวอักษร> จะทำหน้าที่เหมือนกับ ESC <ตัวอักษร>  นั่นคือ ทุกอย่างที่อธิบายมา
+จนถึงจุดนี้ จะยังคงมีผลเหมือนเดิม หลังจากเปลี่ยน ESC <ตัวอักษร> ให้เป็น M-<ตัวอักษร>  แต่ข้อ
+ควรระวังก็คือ ปุ่ม META จะไม่สามารถใช้ได้กับรหัส Shift-JIS และ EUC
 
-     ,T!RC`;0EUh1B9CP::C0KQ1J(P0AU1<Ea0$h1`0>U1B'0!Q1:a05h1EP0:Q1?`?M0Cl1`07h1R09Qi19(B  ,TJRARC604Y1$S0JQh1'`0!Uh1BG0!Q1:CP::C0KQ1J(B
-,Td04i1b4B$S0JQh1'(B C-h a coding-system <Return>
+     การเปลี่ยนระบบรหัสจะมีผลแค่เพียงกับแต่ละบัฟเฟอร์เท่านั้น  สามารถดูคำสั่งเกี่ยวกับระบบรหัส
+ได้โดยคำสั่ง C-h a coding-system <Return>
 
-       >> ,Tc0Ki10;i1M9$S0JQh1'(B C-h a coding-system <Return> ,Ta0Ei1G0Mh1R9CRBEP`0MU1B4"M'$S0JQh1'(B 
-	  set-display-coding-system set-file-coding-system ,TaEP(B
-	  set-process-coding-system ,T(R!`M!JRC07Uh1;CR!/0"Vi19(B
+       >> ให้ป้อนคำสั่ง C-h a coding-system <Return> แล้วอ่านรายละเอียดของคำสั่ง 
+	  set-display-coding-system set-file-coding-system และ
+	  set-process-coding-system จากเอกสารที่ปรากฏขึ้น
 
-,T!RC0$i19KR(B (search)
+การค้นหา (search)
 ================
 
-     Emacs ,TJRARC60$i19KRJRB0MQ1!"CP(B (string) ,T@RBc9a0?i1A0"i1M0AY1Ed;7R'0"i1R'K09i1RK0CW1M0"i1R'K0EQ1'd04i1(B
-0,T6i1R05i1M'!RC0$i19KRd;7R'0"i1R'K09i1R"M'5SaK09h1'`$M0Cl1`+M0Cl1(B (cursor) 0,T!g1c0Ki1!4(B C-s  0,T6i1R05i1M'!RC0$i19KR(B
-,Td;7R'0"i1R'K0EQ1'"M'5SaK09h1'`$M0Cl1`+M0Cl1(B  0,T!g1c0Ki1!4(B C-r  ,TK0EQ1'(R!09Qi19(P0AU10"i1M$GRA0Gh1R(B "I-search:"
-,T;CR!/0"Vi195C'(B echo area  ,TB!`0ET1!!RC0$i19KRd04i104i1GB!RC!4(B ESC
+     Emacs สามารถค้นหาสายอักขระ (string) ภายในแฟ้มข้อมูลไปทางข้างหน้าหรือข้างหลังได้
+ถ้าต้องการค้นหาไปทางข้างหน้าของตำแหน่งเคอร์เซอร์ (cursor) ก็ให้กด C-s  ถ้าต้องการค้นหา
+ไปทางข้างหลังของตำแหน่งเคอร์เซอร์  ก็ให้กด C-r  หลังจากนั้นจะมีข้อความว่า "I-search:"
+ปรากฏขึ้นตรง echo area  ยกเลิกการค้นหาได้ด้วยการกด ESC
 
 
-       >> ,T!4(B C-s ,T`0>Wh1M`0CTh1A!RC0$i19KR(B  ,Ta0Ei1G!405Q1G0MQ1!IC"M'$S0Gh1R(B "cursor" ,TE'd;07U1EP05Q1GM0Bh1R'(B
-          0,T*i1R(B ,Ta0Ei1G0JQ1'`!504Y10Gh1R`$M0Cl1`+M0Cl1"0BQ1:d;M0Bh1R'dC(B
+       >> กด C-s เพื่อเริ่มการค้นหา  แล้วกดตัวอักษรของคำว่า "cursor" ลงไปทีละตัวอย่าง
+          ช้า แล้วสังเกตดูว่าเคอร์เซอร์ขยับไปอย่างไร
 
-       >> ,TEM'!4(B C-s 0,T4Y10MU1!K09Vh1'$0CQi1'`0>Wh1M0$i19KR$S0Gh1R(B "cursor" 0,T5Q1G05h1Md;(B
+       >> ลองกด C-s ดูอีกหนึ่งครั้งเพื่อค้นหาคำว่า "cursor" ตัวต่อไป
 
-       >> ,T!4(B <Delete> 0,T4Y1(B 4 ,T$0CQi1'(B ,Ta0Ei1G0JQ1'`!504Y10Gh1R!RC`$0EWh1M907Uh1"M'`$M0Cl1`+M0Cl1(B
+       >> กด <Delete> ดู 4 ครั้ง แล้วสังเกตดูว่าการเคลื่อนที่ของเคอร์เซอร์
 
-       >> ,T!4(B ESC ,T`0>Wh1MB!`0ET1!!RC0$i19KR(B
+       >> กด ESC เพื่อยกเลิกการค้นหา
 
-     ,T!RC0$i19KR(P`0CTh1A0"Vi1907Q1907U1(B ,Tc9CPK0Gh1R'07Uh10>T1A0>l1JRB0MQ1!"CP07Uh105i1M'!RC(P0$i19KR(B ,T`0"i1Rd;`0>U1B':R'0Jh1G9(B
-0,T6i1R05i1M'!RC(P0$i19KR05Q1G05h1Md;(B 0,T!g1c0Ki1!4(B C-s 0,TMU1!K09Vh1'$0CQi1'(B  0,T6i1RKR!0$i19KRJRB0MQ1!"CP07Uh10;i1M9`0"i1Rd;d0Ah1>:(B 0,T!g1(B
-,T(P0AU10"i1M$GRA;CR!/0"Vi19(B  ,Tc0Ki1!4(B C-g ,T`0>Wh1MB!`0ET1!(B
+     การค้นหาจะเริ่มขึ้นทันที ในระหว่างที่พิมพ์สายอักขระที่ต้องการจะค้นหา เข้าไปเพียงบางส่วน
+ถ้าต้องการจะค้นหาตัวต่อไป ก็ให้กด C-s อีกหนึ่งครั้ง  ถ้าหากค้นหาสายอักขระที่ป้อนเข้าไปไม่พบ ก็
+จะมีข้อความปรากฏขึ้น  ให้กด C-g เพื่อยกเลิก
 
-     ,TCPK0Gh1R'07Uh10$i19KRM0BYh1(B  0,T6i1R!4(B <Delete> 0,T5Q1G0MQ1!IC05Q1G0JX1407i1RBc9JRB0MQ1!"CP0!g1(P06Y1!E:d;(B  ,Ta0Ei1G(B
-,T`$M0Cl1`+M0Cl10!g1(P!0EQ1:d;5SaK09h1'0!h1M9K09i1R(B   0,T5Q1GM0Bh1R'`0*h19(B 0,T6i1R!4(B "cu" 0,T!g1(P0$i19KRd;06V1'5SaK09h1'07Uh10AU1$S0Gh1R(B
-"cu"  ,Ta05h106i1R!4(B <Delete> ,Tc90(Q1'KGP09Ui1(B 0,T5Q1G(B 'u' ,Tc9(B search line 0,T!g1(PKRBd;(B ,Ta0Ei1G`$M0Cl1`+M0Cl1(B
-,T(P"0BQ1:!0EQ1:d;07Uh15SaK09h1'07Uh10AU105Q1G(B 'c' ,TM0BYh1(B
+     ระหว่างที่ค้นหาอยู่  ถ้ากด <Delete> ตัวอักษรตัวสุดท้ายในสายอักขระก็จะถูกลบไป  แล้ว
+เคอร์เซอร์ก็จะกลับไปตำแหน่งก่อนหน้า   ตัวอย่างเช่น ถ้ากด "cu" ก็จะค้นหาไปถึงตำแหน่งที่มีคำว่า
+"cu"  แต่ถ้ากด <Delete> ในจังหวะนี้ ตัว 'u' ใน search line ก็จะหายไป แล้วเคอร์เซอร์
+จะขยับกลับไปที่ตำแหน่งที่มีตัว 'c' อยู่
 
-     0,T6i1R!405Q1G0MQ1!IC$M9b7CE(B (control character) 0,T5Q1G0MWh19(B ,T9M!`K09W1M(R!(B C-s ,TK0CW1M(B C-r
-,T!RC0$i19KR0!g1(P0JTi190JX14E'(B
+     ถ้ากดตัวอักษรคอนโทรล (control character) ตัวอื่น นอกเหนือจาก C-s หรือ C-r
+การค้นหาก็จะสิ้นสุดลง
 
-     ,T$S0JQh1'(B C-s ,T(P0$i19KRJRB0MQ1!"CP07Uh105i1M'!RC(B ,Td;7R'0"i1R'K09i1R"M'5SaK09h1'`$M0Cl1`+M0Cl1(B  0,T6i1R05i1M'!RC(B
-0,T$i19KRd;7R'07T1HK0EQ1'(B  0,T!g1c0Ki1!4(B C-r  0,T9Qh190$W1M(B ,TJRARC6c0*i1(B C-s ,TaEP(B C-r ,TJ0EQ1:0!Q19`0>Wh1M0$i19KRd;d04i1c907Qi1'(B
-,TJM'07T1H7R'(B  C-s ,TaEP(B C-r ,T7SK09i1R07Uh1`K0AW1M90!Q1907X1!;CP!RC(B ,T(P05h1R'0!Q190!g15C'07T1H7R'!RC0$i19KR`07h1R09Qi19(B
+     คำสั่ง C-s จะค้นหาสายอักขระที่ต้องการ ไปทางข้างหน้าของตำแหน่งเคอร์เซอร์  ถ้าต้องการ
+ค้นหาไปทางทิศหลัง  ก็ให้กด C-r  นั่นคือ สามารถใช้ C-s และ C-r สลับกันเพื่อค้นหาไปได้ในทั้ง
+สองทิศทาง  C-s และ C-r ทำหน้าที่เหมือนกันทุกประการ จะต่างกันก็ตรงทิศทางการค้นหาเท่านั้น
 
 Recursive Editing Level
 
-     ,T:R'07U1(B ,T`CRMR((PK0EX14`0"i1Rd;M0BYh1c9J6R9P07Uh1`0CU1B!0Gh1R(B Recursive Editing Level ,Td04i1b4B(B
-,Td0Ah105Qi1'c((B  ,Tc9bKA409Ui1(B ,T`$0CWh1M'KARBG'`0Eg1:(B '()' 0,T7Uh1aJ4'0*Wh1MbKA4K0EQ1!(B (major mode) ,TM0BYh1(P0AU1G'`0Eg1:(B
-'[]' 0,TEi1MA(B ,T`0>Th1A0"Vi190MU1!K09Vh1'0*Qi19(B  0,T5Q1GM0Bh1R'`0*h19(B 0,T6i1R`04T1A`0;g19(B (Fundamental) ,TM0BYh1(B 0,T!g1(P`;0EUh1B9`0;g19(B
-[(Fundamental)] ,Ta79(B
+     บางที เราอาจจะหลุดเข้าไปอยู่ในสถานะที่เรียกว่า Recursive Editing Level ได้โดย
+ไม่ตั้งใจ  ในโหมดนี้ เครื่องหมายวงเล็บ '()' ที่แสดงชื่อโหมดหลัก (major mode) อยู่จะมีวงเล็บ
+'[]' ล้อม เพิ่มขึ้นอีกหนึ่งชั้น  ตัวอย่างเช่น ถ้าเดิมเป็น (Fundamental) อยู่ ก็จะเปลี่ยนเป็น
+[(Fundamental)] แทน
 
-,TKARB`K05X1(B:       ,T`CR(Pd0Ah1M08T1:RB`0!Uh1BG0!Q1:(B Recursive Editing Level ,Tc907Uh109Ui1(B
+หมายเหตุ:       เราจะไม่อธิบายเกี่ยวกับ Recursive Editing Level ในที่นี้
 
-     ,Tc0Ki1!4(B M-x top-level <Return> ,T`0>Wh1M07Uh1(PMM!(R!(B Recursive Editing Level
+     ให้กด M-x top-level <Return> เพื่อที่จะออกจาก Recursive Editing Level
 
-       >> ,TEM'!404Y1(B ,T5C'0Jh1G90Eh1R'"M'(M(P0AU10"i1M$GRA0Gh1R(B "Back to top level" ,T;CR!/0"Vi19(B
+       >> ลองกดดู ตรงส่วนล่างของจอจะมีข้อความว่า "Back to top level" ปรากฏขึ้น
 
-     ,T`09Wh1M'(R!(B ,T`CRM0BYh1c9CP04Q1::90JX14(B (top level) ,TM0BYh1a0Ei1G(B  ,T$S0JQh1'09Ui10(V1'd0Ah10AU1<Ec4(B ,Tf(B
+     เนื่องจาก เราอยู่ในระดับบนสุด (top level) อยู่แล้ว  คำสั่งนี้จึงไม่มีผลใด ๆ
 
-     ,Td0Ah1JRARC6c0*i1(B ,T$S0JQh1'(B C-g ,T`0>Wh1M07Uh1(PMM!(R!(B Recursive Editing Level ,Td04i1(B
+     ไม่สามารถใช้ คำสั่ง C-g เพื่อที่จะออกจาก Recursive Editing Level ได้
 
 
 Help
 ====
 
-     Emacs 0,TAU1$GRAJRARC607Uh10AU1;CPbB*09l1(B ,TAR!ARBKERBM0Bh1R'(B 0,T+Vh1'd0Ah1JRARC6M08T1:RBd04i1KA4c907Uh109Ui1(B
-,Ta05h1`CR(PJRARC6`0CU1B!c0*i1(B <HELP> ,T`0>Wh1M07Uh1(P`0CU1B90CYi1$GRAJRARC6`K0Eh1R09Ui1(B ,Td04i1b4B!RC!4(B C-h 0,T+Vh1'(P(B
-0,T*h1GBc0Ki1`CRd04i10CQ1:0CYi10"i1M0AY1E`0>Th1A`05T1AKERBM0Bh1R'(B
+     Emacs มีความสามารถที่มีประโยชน์ มากมายหลายอย่าง ซึ่งไม่สามารถอธิบายได้หมดในที่นี้
+แต่เราจะสามารถเรียกใช้ <HELP> เพื่อที่จะเรียนรู้ความสามารถเหล่านี้ ได้โดยการกด C-h ซึ่งจะ
+ช่วยให้เราได้รับรู้ข้อมูลเพิ่มเติมหลายอย่าง
 
-     0,TGT108U1c0*i10$W1Mc0Ki1!4(B C-h ,Ta0Ei1G5RA04i1GB05Q1G`0EW1M!(B (option) 0,TMU1!K09Vh1'05Q1G0MQ1!IC(B  0,T6i1Rd0Ah10CYi10Gh1R(P05i1M'c0*i1(B
-0,T5Q1G`0EW1M!MPdC(B 0,T!g1c0Ki1!4(B C-h ?  ,Ta0Ei1G(P0AU1$SM08T1:RB`0!Uh1BG0!Q1:05Q1G`0EW1M!;CR!/0"Vi19(B  ,Td04i1KR!`;0EUh1B9c((P(B
-,Td0Ah1`0CU1B!(B HELP ,TK0EQ1'(R!!4(B C-h 0,T!g1c0Ki1!4(B C-g ,T`0>Wh1MB!`0ET1!d04i1(B
+     วิธีใช้คือให้กด C-h แล้วตามด้วยตัวเลือก (option) อีกหนึ่งตัวอักษร  ถ้าไม่รู้ว่าจะต้องใช้
+ตัวเลือกอะไร ก็ให้กด C-h ?  แล้วจะมีคำอธิบายเกี่ยวกับตัวเลือกปรากฏขึ้น  ได้หากเปลี่ยนใจจะ
+ไม่เรียก HELP หลังจากกด C-h ก็ให้กด C-g เพื่อยกเลิกได้
 
-     ,T$S0JQh1'(B HELP 0,T>Wi190R907Uh10JX140MQ19K09Vh1'0!g10$W1M(B C-h c ,Ta0Ei1G5RA04i1GB!RC!4$S0JQh1':R'$S0JQh1'(B  0,T+Vh1'(Pc0Ki1$S(B
-,TM08T1:RB0JQi19(B ,Tf(B ,T`0!Uh1BG0!Q1:$S0JQh1'09Qi19(B
+     คำสั่ง HELP พื้นฐานที่สุดอันหนึ่งก็คือ C-h c แล้วตามด้วยการกดคำสั่งบางคำสั่ง  ซึ่งจะให้คำ
+อธิบายสั้น ๆ เกี่ยวกับคำสั่งนั้น
 
-       >> ,TEM'!4(B C-h c C-p 0,T4Y1(B  0,T+Vh1'(Pc0Ki10"i1M$GRA0Gh1R(B
+       >> ลองกด C-h c C-p ดู  ซึ่งจะให้ข้อความว่า
           "C-p runs the command previous-line"
 
-     ,T$S0JQh1'09Ui1(P0*h1GB0CWi1M0?Wi19$GRA(S(B ,T`0!Uh1BG0!Q1:$S0JQh1'07Uh1`$B0<h1R95Ra0Ei1G(B ,Ta05h1(Sd0Ah1d04i1(B ,Td04i1`0;g19M0Bh1R'04U1(B  ,T$S0JQh1'(B
-0,T7Uh10AU1AR!!0Gh1RK09Vh1'05Q1G0MQ1!IC(B ,T`0*h19(B C-x C-s 0,T!g1JRARC6!45RAK0EQ1'(B C-h c ,Td04i1(B
+     คำสั่งนี้จะช่วยรื้อฟื้นความจำ เกี่ยวกับคำสั่งที่เคยผ่านตาแล้ว แต่จำไม่ได้ ได้เป็นอย่างดี  คำสั่ง
+ที่มีมากกว่าหนึ่งตัวอักษร เช่น C-x C-s ก็สามารถกดตามหลัง C-h c ได้
 
-     0,T6i1RKR!05i1M'!RC0CYi1CRBEP`0MU1B4AR!!0Gh1R09Ui1(B  0,T!g1c0Ki1c0*i1(B k ,Ta7905Q1G(B c
+     ถ้าหากต้องการรู้รายละเอียดมากกว่านี้  ก็ให้ใช้ k แทนตัว c
 
-       >> ,TEM'!4(B C-h k C-p 0,T4Y1(B
+       >> ลองกด C-h k C-p ดู
 
-     0,T!g1(P0AU10GT19b40Gl1`0>Th1Ac9(B Emacs 0,TMU1!K09Vh1'0MQ19(B ,T`0>Wh1MaJ4'CRBEP`0MU1B4"M'$S0JQh1'09Qi19(B  ,T`0AWh1M0Mh1R9(:a0Ei1G(B
-0,T!g1c0Ki1!4(B C-x 1 ,T`0>Th1AE:0GT19b40Gl1MM!(B
+     ก็จะมีวินโดว์เพิ่มใน Emacs อีกหนึ่งอัน เพื่อแสดงรายละเอียดของคำสั่งนั้น  เมื่ออ่านจบแล้ว
+ก็ให้กด C-x 1 เพิ่มลบวินโดว์ออก
 
-     0,T5Q1G`0EW1M!0MWh1907Uh10AU1;CPbB*09l1(B 0,TAU104Q1'09Ui1(B
+     ตัวเลือกอื่นที่มีประโยชน์ มีดังนี้
 
-    C-h f      ,Tc0Ki1c0Jh10*Wh1M"M'$S0JQh1'(B ,T`0>Wh1MaJ4'CRBEP`0MU1B4`0!Uh1BG0!Q1:$S0JQh1'09Qi19(B
+    C-h f      ให้ใส่ชื่อของคำสั่ง เพื่อแสดงรายละเอียดเกี่ยวกับคำสั่งนั้น
 
-       >> ,Tc0Ki1!4(B C-h f previous-line ,Ta0Ei1G5RA04i1GB(B <Return> ,T`0>Wh1MaJ4'CRBEP`0MU1B4`0!Uh1BG(B
-          0,T!Q1:$S0JQh1'0+Vh1'`0CU1B!c0*i1d04i1(R!!RC!4(B C-p
+       >> ให้กด C-h f previous-line แล้วตามด้วย <Return> เพื่อแสดงรายละเอียดเกี่ยว
+          กับคำสั่งซึ่งเรียกใช้ได้จากการกด C-p
 
-    C-h a      ,Ta0Ei1G5RA04i1GB0$U10Bl1`0GT10Cl14(B (keyword) ,T`0>Wh1MaJ4'$S0JQh1'07X1!$S0JQh1'(B 0,T7Uh10AU10$U10Bl1`0GT10Cl14(B ,TCGAM0BYh1(B
-               ,T$S0JQh1'`K0Eh1R09Ui1JRARC6`0CU1B!c0*i1d04i1b4B!RC!4(B ESC x
+    C-h a      แล้วตามด้วยคีย์เวิร์ด (keyword) เพื่อแสดงคำสั่งทุกคำสั่ง ที่มีคีย์เวิร์ด รวมอยู่
+               คำสั่งเหล่านี้สามารถเรียกใช้ได้โดยการกด ESC x
 
-       >> ,TEM'!4(B C-h a file ,Ta0Ei1G5RA04i1GB(B <Return> ,T`0>Wh1MaJ4'0*Wh1M$S0JQh1'07X1!$S0JQh1'07Uh10AU1$S0Gh1R(B
-          "file" ,TCGAM0BYh1(B  0,T+Vh1'(P0AU1(B find-file ,TaEP(B write-file 0,T7Uh1`0CU1B!c0*i1d04i1b4B!RC!4(B
-          C-x C-f ,TaEP(B C-x C-w ,TCGAM0BYh104i1GB(B
+       >> ลองกด C-h a file แล้วตามด้วย <Return> เพื่อแสดงชื่อคำสั่งทุกคำสั่งที่มีคำว่า
+          "file" รวมอยู่  ซึ่งจะมี find-file และ write-file ที่เรียกใช้ได้โดยการกด
+          C-x C-f และ C-x C-w รวมอยู่ด้วย
 
-0,T7i1RB0JX1409Ui1(B
+ท้ายสุดนี้
 ======
 
-,TM0Bh1R0EW1A(B:         ,T$S0JQh1'JSK0CQ1:!RC`0ET1!(B Emacs 0,T$W1M(B C-x C-c
+อย่าลืม:         คำสั่งสำหรับการเลิก Emacs คือ C-x C-c
 
 
-     ,T`M!JRC)0:Q1:`0:Wi1M'05i1909Ui1(B  0,T5Qi1'c(`0"U1B90"Vi19JSK0CQ1:0<Yi107Uh1`0CTh1A0KQ14cK0Ah1(B ,Tb4B`)>RP(B  0,T6i1RKR!0AU10(X14dK907Uh1d0Ah1(B
-,T`0"i1Rc((B 0,T!g1M0Bh1R0AQ1Ga05h1b7I05Q1G`M'(B  ,Ta05h1"Mc0Ki1bB9$GRA0<T14AR0BQ1'0<Yi1`0"U1B9a79(B
+     เอกสารฉบับเบื้องต้นนี้  ตั้งใจเขียนขึ้นสำหรับผู้ที่เริ่มหัดใหม่ โดยเฉพาะ  ถ้าหากมีจุดไหนที่ไม่
+เข้าใจ ก็อย่ามัวแต่โทษตัวเอง  แต่ขอให้โยนความผิดมายังผู้เขียนแทน
 
 
-     ,TK0EQ1'(R!c0*i1(B EMACS 0,T4Y10JQ1!JM'JRA0GQ19(B 0,T!g1$'(P0*T19d;`M'(B  ,Tc95M9aC!(B ,TMR((P0AU10(X1407Uh10CYi10JV1!0JQ1:J9aEP(B
-,Td0Ah1`0"i1Rc(M0BYh10:i1R'(B  ,Ta05h10JTh1'09Ui10Bh1MA`0!T140"Vi19`JAM(B ,T`GERa05h1`0CTh1Ac0*i1(B Editor ,TcK0Ah1c4(B ,Tf(B 0,T!g15RA(B  ,Tb4B`)>RP(B
-,TM0Bh1R'0BTh1'0!Q1:(B EMACS ,T`09Wh1M'(R!`0;g19b;Ca!CA07Uh10AU1$GRAJRARC6KER!KERBAR!(B   0,TMQ1907Uh1(0CT1'a0Ei1G(B EMACS
-,T7Sd04i107X1!0JTh1'07X1!M0Bh1R'(B
+     หลังจากใช้ EMACS ดูสักสองสามวัน ก็คงจะชินไปเอง  ในตอนแรก อาจจะมีจุดที่รู้สึกสับสนและ
+ไม่เข้าใจอยู่บ้าง  แต่สิ่งนี้ย่อมเกิดขึ้นเสมอ เวลาแต่เริ่มใช้ Editor ใหม่ใด ๆ ก็ตาม  โดยเฉพาะ
+อย่างยิ่งกับ EMACS เนื่องจากเป็นโปรแกรมที่มีความสามารถหลากหลายมาก   อันที่จริงแล้ว EMACS
+ทำได้ทุกสิ่งทุกอย่าง
 
 
 
-,T"M"M:0$X13(B
+ขอขอบคุณ
 =======
-     ,T`M!JRC)0:Q1:09Ui1(B 0,T4Q14a;E'AR(R!(B "MicroEMACS (kemacs) ,T@RIR0-Uh10;Xh19(B ,T`0:Wi1M'05i19(B" 0,T+Vh1'd04i1AR(R!(B
-JUNET ,T`0>Wh1Mc0Ki1c0*i1`0;g19(B Tutorial ,TJSK0CQ1:(B GNUEmacs (Nemacs)
+     เอกสารฉบับนี้ ดัดแปลงมาจาก "MicroEMACS (kemacs) ภาษาญี่ปุ่น เบื้องต้น" ซึ่งได้มาจาก
+JUNET เพื่อให้ใช้เป็น Tutorial สำหรับ GNUEmacs (Nemacs)
 
-     ,T`M!JRC09Ui1(B 0,T4Q14a;E'AR(R!(B "JOVE Tutorial" (19 ,TA!CR$A(B 86) ,T"M'(B Jonathan Payne
-     0,T+Vh1'04Q14a;E'AR(R!`M!JRC"M'(B Steve Zimmerman ,Ta0Kh1'(B CCA-UNIX 0,T+Vh1'04Q14a;E'(B (0,TMU1!07U1(B) ,TAR(B
-     ,T(R!`M!JRC(B "Teach-Emacs" ,T)0:Q1:`0:Wi1M'05i19(B (31 0,T5X1ER$A(B 85) ,T"M'(B MIT
+     เอกสารนี้ ดัดแปลงมาจาก "JOVE Tutorial" (19 มกราคม 86) ของ Jonathan Payne
+     ซึ่งดัดแปลงมาจากเอกสารของ Steve Zimmerman แห่ง CCA-UNIX ซึ่งดัดแปลง (อีกที) มา
+     จากเอกสาร "Teach-Emacs" ฉบับเบื้องต้น (31 ตุลาคม 85) ของ MIT
 
      Update - February 1986 by Dana Hoggatt.
 
@@ -671,20 +671,20 @@
 
      Update/Translate - July 1987 by SANETO Takanori
 
-,T"M"M:0$X13`0;g190>T1`HI(B
+ขอขอบคุณเป็นพิเศษ
 ==============
 
-     0,T$X13(B SANETO Takanori (,T+R`9b5P(B ,T7R!Rb90CT1(B) 0,T<Yi1a;E@RIR0-Uh10;Xh19)0:Q1:aC!0JX14(B  ,T`M!JRC)0:Q1:09Ui1(B
-,T`0"U1B904i1GB(B GMW + Wnn + Nemacs  ,T"MaJ4'$GRA"M:0$X13(B ,Ta04h10<Yi107Uh1J0Ci1R'b;Ca!CA0JX140GT1`HI`K0Eh1R09Ui10"Vi19(B
-,TaEP"M"M:0$X13(B 0,T$X13(B Fujiwara Shoko 0,T7Uh1c0Ki1$GRA0*h1GB`K0EW1Mc9!RCa;E(B ,T!RC0;i1M90"i1M0AY1E(B ,TaEPM0Bh1R'0MWh190MU1!(B
-,TKERB(B ,Tf(B ,TM0Bh1R'(B
+     คุณ SANETO Takanori (ซาเนโตะ ทากาโนริ) ผู้แปลภาษาญี่ปุ่นฉบับแรกสุด  เอกสารฉบับนี้
+เขียนด้วย GMW + Wnn + Nemacs  ขอแสดงความขอบคุณ แด่ผู้ที่สร้างโปรแกรมสุดวิเศษเหล่านี้ขึ้น
+และขอขอบคุณ คุณ Fujiwara Shoko ที่ให้ความช่วยเหลือในการแปล การป้อนข้อมูล และอย่างอื่นอีก
+หลาย ๆ อย่าง
 
 
 
 
-,T"M0CQ1:0<T14*M:(B ,T!RCa;E07Uh10<T14>ER4(B 0,T"i1M0AY1E`07g1((B ,TaEP0MWh19(B ,Tf(B ,Td0Gi1a05h1`0>U1B'0<Yi1`04U1BG(B
+ขอรับผิดชอบ การแปลที่ผิดพลาด ข้อมูลเท็จ และอื่น ๆ ไว้แต่เพียงผู้เดียว
 
-                        0,T+X10+Y10!T1(B 0,TNT1bCb90:X1(B@sra.co.jp
+                        ซุซูกิ ฮิโรโนบุ@sra.co.jp
 
 
 Update/Add - December 1987 by Hironobu Suzuki