diff options
Diffstat (limited to 'etc/tutorials')
-rw-r--r-- | etc/tutorials/TUTORIAL.ko | 1504 | ||||
-rw-r--r-- | etc/tutorials/TUTORIAL.th | 1384 |
2 files changed, 1444 insertions, 1444 deletions
diff --git a/etc/tutorials/TUTORIAL.ko b/etc/tutorials/TUTORIAL.ko index 78ea63ff9e0..9aad280bf96 100644 --- a/etc/tutorials/TUTORIAL.ko +++ b/etc/tutorials/TUTORIAL.ko @@ -1,1002 +1,1002 @@ -$(C@L8F=:(B(Emacs) $(CAvD'<-@T4O4Y(B. -$(C3!?!4B(B $(C:9;g(B $(CA60G@L(B -$(C@V=@4O4Y(B. $(CAv1](B $(C@P0m(B $(C@V4B(B $(C@L(B $(C1[@:(B $(C@L8F=:(B(Emacs) $(CAvD'<-@T4O4Y(B. - -$(C@L8F=:(B $(C8m7I5i@:(B $(C4k03(B $(CA&>n<h(B (CTRL$(C@L3*(B CTL$(C@L6s0m55(B $(CG%=C(B) $(CH$@:(B -META$(C<h(B (EDIT$(C@L3*(B ALT$(C6s0m55(B $(CG%=C(B)$(C8&(B $(C;g?kGU4O4Y(B. $(C@L71(B $(C1[<h8&(B $(C8E9x(B $(C4Y(B -$(C>21b(B $(C:84Y4B(B $(C?l8.4B(B $(C4Y@=0z(B $(C00@:(B $(C>`=D(B $(CG%Gv@;(B $(C>21b7N(B $(CGU=C4Y(B: - - C-<$(C9.@Z(B> $(CA&>n<h8&(B $(C4)8%(B $(CC$(B <$(C9.@Z(B> $(C1[<h8&(B $(CD(4O4Y(B. $(CAo(B, C-f$(C4B(B $(CA&>n<h8&(B - $(C4)8%(B $(C;sEB?!<-(B f $(C1[<h8&(B $(CD!4B(B $(C0M@;(B $(C8;GU4O4Y(B. - M-<$(C9.@Z(B> META$(C<h3*(B EDIT$(C<h(B $(CH$@:(B $(C13C<<h(B(ALT)$(C8&(B $(C4)8%(B $(CC$(B <$(C9.@Z(B> $(C1[<h8&(B - $(CD(4O4Y(B. META$(C<h(B, EDIT$(C<h(B $(CH$@:(B $(C13C<<h0!(B $(C>x@88i(B $(C3*?H<h(B(ESC)$(C8&(B - $(C4-764Y(B $(C3u@:(B $(CHD(B <$(C9.@Z(B> $(C1[<h8&(B $(CD(4O4Y(B. $(C3*?H<h4B(B <ESC>$(C@L6s0m(B - $(C>21b7N(B $(CGU4O4Y(B. - -$(C@/@G(B: C-x C-c$(C8&(B $(CD!8i(B $(C@L8F=:8&(B $(CA>7aGR(B $(C<v(B $(C@V=@4O4Y(B. ($(C5N(B $(C9.@Z(B.) -$(C?^BJ(B $(C0!@e@Z8.?!(B $(C@V4B(B $(C9.@Z(B ">>"$(C4B(B $(C56@Z0!(B $(C8m7I@;(B $(C=GG`GX(B $(C:8557O(B -$(CGO0m@Z(B $(CGT@;(B $(CAv=CGU4O4Y(B. $(C?98&(B $(C5i>n(B: -<<help-with-tutorial$(C@L(B $(C=C@[GO8i<-(B $(C?)1b?!(B $(C:s(B $(CAY@L(B $(C3"?vA3@=(B>> ->> $(C4Y@=(B $(CH-8i@87N(B $(C?rAw@L1b(B $(C@'GX<-4B(B C-v ($(C4Y@=(B $(CH-8i(B $(C:81b(B)$(C8&(B $(CD(4O4Y(B. - ($(CGX(B $(C:8=J=C?@(B. $(CA&>n<h8&(B $(C4)8%(B $(CC$(B v $(C1[<h8&(B $(CD!8i(B $(C5K4O4Y(B.) - $(CAv1]:NEM4B(B $(CGQ(B $(CH-8i@;(B $(C4Y(B $(C@P>z@;(B $(C6'864Y(B $(C@L780T(B $(CGX>_(B $(CGU4O4Y(B. - -$(CGQ(B $(CH-8i?!<-(B $(C4Y8%(B $(CH-8i@87N(B $(C?rAw@O(B $(C6'(B $(C5N(B $(CAY@L(B $(C0cD#4Y4B(B $(C0M@;(B -$(C@/@GGO=J=C?@(B; $(C@L4B(B $(CGQ(B $(C9.@e@;(B $(C0h<SGX<-(B $(C@P@;(B $(C<v(B $(C@V557O(B $(CGO1b(B -$(C@'GT@T4O4Y(B. - -$(CC99xB07N(B $(C@MGt>_(B $(CGO4B(B $(C0M@:(B $(C9.@e@G(B $(CGQ(B $(C0w?!<-(B $(C4Y8%(B $(C0w@87N(B $(C?rAw@L4B(B -$(C0M@T4O4Y(B. C-v$(C7N(B $(CGQ(B $(CH-8i@;(B $(C>UBJ@87N(B $(C?rAw@L4B(B $(C0M@:(B $(C@L9L(B $(C>K0m(B $(C@V=@4O4Y(B. -$(C5^BJ@87N(B $(CGQ(B $(CH-8i@;(B $(C?rAw@L1b(B $(C@'GX<-4B(B M-v$(C8&(B (META$(C<h8&(B $(C4)8%C$(B v $(C1[<h8&(B -$(CD!0E3*(B, META$(C<h3*(B EDIT$(C<h(B, $(CH$@:(B $(C13C<<h0!(B $(C>x@;(B $(C0f?l(B <ESC>v$(C8&(B $(CD(4O4Y(B). - ->> $(C8n(B $(C9x(B M-v$(C?M(B C-v$(C8&(B $(C9x0%>F(B $(CCD(B $(C:8=J=C?@(B. - - -* $(C?d>`(B +이맥스(Emacs) 지침서입니다. +끝에는 복사 조건이 +있습니다. 지금 읽고 있는 이 글은 이맥스(Emacs) 지침서입니다. + +이맥스 명령들은 대개 제어쇠 (CTRL이나 CTL이라고도 표시) 혹은 +META쇠 (EDIT이나 ALT라고도 표시)를 사용합니다. 이런 글쇠를 매번 다 +쓰기 보다는 우리는 다음과 같은 약식 표현을 쓰기로 합시다: + + C-<문자> 제어쇠를 누른 채 <문자> 글쇠를 칩니다. 즉, C-f는 제어쇠를 + 누른 상태에서 f 글쇠를 치는 것을 말합니다. + M-<문자> META쇠나 EDIT쇠 혹은 교체쇠(ALT)를 누른 채 <문자> 글쇠를 + 칩니다. META쇠, EDIT쇠 혹은 교체쇠가 없으면 나옴쇠(ESC)를 + 눌렀다 놓은 후 <문자> 글쇠를 칩니다. 나옴쇠는 <ESC>이라고 + 쓰기로 합니다. + +유의: C-x C-c를 치면 이맥스를 종료할 수 있습니다. (두 문자.) +왼쪽 가장자리에 있는 문자 ">>"는 독자가 명령을 실행해 보도록 +하고자 함을 지시합니다. 예를 들어: +<<help-with-tutorial이 시작하면서 여기에 빈 줄이 끼워졌음>> +>> 다음 화면으로 움직이기 위해서는 C-v (다음 화면 보기)를 칩니다. + (해 보십시오. 제어쇠를 누른 채 v 글쇠를 치면 됩니다.) + 지금부터는 한 화면을 다 읽었을 때마다 이렇게 해야 합니다. + +한 화면에서 다른 화면으로 움직일 때 두 줄이 겹친다는 것을 +유의하십시오; 이는 한 문장을 계속해서 읽을 수 있도록 하기 +위함입니다. + +첫번째로 익혀야 하는 것은 문장의 한 곳에서 다른 곳으로 움직이는 +것입니다. C-v로 한 화면을 앞쪽으로 움직이는 것은 이미 알고 있습니다. +뒷쪽으로 한 화면을 움직이기 위해서는 M-v를 (META쇠를 누른채 v 글쇠를 +치거나, META쇠나 EDIT쇠, 혹은 교체쇠가 없을 경우 <ESC>v를 칩니다). + +>> 몇 번 M-v와 C-v를 번갈아 쳐 보십시오. + + +* 요약 ------ -$(C4Y@=@:(B $(C@|C<H-8i@;(B $(C:84B5%(B $(C@/?kGQ(B $(C8m7I5i@T4O4Y(B: +다음은 전체화면을 보는데 유용한 명령들입니다: - C-v $(CGQ(B $(C@|C<(B $(CH-8i@;(B $(C>UBJ@87N(B $(C?rAw@N4Y(B - ESC v $(CGQ(B $(C@|C<(B $(CH-8i@;(B $(C5^BJ@87N(B $(C?rAw@N4Y(B - C-l $(CH-8i@;(B $(CAv?l0m(B $(C8p5g(B $(C1[?y@;(B $(C4Y=C(B $(CH-8i(B $(CG%=CGO8i<-(B - $(C1t:}@L0!(B $(C@V4B(B $(C1[?y@;(B $(CH-8i@G(B $(CA_>S?!(B $(C?@0T(B $(CGQ4Y(B. - ($(CA&>n<h(B-1$(C@L(B $(C>F4O6s(B $(CA&>n<h(B-L$(C@T4O4Y(B.) + C-v 한 전체 화면을 앞쪽으로 움직인다 + ESC v 한 전체 화면을 뒷쪽으로 움직인다 + C-l 화면을 지우고 모든 글월을 다시 화면 표시하면서 + 깜빡이가 있는 글월을 화면의 중앙에 오게 한다. + (제어쇠-1이 아니라 제어쇠-L입니다.) ->> $(C1t9Z@L8&(B $(CC#>F<-(B $(C1W(B $(C0w@G(B $(C1[?y@;(B $(C1b>oGO=J=C?@(B. - $(C1W8.0m4B(B C-l$(C@;(B $(CD!=J=C?@(B. - $(C1t9Z@L8&(B $(C4Y=C(B $(CC#>F<-(B $(C00@:(B $(C1[?y@L(B $(C1t9Z@L@G(B $(C1YC3?!(B $(C@V4B0!8&(B - $(CH.@NGO=J=C?@(B. +>> 깜박이를 찾아서 그 곳의 글월을 기억하십시오. + 그리고는 C-l을 치십시오. + 깜박이를 다시 찾아서 같은 글월이 깜박이의 근처에 있는가를 + 확인하십시오. -* $(C1b:;@{@N(B $(C1t9Z@L@G(B $(CA&>n(B +* 기본적인 깜박이의 제어 ------------------------ -$(CGQ(B $(CH-8i@;(B $(C?rAw@L4B(B $(C0M@:(B $(C@/?kGU4O4Y88(B $(CH-8i@G(B $(CGQ(B $(C1[?y3;?!<-(B $(C>n6;0T(B -$(CA$GXAx(B $(C@e<R7N(B $(C?rAw@O(B $(C<v(B $(C@V0Z=@4O1n(B? +한 화면을 움직이는 것은 유용합니다만 화면의 한 글월내에서 어떻게 +정해진 장소로 움직일 수 있겠습니까? -$(C@L?!4B(B $(C8n0!Av(B $(C9f9}@L(B $(C@V=@4O4Y(B. $(C0!@e(B $(C1Y:;@{@N(B $(C9f9}@:(B C-p, C-b, C-f -$(C1W8.0m(B C-n $(C8m7I@;(B $(C;g?kGO4B(B $(C0M@T4O4Y(B. $(C0"0"@:(B $(CH-8i?!<-(B $(CA$GXAx(B $(C9fGb@87N(B -$(CGO3*@G(B $(C0!7ND-@L3*(B $(CGO3*@G(B $(C<<7ND->?(B $(C1t9Z@L8&(B $(C?rAw@T4O4Y(B. -$(C?)1b?!(B $(C@L(B $(C3W0!Av(B $(C8m7I5i0z(B $(C1W(B $(C?rAw@L4B(B $(C9fGb@;(B $(C:8?)AV4B(B $(CG%0!(B $(C@V=@4O4Y(B. +이에는 몇가지 방법이 있습니다. 가장 근본적인 방법은 C-p, C-b, C-f +그리고 C-n 명령을 사용하는 것입니다. 각각은 화면에서 정해진 방향으로 +하나의 가로칸이나 하나의 세로칸씩 깜박이를 움직입니다. +여기에 이 네가지 명령들과 그 움직이는 방향을 보여주는 표가 있습니다. - $(C5^(B $(CAY(B, C-p + 뒷 줄, C-p : : - $(C5^BJ@87N(B, C-b .... $(CGv@g@G(B $(C1t9Z@L(B $(C@'D!(B .... $(C>UBJ@87N(B, C-f + 뒷쪽으로, C-b .... 현재의 깜박이 위치 .... 앞쪽으로, C-f : : - $(C>U(B $(CAY(B, C-n + 앞 줄, C-n ->> C-n$(C@L3*(B C-p$(C8&(B $(C=a<-(B $(C1t9Z@L8&(B $(C@'(B $(C55G%@G(B $(C0!?n5%(B $(CAY7N(B $(C?rAw@L=J=C?@(B. - $(C1W8.0m4B(B C-l$(C@;(B $(CCD<-(B $(C@L(B $(C55G%0!(B $(CH-8i@G(B $(CA_>S?!(B $(C@'D!GO4BAv8&(B - $(CH.@NGO=J=C?@(B. +>> C-n이나 C-p를 써서 깜박이를 위 도표의 가운데 줄로 움직이십시오. + 그리고는 C-l을 쳐서 이 도표가 화면의 중앙에 위치하는지를 + 확인하십시오. -$(C@L(B $(C8m7I5i@:(B $(C1[@Z7N(B $(C1b>oGO4B(B $(C0M@L(B $(C=,?o(B $(C0M@T4O4Y(B: P$(C4B(B previous, N$(C@:(B -next, B$(C4B(B backward, F$(C4B(B forward. $(C@L5i@:(B $(C1b:;@{@N(B $(C1t9Z@L(B $(C@L5?(B -$(C8m7I@87N<-(B, $(CGW;s(B $(C;g?kGO0T(B $(C5I(B $(C0M@L9G7N(B $(CAv1](B $(C4g@e(B $(C8S8.(B $(C<S?!(B $(C@MGt(B $(C5N4B(B -$(C0M@L(B $(CAA=@4O4Y(B. +이 명령들은 글자로 기억하는 것이 쉬울 것입니다: P는 previous, N은 +next, B는 backward, F는 forward. 이들은 기본적인 깜박이 이동 +명령으로서, 항상 사용하게 될 것이므로 지금 당장 머리 속에 익혀 두는 +것이 좋습니다. ->> C-n$(C@;(B $(C?)7/9x(B $(CCD<-(B $(C1t9Z@L8&(B $(C@L(B $(CAY7N(B $(C0!A.(B $(C?@=J=C?@(B. +>> C-n을 여러번 쳐서 깜박이를 이 줄로 가져 오십시오. ->> C-f$(C8&(B $(CCD<-(B $(CAY(B $(C>H?!<-(B $(C@L5?GX(B $(C:80m(B C-p$(C7N(B $(C5^(B $(CAY7N(B $(C0!=J=C?@(B. - $(C1t9Z@L0!(B $(CAY@G(B $(CA_0#?!(B $(C@V@;(B $(C6'(B C-p$(C0!(B $(C>n62(B $(C@[?k@;(B $(CGO4B0!(B $(C:8=J=C?@(B. +>> C-f를 쳐서 줄 안에서 이동해 보고 C-p로 뒷 줄로 가십시오. + 깜박이가 줄의 중간에 있을 때 C-p가 어떤 작용을 하는가 보십시오. -$(C0"0"@G(B $(CAY@:(B $(C4Y@=?!(B $(C@L>nAv4B(B $(CAY0z(B $(C:P8.GO4B(B $(C;uAY(B $(C9.@Z7N(B $(C3!334O4Y(B. -$(CFD@O@G(B $(C86Av87(B $(CAY@:(B $(C3!?!(B $(C;uAY(B $(C9.@Z0!(B $(C@V>n>_(B $(CGU4O4Y(B ($(C1W7/3*(B $(C@L8F=:4B(B $(C@L8&(B -$(C?d18GOAv(B $(C>J=@4O4Y(B). +각각의 줄은 다음에 이어지는 줄과 분리하는 새줄 문자로 끝납니다. +파일의 마지막 줄은 끝에 새줄 문자가 있어야 합니다 (그러나 이맥스는 이를 +요구하지 않습니다). ->> $(CAY@L(B $(C=C@[GO4B(B $(C0w?!<-(B C-b$(C8&(B $(CCD(B $(C:8=J=C?@(B. $(C1t9Z@L0!(B $(C5^(B $(CAY@G(B $(C3!@87N(B - $(C?rAw?)>_(B $(CGU4O4Y(B. $(C1W(B $(C@L@/4B(B $(C1t9Z@L0!(B $(C;uAY(B $(C9.@Z8&(B $(C3Q>n<-(B $(C5^BJ@87N(B - $(C?rAw@L1b(B $(C6'9.@T4O4Y(B. +>> 줄이 시작하는 곳에서 C-b를 쳐 보십시오. 깜박이가 뒷 줄의 끝으로 + 움직여야 합니다. 그 이유는 깜박이가 새줄 문자를 넘어서 뒷쪽으로 + 움직이기 때문입니다. -C-f$(C55(B C-b$(CC373(B $(C;uAY(B $(C9.@Z8&(B $(C3Q>n<-(B $(C@L5?GR(B $(C<v(B $(C@V=@4O4Y(B. +C-f도 C-b처럼 새줄 문자를 넘어서 이동할 수 있습니다. ->> C-b$(C8&(B $(C8n(B $(C9x(B $(C4u(B $(CCD<-(B $(C1t9Z@L0!(B $(C>n5p(B $(C@V4B0!8&(B $(C:80m(B C-f$(C7N(B $(C4Y=C(B $(CAY@G(B - $(C3!1nAv(B $(C@L5?GO=J=C?@(B. - $(C1W(B $(C4Y@=?!(B C-f$(C7N(B $(C4Y@=(B $(CAY7N(B $(C@L5?GO=J=C?@(B. +>> C-b를 몇 번 더 쳐서 깜박이가 어디 있는가를 보고 C-f로 다시 줄의 + 끝까지 이동하십시오. + 그 다음에 C-f로 다음 줄로 이동하십시오. -$(CH-8i@G(B $(C2@4k1b3*(B $(C9X9Y4Z@;(B $(CAv3*CD<-(B $(C@L5?GO8i(B $(C0!@e@Z8.8&(B $(C9~>n3-(B $(C1[?y@:(B -$(CH-8i(B $(C>H@87N(B $(C9P7A(B $(C5i>n(B $(C?I4O4Y(B. $(C@L0M@;(B "$(C5N7g8;1b(B(scrolling)"$(C6s0m(B -$(CGU4O4Y(B. $(C@L4B(B $(C@L8F=:0!(B $(C1t9Z@L8&(B $(CH-8i(B $(C9[@87N(B $(C3;:83;Av(B $(C>J0m(B $(C1[?y@G(B $(CA$GXAx(B -$(C@e<R7N(B $(C?rAw@O(B $(C<v(B $(C@V557O(B $(CGU4O4Y(B. +화면의 꼭대기나 밑바닥을 지나쳐서 이동하면 가장자리를 벗어난 글월은 +화면 안으로 밀려 들어 옵니다. 이것을 "두루말기(scrolling)"라고 +합니다. 이는 이맥스가 깜박이를 화면 밖으로 내보내지 않고 글월의 정해진 +장소로 움직일 수 있도록 합니다. ->> C-n$(C@87N(B $(C1t9Z@L8&(B $(CH-8i@G(B $(C9X9Y4Z(B $(C>F7!7N(B $(C?rAw?)<-(B, $(C>n62(B $(C@O@L(B - $(C9_;}GO4B0!8&(B $(C:8=J=C?@(B. +>> C-n으로 깜박이를 화면의 밑바닥 아래로 움직여서, 어떤 일이 + 발생하는가를 보십시오. -$(CGQ(B $(C9.@Z>?(B $(C@L5?GO4B(B $(C0M@L(B $(C4@8.8i(B, $(CGQ(B $(C398;>?(B $(C?rAw@O(B $(C<v(B $(C@V=@4O4Y(B. M-f -(Meta-f)$(C4B(B $(CGQ(B $(C398;>?(B $(C>UBJ@87N(B, M-b$(C4B(B $(CGQ(B $(C398;>?(B $(C5^BJ@87N(B $(C?rAw@T4O4Y(B. +한 문자씩 이동하는 것이 느리면, 한 낱말씩 움직일 수 있습니다. M-f +(Meta-f)는 한 낱말씩 앞쪽으로, M-b는 한 낱말씩 뒷쪽으로 움직입니다. ->> M-f$(C3*(B M-b$(C8&(B $(C8n(B $(C9x(B $(CCD(B $(C:8=J=C?@(B. +>> M-f나 M-b를 몇 번 쳐 보십시오. -$(C398;@G(B $(CA_0#?!<-4B(B $(C398;@G(B $(C3!@87N(B $(C?rAw@T4O4Y(B. $(C398;(B $(C;g@L@G(B $(C0x0#(B -$(C9.@Z?!<-4B(B M-f$(C0!(B $(C4Y@=(B $(C398;@G(B $(C3!@87N(B $(C?rAw@T4O4Y(B. M-b$(C4B(B $(C9]4k(B $(C9fGb@87N(B -$(C00@:(B $(C@[?k@;(B $(CGU4O4Y(B. +낱말의 중간에서는 낱말의 끝으로 움직입니다. 낱말 사이의 공간 +문자에서는 M-f가 다음 낱말의 끝으로 움직입니다. M-b는 반대 방향으로 +같은 작용을 합니다. ->> $(CA_0#(B $(CA_0#?!(B C-f$(C?M(B C-b$(C8&(B $(CD!8i<-(B M-f$(C?M(B M-b$(C8&(B $(C8n(B $(C9x(B - $(C?,=@GO=J=C?@(B. $(C1W7/8i(B $(C398;@G(B $(C3;:N3*(B $(CA_0#?!<-(B M-f$(C?M(B M-b$(C0!(B $(C>n62(B - $(C@[?k@;(B $(CGO4B0!8&(B $(C:<(B $(C<v(B $(C@V=@4O4Y(B. +>> 중간 중간에 C-f와 C-b를 치면서 M-f와 M-b를 몇 번 + 연습하십시오. 그러면 낱말의 내부나 중간에서 M-f와 M-b가 어떤 + 작용을 하는가를 볼 수 있습니다. -C-f$(C?M(B C-b, M-f$(C?M(B M-b$(C@G(B $(C@/;g<:?!(B $(C@/@GGO=J=C?@(B. $(C4k:N:P(B Meta $(C9.@Z4B(B -$(C>p>n0!(B $(CA$@GGO4B(B $(C4\@'(B($(C398;(B, $(C9.@e(B, $(C4\6t(B)$(C@G(B $(C@[5??!(B $(C;g?k5G0m(B $(CA&>n(B -$(C9.@Z4B(B $(CFmA}GO4B(B $(C0M0z4B(B $(C0|0h>x4B(B $(C1b:;(B $(C4\@'(B($(C9.@Z(B, $(CAY(B $(C5n5n(B)$(C?!(B -$(C;g?k5K4O4Y(B. +C-f와 C-b, M-f와 M-b의 유사성에 유의하십시오. 대부분 Meta 문자는 +언어가 정의하는 단위(낱말, 문장, 단락)의 작동에 사용되고 제어 +문자는 편집하는 것과는 관계없는 기본 단위(문자, 줄 등등)에 +사용됩니다. -$(C4Y@=@:(B $(CAY0z(B $(C9.@e(B $(C;g@L?!(B $(C@{?k5G4B(B $(C@/;g<:@T4O4Y(B: C-a$(C?M(B C-e$(C4B(B $(CAY@G(B -$(C=C@[@L3*(B $(C3!@87N(B $(C?rAw@L0m(B, M-a$(C?M(B M-e$(C4B(B $(C9.@e@G(B $(C=C@[@L3*(B $(C3!@87N(B -$(C?rAw@T4O4Y(B. +다음은 줄과 문장 사이에 적용되는 유사성입니다: C-a와 C-e는 줄의 +시작이나 끝으로 움직이고, M-a와 M-e는 문장의 시작이나 끝으로 +움직입니다. ->> C-a$(C8&(B $(C5N<<9x(B $(CD#(B $(CHD(B C-e$(C8&(B $(C5N<<9x(B $(CCD(B $(C:8=J=C?@(B. - M-a$(C8&(B $(C5N<<9x(B $(CD#(B $(CHD(B M-e$(C8&(B $(C5N<<9x(B $(CCD(B $(C:8=J=C?@(B. +>> C-a를 두세번 친 후 C-e를 두세번 쳐 보십시오. + M-a를 두세번 친 후 M-e를 두세번 쳐 보십시오. -C-a$(C4B(B $(C5N(B $(C9x(B $(C@L;s(B $(C9]:9GX55(B $(C>F9+71(B $(C@[?k@;(B $(CGOAv(B $(C>JAv88(B M-a$(C4B(B $(CGQ(B $(C9.@e@;(B -$(C4u(B $(C5Z7N(B $(C?rAw@L4B(B $(C0M?!(B $(C@/@GGO=J=C?@(B. $(C@L4B(B $(C:q7O(B $(C@/;g<:@:(B $(C>F4OAv88(B -$(C4g?,GQ(B $(C;g=G7N(B $(C?)0\A}4O4Y(B. +C-a는 두 번 이상 반복해도 아무런 작용을 하지 않지만 M-a는 한 문장을 +더 뒤로 움직이는 것에 유의하십시오. 이는 비록 유사성은 아니지만 +당연한 사실로 여겨집니다. -$(C9.<-?!(B $(C@V4B(B $(C1t9Z@L@G(B $(C@'D!4B(B "$(CA!(B(point)"$(C@L6s0m(B $(C:N8(4O4Y(B. $(C:N?,GO@Z8i(B, -$(C1t9Z@L4B(B $(CH-8i;s?!<-(B, $(C9.<-(B $(C3;?!(B $(CA!@L(B $(C>n5p?!(B $(C@'D!GO0m(B $(C@V4B0!8&(B -$(C:8?)A]4O4Y(B. +문서에 있는 깜박이의 위치는 "점(point)"이라고 부릅니다. 부연하자면, +깜박이는 화면상에서, 문서 내에 점이 어디에 위치하고 있는가를 +보여줍니다. -$(C4Y@=@:(B $(C398;0z(B $(C9.@e(B $(C4\@'@G(B $(C@L5?@;(B $(CFwGTGQ(B $(C4\<xGQ(B $(C1t9Z@L(B $(C@L5?(B $(C@[5?@;(B -$(C?d>`GO?4=@4O4Y(B. +다음은 낱말과 문장 단위의 이동을 포함한 단순한 깜박이 이동 작동을 +요약하였습니다. - C-f $(CGQ(B $(C9.@Z(B $(C>UBJ@87N(B $(C?rAw@N4Y(B - C-b $(CGQ(B $(C9.@Z(B $(C5^BJ@87N(B $(C?rAw@N4Y(B + C-f 한 문자 앞쪽으로 움직인다 + C-b 한 문자 뒷쪽으로 움직인다 - M-f $(CGQ(B $(C4\>n(B $(C>UBJ@87N(B $(C?rAw@N4Y(B - M-b $(CGQ(B $(C4\>n(B $(C5^BJ@87N(B $(C?rAw@N4Y(B + M-f 한 단어 앞쪽으로 움직인다 + M-b 한 단어 뒷쪽으로 움직인다 - C-n $(C>U(B $(CAY7N(B $(C?rAw@N4Y(B - C-p $(C5^(B $(CAY7N(B $(C?rAw@N4Y(B + C-n 앞 줄로 움직인다 + C-p 뒷 줄로 움직인다 - C-a $(CAY@G(B $(C=C@[@87N(B $(C?rAw@N4Y(B - C-e $(CAY@G(B $(C3!@87N(B $(C?rAw@N4Y(B + C-a 줄의 시작으로 움직인다 + C-e 줄의 끝으로 움직인다 - M-a $(C9.@e@G(B $(C=C@[@87N(B $(C?rAw@N4Y(B - M-e $(C9.@e@G(B $(C3!@87N(B $(C?rAw@N4Y(B + M-a 문장의 시작으로 움직인다 + M-e 문장의 끝으로 움직인다 ->> $(C@L(B $(C8p5g(B $(C8m7I@;(B $(C8n(B $(C9x(B $(C?,=@GX(B $(C:8=J=C?@(B. $(C@L(B $(C8m7I5i@:(B $(C0!@e(B $(C@ZAV(B - $(C;g?k5G4B(B $(C8m7I5i@T4O4Y(B. +>> 이 모든 명령을 몇 번 연습해 보십시오. 이 명령들은 가장 자주 + 사용되는 명령들입니다. -$(C1t9Z@L8&(B $(C?rAw@L4B(B $(C4Y8%(B $(C5N0!Av(B $(CA_?dGQ(B $(C8m7I@:(B $(C@|(B $(C9.<-@G(B $(C=C@[@87N(B -$(C?rAw@L4B(B M-< (Meta$(C<h(B $(C4u@[@=(B $(C1[<h(B)$(C?M(B $(C@|(B $(C9.<-@G(B $(C3!@87N(B $(C?rAw@L4B(B M-> -(Meta$(C<h(B $(C4uE-(B $(C1[<h(B)$(C@T4O4Y(B. +깜박이를 움직이는 다른 두가지 중요한 명령은 전 문서의 시작으로 +움직이는 M-< (Meta쇠 더작음 글쇠)와 전 문서의 끝으로 움직이는 M-> +(Meta쇠 더큼 글쇠)입니다. ->> M-<$(C8&(B $(CAv1](B $(CCD<-(B $(CAvD'<-@G(B $(C=C@[@87N(B $(C?rAw?)(B $(C:8=J=C?@(B. $(C1W8.0m4B(B C-v$(C8&(B - $(C9]:9GX<-(B $(C4Y=C(B $(C?)1b7N(B $(C59>F(B $(C?@=J=C?@(B. +>> M-<를 지금 쳐서 지침서의 시작으로 움직여 보십시오. 그리고는 C-v를 + 반복해서 다시 여기로 돌아 오십시오. ->> M->$(C8&(B $(CCD<-(B $(CAvD'<-@G(B $(C3!@87N(B $(C0!=J=C?@(B. $(C1W8.0m4B(B M-v$(C8&(B $(C9]:9GX<-(B $(C4Y=C(B - $(C?)1b7N(B $(C59>F(B $(C?@=J=C?@(B. +>> M->를 쳐서 지침서의 끝으로 가십시오. 그리고는 M-v를 반복해서 다시 + 여기로 돌아 오십시오. -$(C4\8;1b?!(B $(CH-;lG%(B $(C1[<h0!(B $(C@V@88i(B $(CH-;lG%(B $(C1[<h8&(B $(C=a<-(B $(C1t9Z@L8&(B $(C?rAw@O(B $(C<v55(B -$(C@V=@4O4Y(B. $(C4Y@=0z(B $(C00@:(B $(C<<0!Av(B $(C@L@/7N(B C-b, C-f, C-n $(C1W8.0m(B C-p$(C8&(B $(C>24B(B -$(C0M@;(B $(C1G@eGU4O4Y(B. $(CC9B07N(B, $(C@L5i@:(B $(C8p5g(B $(CA>7y@G(B $(C4\8;1b?!<-(B $(C;g?kGR(B $(C<v(B -$(C@V=@4O4Y(B. $(C5QB07N(B, $(C@O4\(B $(C@L8F=:8&(B $(C>24B(B $(C0M?!(B $(C@M<wGX(B $(CAv8i(B, $(C@L71(B $(CA&>n(B -$(C9.@Z@;(B $(CD!4B(B $(C0M@L(B $(CH-;lG%(B $(C1[<h8&(B $(CD!4B(B $(C0M:84Y(B $(CHN>@(B $(C:|8#4Y4B(B $(C0M@;(B $(C>K0T(B $(C5I(B -$(C0M@T4O4Y(B ($(CE8@Z(B $(C@'D!?!<-(B $(C<U@;(B $(C8V8.(B $(C?rAw@O(B $(CGJ?d0!(B $(C>x1b(B $(C6'9.?!(B). $(C<BB07N(B, -$(C@O4\(B $(C@L71(B $(CA&>n(B $(C9.@Z(B $(C8m7I@;(B $(C>24B(B $(C=@0|@L(B $(C5i8i(B $(C1t9Z@L8&(B $(C?rAw@L4B(B $(C4Y8%(B -$(C0m1^(B $(C8m7I5i55(B $(C=10T(B $(C9h?o(B $(C<v(B $(C@V=@4O4Y(B. +단말기에 화살표 글쇠가 있으면 화살표 글쇠를 써서 깜박이를 움직일 수도 +있습니다. 다음과 같은 세가지 이유로 C-b, C-f, C-n 그리고 C-p를 쓰는 +것을 권장합니다. 첫째로, 이들은 모든 종류의 단말기에서 사용할 수 +있습니다. 둘째로, 일단 이맥스를 쓰는 것에 익숙해 지면, 이런 제어 +문자을 치는 것이 화살표 글쇠를 치는 것보다 훨씬 빠르다는 것을 알게 될 +것입니다 (타자 위치에서 손을 멀리 움직일 필요가 없기 때문에). 셋째로, +일단 이런 제어 문자 명령을 쓰는 습관이 들면 깜박이를 움직이는 다른 +고급 명령들도 쉽게 배울 수 있습니다. -$(C4k:N:P@G(B $(C@L8F=:(B $(C8m7I?!4B(B $(C<}@Z(B $(C@N<v8&(B $(CA$GXAY(B $(C<v(B $(C@V=@4O4Y(B; $(C@L4B(B $(C4k:N:P(B, -$(C8m7I@G(B $(C9]:9(B $(CH=<v8&(B $(CA$GX(B $(CA]4O4Y(B. $(C@L780T(B $(C8m7I?!(B $(C9]:9(B $(CH=<v8&(B $(CA$GXAV4B(B -$(C9f9}@:(B $(C8m7I@;(B $(CD!1b(B $(C@|?!(B C-u$(C?M(B $(C<}@Z8&(B $(CD!4B(B $(C0M@87N(B $(C@L7g>nA}4O4Y(B. META$(C<h(B -($(CH$@:(B EDIT$(C<h3*(B $(C13C<<h(B)$(C0!(B $(C@V@88i(B $(C4Y8%(B $(C9f9}@87N(B $(C<}@Z(B $(C@N<v8&(B $(C@T7BGR(B $(C<v(B -$(C@V=@4O4Y(B: MEAT$(C<h8&(B $(C4)8%(B $(CC$(B $(C<}@Z8&(B $(CD!=J=C?@(B. C-u $(C9f9}@:(B $(C>n62(B -$(C4\8;1b?!<-55(B $(C;g?kGR(B $(C<v(B $(C@V1b(B $(C6'9.?!(B $(C@L8&(B $(C;g?kGO1b(B $(C9Y6x4O4Y(B. +대부분의 이맥스 명령에는 숫자 인수를 정해줄 수 있습니다; 이는 대부분, +명령의 반복 횟수를 정해 줍니다. 이렇게 명령에 반복 횟수를 정해주는 +방법은 명령을 치기 전에 C-u와 숫자를 치는 것으로 이루어집니다. META쇠 +(혹은 EDIT쇠나 교체쇠)가 있으면 다른 방법으로 숫자 인수를 입력할 수 +있습니다: MEAT쇠를 누른 채 숫자를 치십시오. C-u 방법은 어떤 +단말기에서도 사용할 수 있기 때문에 이를 사용하기 바랍니다. -$(C?98&(B $(C5i>n(B, C-u 8 C-f$(C4B(B $(C9.@Z(B $(C?)4|03@G(B $(C>UBJ@87N(B $(C?rAw@T4O4Y(B. +예를 들어, C-u 8 C-f는 문자 여덟개의 앞쪽으로 움직입니다. ->> $(CGQ(B $(C9x@G(B $(C8m7I@87N(B $(C1t9Z@L0!(B $(C@L(B $(CAY(B $(C1YC3?!(B $(C?@557O(B, $(C<}@Z(B $(C@N<v0!(B $(CAV>nAx(B - C-n $(CH$@:(B C-p$(C8&(B $(C=C55GX(B $(C:8=J=C?@(B. +>> 한 번의 명령으로 깜박이가 이 줄 근처에 오도록, 숫자 인수가 주어진 + C-n 혹은 C-p를 시도해 보십시오. -$(C4k:N:P@G(B $(C8m7I5i@:(B $(C<}@Z(B $(C@N<v8&(B $(C9]:9(B $(CH=<v7N(B $(C;g?kGOAv88(B $(C0f?l?!(B $(C5{6s<-4B(B -$(C?9?\@{@N(B $(C8m7I5i@L(B $(C4Y8%(B $(C?k557N(B $(C>5(B $(C<v(B $(C@V=@4O4Y(B. C-v$(C?M(B M-v$(C4B(B $(C@L71(B $(C?9?\?!(B -$(C<SGU4O4Y(B. $(C@N<v8&(B $(CAV8i(B $(C1W(B $(C88E-@G(B $(CH-8i(B $(C<v8&(B $(C5N7g8;1b(B $(CGOAv(B $(C>J0m(B $(C1W(B -$(C88E-@G(B $(CAY@;(B $(CH-8i@G(B $(C@'3*(B $(C>F7!7N(B $(C5N7g8;1b(B $(CGU4O4Y(B. $(CAo(B, C-u 4 C-v$(C4B(B -$(CH-8i@;(B 4 $(CAY(B $(C88E-(B $(C5N7g8;1b(B $(CGU4O4Y(B. +대부분의 명령들은 숫자 인수를 반복 횟수로 사용하지만 경우에 따라서는 +예외적인 명령들이 다른 용도로 쓸 수 있습니다. C-v와 M-v는 이런 예외에 +속합니다. 인수를 주면 그 만큼의 화면 수를 두루말기 하지 않고 그 +만큼의 줄을 화면의 위나 아래로 두루말기 합니다. 즉, C-u 4 C-v는 +화면을 4 줄 만큼 두루말기 합니다. ->> $(C@LA&(B C-u 8 C-v$(C8&(B $(CCD(B $(C:8=J=C?@(B. +>> 이제 C-u 8 C-v를 쳐 보십시오. -$(C@L7N<-(B $(CH-8i@:(B 8 $(CAY@L(B $(C@'7N(B $(C5N7g8;1b(B $(C5F@;(B $(C0M@T4O4Y(B. $(C4Y=C(B $(C9X@87N(B -$(C5N7g8;1b(B $(CGO1b(B $(C@'GX<-4B(B $(C@N<v8&(B M-v$(C?!(B $(CA]4O4Y(B. +이로서 화면은 8 줄이 위로 두루말기 됐을 것입니다. 다시 밑으로 +두루말기 하기 위해서는 인수를 M-v에 줍니다. -X11$(C3*(B MS-Windows$(C?M(B $(C00@:(B $(CC"(B $(C1b4I(B $(CH-8i(B $(CG%=C8&(B $(C>5(B $(C0f?l?!4B(B $(C@L8F=:(B $(CC"@G(B -$(C?^Fm?!(B $(C5N7g8;1b(B $(C874k6s0m(B $(C:R8.?l4B(B $(C1b4Y6u(B $(C;g0"G|(B $(C8p>g@G(B $(CEM0!(B $(C@V@;(B -$(C0M@T4O4Y(B. $(C@L(B $(C5N7g8;1b(B $(C874k?!(B $(C4Y6wAc8&(B $(C5~1oGT@87N=a(B $(C1[?y@;(B $(C5N7g8;1b(B $(CGR(B -$(C<v(B $(C@V=@4O4Y(B. +X11나 MS-Windows와 같은 창 기능 화면 표시를 쓸 경우에는 이맥스 창의 +왼편에 두루말기 막대라고 불리우는 기다란 사각형 모양의 터가 있을 +것입니다. 이 두루말기 막대에 다람쥐를 딸깍함으로써 글월을 두루말기 할 +수 있습니다. ->> $(C5N7g8;1b(B $(C874k(B $(C3;?!<-(B $(C4+?!(B $(C6g4B(B $(C:N:P@G(B $(C2@4k1b8&(B $(CA_0#(B $(C4\C_7N(B $(C4-7/(B - $(C:8=J=C?@(B. $(C1W7/8i(B $(C1[?y@:(B $(C4Y6wAc7N(B $(C4)8%(B $(C@'D!?!(B $(C5{8%(B $(C>g(B $(C88E-@G(B $(C@'D!8&(B - $(C@'3*(B $(C>F7!7N(B $(C5N7g8;1b(B $(C5I(B $(C0M@T4O4Y(B. +>> 두루말기 막대 내에서 눈에 띄는 부분의 꼭대기를 중간 단추로 눌러 + 보십시오. 그러면 글월은 다람쥐로 누른 위치에 따른 양 만큼의 위치를 + 위나 아래로 두루말기 될 것입니다. ->> $(C4Y6wAc8&(B $(CA_0#(B $(C4\C_0!(B $(C4-7/Ax(B $(C;sEB?!<-(B $(C@'3*(B $(C>F7!7N(B $(C?rAw?)(B $(C:8=J=C?@(B. - $(C1W7/8i(B $(C1[?y@L(B $(C4Y6wAc0!(B $(C?rAw@L4B4k7N(B $(C@'3*(B $(C>F7!7N(B $(C5N7g8;1b(B $(C5I(B - $(C0M@T4O4Y(B. +>> 다람쥐를 중간 단추가 눌러진 상태에서 위나 아래로 움직여 보십시오. + 그러면 글월이 다람쥐가 움직이는대로 위나 아래로 두루말기 될 + 것입니다. -* $(C@L8F=:@G(B $(C@[5?@L(B $(C4\@}5I(B $(C6'(B +* 이맥스의 작동이 단절될 때 --------------------------- -$(C8m7I@;(B $(CAV>n55(B $(C@L8F=:0!(B $(C9]@@@;(B $(CGOAv(B $(C>J@;(B $(C6'4B(B C-g$(C8&(B $(CCD<-(B $(C@L8F=:@G(B $(C@[5?@;(B -$(C>H@|GO0T(B $(CA$Av=CE3(B $(C<v(B $(C@V=@4O4Y(B. C-g$(C4B(B $(C=GG`GO4B5%(B $(C3J9+(B $(C?@7#(B $(C=C0#@L(B -$(C0I8.4B(B $(C8m7I@;(B $(CA_Av=CE3(B $(C6'?!(B $(C;g?k5I(B $(C<v(B $(C@V=@4O4Y(B. +명령을 주어도 이맥스가 반응을 하지 않을 때는 C-g를 쳐서 이맥스의 작동을 +안전하게 정지시킬 수 있습니다. C-g는 실행하는데 너무 오랜 시간이 +걸리는 명령을 중지시킬 때에 사용될 수 있습니다. -C-g$(C4B(B $(C<}@Z(B $(C@N<v8&(B $(C9+=CGX(B $(C9v81(B $(C6'3*(B $(C>n62(B $(C8m7I@;(B $(C=C@[GO?4Av88(B $(C=GG`=CE00m(B -$(C=MAv(B $(C>J@;(B $(C6'?!55(B $(C;g?k5I(B $(C<v(B $(C@V=@4O4Y(B. +C-g는 숫자 인수를 무시해 버릴 때나 어떤 명령을 시작하였지만 실행시키고 +싶지 않을 때에도 사용될 수 있습니다. ->> C-u 100$(C@;(B $(CCD<-(B $(C<}@Z(B $(C@N<v8&(B 100$(C@87N(B $(CGO0m(B $(C3-(B $(CHD(B C-g$(C8&(B $(CCD(B - $(C:8=J=C?@(B. $(C1W8.0m(B $(C3*<-(B C-f$(C8&(B $(CD(4O4Y(B. $(C@N<v4B(B C-g$(C7N=a(B $(C>x>]@=@87N(B $(CGQ(B - $(C9.@Z88(B $(C>U@87N(B $(C?rAw?)>_(B $(CGU4O4Y(B. +>> C-u 100을 쳐서 숫자 인수를 100으로 하고 난 후 C-g를 쳐 + 보십시오. 그리고 나서 C-f를 칩니다. 인수는 C-g로써 없앴음으로 한 + 문자만 앞으로 움직여야 합니다. -* $(C9+4I(B $(C8m7I(B +* 무능 명령 ----------- -$(C>n62(B $(C@L8F=:(B $(C8m7I@:(B "$(CGc?k5GAv(B $(C>J>F<-(B"(disabled) $(CCJ:8@Z0!(B $(C@_8x(B $(C;g?kGOAv(B -$(C>J557O(B $(C5G>n(B $(C@V=@4O4Y(B. +어떤 이맥스 명령은 "허용되지 않아서"(disabled) 초보자가 잘못 사용하지 +않도록 되어 있습니다. -$(C@L71(B $(C9+4I(B $(C8m7I@;(B $(C>28i(B, $(C@L8F=:4B(B $(C@L(B $(C8m7I@L(B $(C9+>y@L>z@88g(B, $(C@L(B $(C8m7I@;(B $(C1W3I(B -$(C1W4k7N(B $(C=GG`GR(B $(C0M@NAv8&(B $(C90>n(B $(C:84B(B $(C>K828;@;(B $(CH-8i(B $(CG%=CGU4O4Y(B. +이런 무능 명령을 쓰면, 이맥스는 이 명령이 무엇이었으며, 이 명령을 그냥 +그대로 실행할 것인지를 물어 보는 알림말을 화면 표시합니다. -$(C?x7!0!(B $(C@L(B $(C8m7I@;(B $(C>20m@Z(B $(CGO?44Y8i(B, $(C90@=?!(B $(C4kGX(B $(C;g@L(B $(C9.@Z(B(Space)$(C8&(B $(CCD<-(B -$(C4dGO=J=C?@(B. $(C:8Ek@:(B $(C9+4I(B $(C8m7I@;(B $(C=GG`=CE0Av(B $(C>J1b(B $(C@'GX(B $(C90@=?!(B "n"$(C@87N(B -$(C4dGU4O4Y(B. +원래가 이 명령을 쓰고자 하였다면, 물음에 대해 사이 문자(Space)를 쳐서 +답하십시오. 보통은 무능 명령을 실행시키지 않기 위해 물음에 "n"으로 +답합니다. ->> C-x C-l ($(C9+4I(B $(C8m7I@G(B $(CGO3*(B)$(C@;(B $(CD#(B $(CHD(B n$(C@87N(B $(C90@=?!(B $(C4dGO=J=C?@(B. +>> C-x C-l (무능 명령의 하나)을 친 후 n으로 물음에 답하십시오. -* $(CC"(B +* 창 ---- -$(C@L8F=:4B(B $(C?)7/(B $(CC"@;(B $(C0!Az(B $(C<v(B $(C@V@88g(B $(C0"0"@:(B $(C5{7N(B $(C9.<-8&(B $(CH-8i(B $(CG%=CGU4O4Y(B. -$(C4YA_(B $(CC"@;(B $(C>24B(B $(C9f9}?!(B $(C4kGX<-4B(B $(C3*A_?!(B $(C<38mGO1b7N(B $(CGU4O4Y(B. $(CAv1]@:(B -$(C4Y8%(B $(CC"@;(B $(C>x>V0m(B $(C?x7!?!(B $(C@V4x(B $(CC"(B $(CGO3*7N(B $(C59>F0!(B $(CFmA}@;(B $(C0h<SGO4B(B $(C9f9}88@;(B -$(C<38mGU4O4Y(B. $(C0#4\GU4O4Y(B: +이맥스는 여러 창을 가질 수 있으며 각각은 따로 문서를 화면 표시합니다. +다중 창을 쓰는 방법에 대해서는 나중에 설명하기로 합니다. 지금은 +다른 창을 없애고 원래에 있던 창 하나로 돌아가 편집을 계속하는 방법만을 +설명합니다. 간단합니다: - C-x 1 $(CC"@;(B $(CGO3*7N(B $(C885i1b(B ($(CAo(B, $(C4Y8%(B $(CC"5i@;(B $(C>x>[4O4Y(B). + C-x 1 창을 하나로 만들기 (즉, 다른 창들을 없앱니다). -$(C@L0M@:(B $(CA&>n<h(B-x $(C4Y@=?!(B $(C<}@Z(B $(C1[<h(B 1$(C@T4O4Y(B. C-x 1$(C@:(B $(C1t9Z@L0!(B $(C@V4B(B -$(CC"@;(B $(CH.@eGX<-(B $(C@|C<(B $(CH-8i@;(B $(C>2557O(B $(CGU4O4Y(B. $(C4Y8%(B $(CC"5i@:(B $(CAv?vA}4O4Y(B. +이것은 제어쇠-x 다음에 숫자 글쇠 1입니다. C-x 1은 깜박이가 있는 +창을 확장해서 전체 화면을 쓰도록 합니다. 다른 창들은 지워집니다. ->> $(C1t9Z@L8&(B $(C@L(B $(CAY7N(B $(C?rAw@N(B $(CHD(B C-u 0 C-l$(C@;(B $(CD!=J=C?@(B. ->> $(CA&>n<h(B-h k $(CA&>n<h(B-f$(C8&(B $(CD!=J=C?@(B. - $(CA&>n<h(B-f $(C8m7I?!(B $(C4kGQ(B $(C9.<-H-8&(B $(CH-8i(B $(CG%=CGO1b(B $(C@'GX(B $(C;u(B $(CC"@L(B - $(C3*E83*8i<-(B $(C@L(B $(CC"@L(B $(C>n6;0T(B $(CAY>n(B $(C5e4B0!8&(B $(C0|B{GO=J=C?@(B. +>> 깜박이를 이 줄로 움직인 후 C-u 0 C-l을 치십시오. +>> 제어쇠-h k 제어쇠-f를 치십시오. + 제어쇠-f 명령에 대한 문서화를 화면 표시하기 위해 새 창이 + 나타나면서 이 창이 어떻게 줄어 드는가를 관찰하십시오. ->> C-x 1$(C@;(B $(CCD<-(B $(C9.<-H-(B $(C8q7O(B $(C@[<:(B $(CC"@L(B $(C>n6;0T(B $(C;g6sAv4B0!8&(B $(C:8=J=C?@(B. +>> C-x 1을 쳐서 문서화 목록 작성 창이 어떻게 사라지는가를 보십시오. -$(C@L(B $(C8m7I@:(B $(C5N(B $(C9.@Z7N(B $(C18<:5G>n(B $(C@V4Y4B(B $(CA!?!<-(B $(CAv1]1nAv(B $(C9h?n(B $(C4Y8%(B $(C8m7I5i0z(B -$(C4Y8(4O4Y(B. $(C=C@[@:(B $(CA&>n<h(B-x$(C7N(B $(CGU4O4Y(B. $(CA&>n<h(B-x$(C7N(B $(C=C@[GO4B(B $(C8m7I5i@:(B -$(C9+C4(B $(C89=@4O4Y(B; $(C1W71(B $(C89@:(B $(C8m7I5i@:(B $(CC"@L3*(B $(CFD@O(B, $(C;g@LD-(B(buffer) $(C3;Av4B(B -$(C1W71(B $(C0M0z(B $(C?,0|<:@L(B $(C@V4B(B $(C8m7I5i@T4O4Y(B. $(C@L71(B $(C8m7I5i@:(B $(C5Q(B, $(C<B(B $(CH$@:(B -$(C3W03@G(B $(C9.@Z8&(B $(C>94O4Y(B. +이 명령은 두 문자로 구성되어 있다는 점에서 지금까지 배운 다른 명령들과 +다릅니다. 시작은 제어쇠-x로 합니다. 제어쇠-x로 시작하는 명령들은 +무척 많습니다; 그런 많은 명령들은 창이나 파일, 사이칸(buffer) 내지는 +그런 것과 연관성이 있는 명령들입니다. 이런 명령들은 둘, 셋 혹은 +네개의 문자를 씁니다. -* $(C3"?l1b?M(B $(CAv?l1b(B +* 끼우기와 지우기 ----------------- -$(C1[?y@;(B $(C3"?l1b(B $(C@'GX<-4B(B $(C1W(B $(C1[?y@;(B $(CE8@ZD!8i(B $(C5K4O4Y(B. A, 7, *, $(C5n5n0z(B -$(C00@L(B, $(C:<(B $(C<v(B $(C@V4B(B $(C9.@Z5i@:(B $(C@L8F=:0!(B $(C1[?y7N(B $(C@N=DGO?)(B $(CAo0"(B $(C3"?s4O4Y(B. -<Return>($(C:91M<h(B)$(C8&(B $(CD!8i(B $(C;uAY(B $(C9.@Z0!(B $(C3"?vA}4O4Y(B. +글월을 끼우기 위해서는 그 글월을 타자치면 됩니다. A, 7, *, 등등과 +같이, 볼 수 있는 문자들은 이맥스가 글월로 인식하여 즉각 끼웁니다. +<Return>(복귀쇠)를 치면 새줄 문자가 끼워집니다. -<Delete>$(C8&(B $(CD!8i(B $(C86Av87@87N(B $(C@T7B5H(B $(C9.@Z0!(B $(CAv?vA}4O4Y(B. <Delete>$(C4B(B -$(C1[<hFG?!(B "Del"$(C@L6s0m55(B $(C@L8'G%0!(B $(C4^7A(B $(C@V=@4O4Y(B. $(C>n62(B $(C0f?l?!4B(B -"Backspace" $(C1[<h0!(B <Delete>$(C@G(B $(C?*GR@;(B $(CGO1b55(B $(CGOAv88(B $(CGW;s(B $(C1W78Av4B(B -$(C>J=@4O4Y(B! +<Delete>를 치면 마지막으로 입력된 문자가 지워집니다. <Delete>는 +글쇠판에 "Del"이라고도 이름표가 달려 있습니다. 어떤 경우에는 +"Backspace" 글쇠가 <Delete>의 역할을 하기도 하지만 항상 그렇지는 +않습니다! -$(CA;(B $(C4u(B $(C@O9]@{@87N(B, <Delete>$(C4B(B $(C1t9Z@L(B $(CGv@'D!@G(B $(C9Y7N(B $(C@|?!(B $(C@V4B(B $(C9.@Z8&(B -$(CAv?s4O4Y(B. +좀 더 일반적으로, <Delete>는 깜박이 현위치의 바로 전에 있는 문자를 +지웁니다. ->> $(C1W(B $(C0M@;(B $(CGX(B $(C:8=J=C?@(B--$(C8n8n(B $(C9.@Z8&(B $(CD#(B $(CHD(B <Delete>$(C8&(B $(CCD<-(B - $(CAv?v:8=J=C?@(B. $(C@L(B $(CFD@O@L(B $(C:/0f5G4B(B $(C0M?!(B $(C4kGQ(B $(C0FA$@:(B $(CGOAv(B $(C>J>F55(B - $(C5K4O4Y(B; $(C@86d(B $(CAvD'<-4B(B $(C:/0f5GAv(B $(C>J=@4O4Y(B. $(C@L(B $(CFD@O@:(B $(C@86d(B $(CAvD'<-@G(B - $(C03@N?k(B $(C:9;g:;@T4O4Y(B. +>> 그 것을 해 보십시오--몇몇 문자를 친 후 <Delete>를 쳐서 + 지워보십시오. 이 파일이 변경되는 것에 대한 걱정은 하지 않아도 + 됩니다; 으뜸 지침서는 변경되지 않습니다. 이 파일은 으뜸 지침서의 + 개인용 복사본입니다. -$(C1[?y@L(B $(CH-8i@G(B $(CGQ(B $(CAY?!(B $(C4Y(B $(C5i>n0!Av(B $(C8xGR(B $(CA$557N(B $(CD?Av8i(B $(C1[?y@G(B $(CAY@:(B -$(CH-8i@G(B $(C5N9xB0(B $(CAY?!<-(B "$(C0h<S(B"$(C5K4O4Y(B. $(C?@8%BJ(B $(CGQ0h?!(B $(C@V4B(B $(C?*;g<1(B $(C9.@Z(B -("\")$(C4B(B $(CAY@L(B $(C4Y@=(B $(CAY7N(B $(C@L>nAv4B(B $(C0M@;(B $(C0!8.E54O4Y(B. +글월이 화면의 한 줄에 다 들어가지 못할 정도로 커지면 글월의 줄은 +화면의 두번째 줄에서 "계속"됩니다. 오른쪽 한계에 있는 역사선 문자 +("\")는 줄이 다음 줄로 이어지는 것을 가리킵니다. ->> $(C1[?y@;(B $(C0h<S(B $(C3"?v<-(B $(C?@8%BJ(B $(CGQ0h8&(B $(C3Q>n<-557O(B $(CGO=J=C?@(B. $(C1W7/8i(B $(CAY(B - $(C0h<S(B $(CG%=C0!(B $(C3*E83/(B $(C0M@T4O4Y(B. +>> 글월을 계속 끼워서 오른쪽 한계를 넘어서도록 하십시오. 그러면 줄 + 계속 표시가 나타날 것입니다. ->> <Delete>$(C8&(B $(C=a<-(B $(C1[?y@G(B $(CAY@L(B $(CGQ(B $(CH-8i(B $(CAY?!(B $(C2K(B $(CBw557O(B $(C4Y=C(B - $(CAv?l=J=C?@(B. $(CAY(B $(C0h<S(B $(CG%=C4B(B $(C>x>nA}4O4Y(B. +>> <Delete>를 써서 글월의 줄이 한 화면 줄에 꽉 차도록 다시 + 지우십시오. 줄 계속 표시는 없어집니다. -$(C;uAY(B $(C9.@Z55(B $(C4Y8%(B $(C9.@ZC373(B $(CAv?o(B $(C<v(B $(C@V=@4O4Y(B. $(CAY@;(B $(C5Q7N(B $(C3*4)4B(B $(C;uAY(B -$(C9.@Z8&(B $(CAv?l8i(B $(C5N(B $(CAY@L(B $(CGO3*7N(B $(CGUD!0T(B $(C5K4O4Y(B. $(C@L(B $(CGUD#(B $(CAY@L(B $(C3J9+(B $(C1f>n<-(B -$(CH-8i@G(B $(C3J:q8&(B $(C3Q>n<-8i(B $(C1W(B $(CAY@:(B $(CAY(B $(C0h<S(B $(C9.@Z0!(B $(CG%=C5G8i<-(B $(C4Y@=(B $(CAY?!(B -$(C0h<S(B $(CH-8i(B $(CG%=C5I(B $(C0M@T4O4Y(B. +새줄 문자도 다른 문자처럼 지울 수 있습니다. 줄을 둘로 나누는 새줄 +문자를 지우면 두 줄이 하나로 합치게 됩니다. 이 합친 줄이 너무 길어서 +화면의 너비를 넘어서면 그 줄은 줄 계속 문자가 표시되면서 다음 줄에 +계속 화면 표시될 것입니다. ->> $(C1t9Z@L8&(B $(CAY@G(B $(C=C@[@87N(B $(C?rAw?)<-(B <Delete>$(C8&(B $(CD!=J=C?@(B. $(C1W7/8i(B $(C1W(B - $(CAY@L(B $(C@L@|(B $(CAY0z(B $(CGUCDAz(B $(C0M@T4O4Y(B. +>> 깜박이를 줄의 시작으로 움직여서 <Delete>를 치십시오. 그러면 그 + 줄이 이전 줄과 합쳐질 것입니다. ->> $(C4Y=C(B <Return>$(C@;(B $(CCD<-(B $(CAv?vAx(B $(C;uAY(B $(C9.@Z8&(B $(C3"?l=J=C?@(B. +>> 다시 <Return>을 쳐서 지워진 새줄 문자를 끼우십시오. -$(C4k:N:P@G(B $(C@L8F=:(B $(C8m7I?!4B(B $(C9]:9(B $(CH=<v8&(B $(CAY(B $(C<v(B $(C@V4Y4B(B $(C0M@;(B $(C1b>oGO=J=C?@(B; -$(C1[?y(B $(C9.@Z55(B $(CGX4g5K4O4Y(B. $(C1[?y(B $(C9.@Z8&(B $(C9]:9GO4B(B $(C0M@:(B $(C1W(B $(C0M@;(B $(C?)7/9x(B -$(C3"?l4B(B $(C0M@T4O4Y(B. +대부분의 이맥스 명령에는 반복 횟수를 줄 수 있다는 것을 기억하십시오; +글월 문자도 해당됩니다. 글월 문자를 반복하는 것은 그 것을 여러번 +끼우는 것입니다. ->> $(C1W(B $(C0M@;(B $(CAv1](B $(CGX(B $(C:>4O4Y(B -- C-u 8 *$(C@;(B $(CCD<-(B ********$(C@;(B $(C3"?l=J=C?@(B. +>> 그 것을 지금 해 봅니다 -- C-u 8 *을 쳐서 ********을 끼우십시오. -$(C@LA&(B $(C@L8F=:?!<-(B $(C9+>p0!8&(B $(CD!0m(B $(CBx?@8&(B $(C13A$GO4B(B $(C0!@e(B $(C1b:;@{@N(B $(C9f9}@;(B -$(C9h?|=@4O4Y(B. $(C398;@L3*(B $(CAY55(B $(CGQ9x?!(B $(CAv?o(B $(C<v(B $(C@V=@4O4Y(B. $(C?)1b?!(B $(CAv?l4B(B -$(C@[5?@;(B $(C?d>`GU4O4Y(B. +이제 이맥스에서 무언가를 치고 착오를 교정하는 가장 기본적인 방법을 +배웠습니다. 낱말이나 줄도 한번에 지울 수 있습니다. 여기에 지우는 +작동을 요약합니다. - <Delete> $(C1t9Z@L(B $(CAw@|@G(B $(C9.@Z(B $(CAv?l1b(B - C-d $(C1t9Z@L(B $(C4Y@=@G(B $(C9.@Z(B $(CAv?l1b(B + <Delete> 깜박이 직전의 문자 지우기 + C-d 깜박이 다음의 문자 지우기 - M-<Delete> $(C1t9Z@L(B $(CAw@|@G(B $(C398;(B $(CAW@L1b(B - M-d $(C1t9Z@L(B $(C4Y@=@G(B $(C398;(B $(CAW@L1b(B + M-<Delete> 깜박이 직전의 낱말 죽이기 + M-d 깜박이 다음의 낱말 죽이기 - C-k $(C1t9Z@L(B $(C@'D!7N:NEM(B $(CAY(B $(C3!1nAv(B $(CAW@L1b(B - M-k $(CGv@g(B $(C9.@e@G(B $(C3!1nAv(B $(CAW@L1b(B + C-k 깜박이 위치로부터 줄 끝까지 죽이기 + M-k 현재 문장의 끝까지 죽이기 -C-f$(C?M(B M-f$(C?!<-(B $(C=C@[GQ(B $(C@/;g<:@L(B <Delete>$(C?M(B C-d $(C1W8.0m(B M-<Delete>$(C?M(B M-d$(C7N(B -$(C@L>nAv4B(B $(C0M@;(B $(C@/@GGO=J=C?@(B (<Delete>$(C4B(B $(CAxA$GQ(B $(CA&>n(B $(C9.@Z4B(B $(C>F4OAv88(B -$(C1W715%?!(B $(C;s3dGOAv(B $(C>J557O(B $(CGU=C4Y(B). $(CAY0z(B $(C9.@e@L(B $(C4Y8#5m@L(B C-k$(C?M(B M-k$(C4B(B -C-e$(C?M(B M-e$(C?M(B $(C4Y8(4O4Y(B. +C-f와 M-f에서 시작한 유사성이 <Delete>와 C-d 그리고 M-<Delete>와 M-d로 +이어지는 것을 유의하십시오 (<Delete>는 진정한 제어 문자는 아니지만 +그런데에 상념하지 않도록 합시다). 줄과 문장이 다르듯이 C-k와 M-k는 +C-e와 M-e와 다릅니다. -$(C@O7|@{@N(B $(C9f9}(B $(CGO3*7N(B $(C;g@LD-@G(B $(C>n62(B $(C:N:P55(B $(CAW@O(B $(C<v(B $(C@V=@4O4Y(B. -$(C8U@z(B $(C1W(B $(C:N:P@G(B $(CGQBJ(B $(C3!@87N(B $(C@L5?GX<-(B C-@$(C@L3*(B C-SPC ($(C5Q(B $(CA_(B $(CGO3*(B)$(C8&(B $(CD(4O4Y(B. -$(C1W(B $(C:N:P@G(B $(C4Y8%BJ(B $(C3!@87N(B $(C@L5?GX<-(B C-w$(C8&(B $(CD(4O4Y(B. $(C1W7/8i(B $(C1W(B $(C5N(B -$(C@'D!;g@L@G(B $(C8p5g(B $(C1[?y@:(B $(CAW?)A}4O4Y(B. +일률적인 방법 하나로 사이칸의 어떤 부분도 죽일 수 있습니다. +먼저 그 부분의 한쪽 끝으로 이동해서 C-@이나 C-SPC (둘 중 하나)를 칩니다. +그 부분의 다른쪽 끝으로 이동해서 C-w를 칩니다. 그러면 그 두 +위치사이의 모든 글월은 죽여집니다. ->> $(C1t:}@L8&(B $(C@|(B $(C9.4\@G(B $(C=C@[@N(B `$(C@O(B'$(C@Z7N(B $(C?rAw@L=J=C?@(B. ->> C-SPC$(C8&(B $(CD!=C?@(B. $(C@L8F=:4B(B $(CH-8i@G(B $(C9Y4Z?!(B "Mark set"$(C@L6s4B(B $(C>K828;@;(B - $(C:8?)AY(B $(C0M@T4O4Y(B. ->> $(C1t:}@L8&(B $(C@'(B $(C9.4\@G(B $(C5N9xB0(B $(CAY?!(B $(C@V4B(B `$(C3!(B'$(C@Z7N(B $(C?rAw@L=C?@(B. ->> C-w$(C8&(B $(CD!=C?@(B. $(C1W7/8i(B `$(C@O(B'$(C@Z7N(B $(C=C@[GX<-(B `$(C3!(B'$(C@Z1nAv@G(B $(C1[?y@L(B $(CAW?)Az(B - $(C0M@T4O4Y(B. +>> 깜빡이를 전 문단의 시작인 `일'자로 움직이십시오. +>> C-SPC를 치시오. 이맥스는 화면의 바닥에 "Mark set"이라는 알림말을 + 보여줄 것입니다. +>> 깜빡이를 위 문단의 두번째 줄에 있는 `끝'자로 움직이시오. +>> C-w를 치시오. 그러면 `일'자로 시작해서 `끝'자까지의 글월이 죽여질 + 것입니다. -"$(CAW@L1b(B"$(C?M(B "$(CAv?l1b(B"$(C@G(B $(C4Y8%(B $(CA!@:(B "$(CAW?)Ax(B" $(C1[?y@:(B $(C@gBw(B $(C3"?v3V@;(B $(C<v(B $(C@V4B(B -$(C9]8i(B "$(CAv?vAx(B" $(C0M5i@:(B $(C4Y=C(B $(C3"?v3V@;(B $(C<v(B $(C>x4Y4B(B $(C0M@T4O4Y(B. $(CAW?)Ax(B $(C1[?y@;(B -$(C4Y=C(B $(C;g?kGO4B(B $(C0M@;(B "$(C@b>F4g1b1b(B(yanking)"$(C6s0m(B $(CGU4O4Y(B. $(C@O9]@{@87N(B $(C89@:(B -$(C1[?y@;(B $(CA&0EGO4B(B $(C8m7I@:(B $(C1[?y@;(B $(CAW@L3*(B ($(C1W71(B $(C8m7I5i@:(B $(C1W(B $(C1[?y5i@;(B $(C4Y=C(B -$(C@b>F4g1f(B $(C<v(B $(C@V557O(B $(C1W780T(B $(C<3A$5G>nA.(B $(C@V=@4O4Y(B), $(CGQ(B $(C9.@Z8&(B $(CA&0EGO0E3*(B -$(C:s(B $(CAY(B $(CH$@:(B $(C0x0#9.@Z8&(B $(CA&0EGO4B(B $(C8m7I5i@:(B $(CAv?r@[?k@;(B $(CGU4O4Y(B ($(C1W7!<-(B $(C1W(B -$(C1[?y5i@:(B $(C4Y=C(B $(C@b>F(B $(C4g1f(B $(C<v(B $(C>x=@4O4Y(B). +"죽이기"와 "지우기"의 다른 점은 "죽여진" 글월은 재차 끼워넣을 수 있는 +반면 "지워진" 것들은 다시 끼워넣을 수 없다는 것입니다. 죽여진 글월을 +다시 사용하는 것을 "잡아당기기(yanking)"라고 합니다. 일반적으로 많은 +글월을 제거하는 명령은 글월을 죽이나 (그런 명령들은 그 글월들을 다시 +잡아당길 수 있도록 그렇게 설정되어져 있습니다), 한 문자를 제거하거나 +빈 줄 혹은 공간문자를 제거하는 명령들은 지움작용을 합니다 (그래서 그 +글월들은 다시 잡아 당길 수 없습니다). ->> $(C1t9Z@L8&(B $(C:q>nA.(B $(C@VAv(B $(C>J@:(B $(CAY@G(B $(C=C@[@87N(B $(C?rAw@L=J=C?@(B. $(C1W8.0m4B(B - C-k$(C8&(B $(CCD<-(B $(C1W(B $(CAY@G(B $(C1[?y@;(B $(CAW@L=J=C?@(B. ->> C-k$(C8&(B $(C4Y=C(B $(CD!=J=C?@(B. $(C1W7/8i(B $(C1W(B $(CAY(B $(C4Y@=?!(B $(C@V4B(B $(C;uAY(B $(C9.@Z0!(B $(CAW?)Av4B(B - $(C0M@;(B $(C:<(B $(C<v(B $(C@V=@4O4Y(B. +>> 깜박이를 비어져 있지 않은 줄의 시작으로 움직이십시오. 그리고는 + C-k를 쳐서 그 줄의 글월을 죽이십시오. +>> C-k를 다시 치십시오. 그러면 그 줄 다음에 있는 새줄 문자가 죽여지는 + 것을 볼 수 있습니다. -C-k$(C8&(B $(CGQ(B $(C9x(B $(CD!8i(B $(C1W(B $(CAY@G(B $(C3;?k@;(B $(CAW@L0m(B $(C5N9xB0?!4B(B $(C1W(B $(CAY(B $(C@ZC<8&(B -$(CAW@S@87N<-(B $(C@L>nAv4B(B $(C8p5g(B $(CAY@;(B $(C@'7N(B $(C?C834O4Y(B. C-k$(C4B(B $(C<}@Z(B $(C@N<v8&(B $(CF/:0Hw(B -$(CCk1^GU4O4Y(B: $(C1W(B $(C<}@Z88E-@G(B $(CAY0z(B $(C1W(B $(CAY@G(B $(C3;?k@;(B $(CGT22(B $(CAW@T4O4Y(B. $(C@L0M@:(B -$(C4\<xGQ(B $(C9]:9@L(B $(C>F4U4O4Y(B. C-u 2 C-k$(C4B(B $(C5N(B $(CAY0z(B $(C1W(B $(CAY@G(B $(C;uAY(B $(C9.@Z8&(B -$(CAW@T4O4Y(B; C-k$(C8&(B $(C5N(B $(C9x(B $(CD!8i(B $(C1W78Av(B $(C>J=@4O4Y(B. +C-k를 한 번 치면 그 줄의 내용을 죽이고 두번째에는 그 줄 자체를 +죽임으로서 이어지는 모든 줄을 위로 올립니다. C-k는 숫자 인수를 특별히 +취급합니다: 그 숫자만큼의 줄과 그 줄의 내용을 함께 죽입니다. 이것은 +단순한 반복이 아닙니다. C-u 2 C-k는 두 줄과 그 줄의 새줄 문자를 +죽입니다; C-k를 두 번 치면 그렇지 않습니다. -$(CAW?)Ax(B $(C1[?y@;(B $(C4Y=C(B $(CH8<vGO4B(B $(C0M@;(B "$(C@b>F4g1b1b(B"$(C6s0m(B $(C:N8(4O4Y(B. ($(C4)1:0!0!(B -$(C;/>F0#(B $(C0M@;(B $(C4Y=C(B $(C@b>F(B $(C4g1b4B(B $(C0MC373(B $(C;}0"GO=J=C?@(B.) $(CAW?)Ax(B $(C1[?y@:(B -$(CAW?)Ax(B $(C1W(B $(C0w?!(B $(C4Y=C(B $(C@b>F(B $(C4g0\Az(B $(C<v55(B $(C@VAv88(B $(C;g@LD-@G(B $(C4Y8%(B $(C@e<R?!<-55(B -$(CH$@:(B $(C4Y8%(B $(CFD@O?!<-A6Bw55(B $(C@b>F4g0\Az(B $(C<v(B $(C@V=@4O4Y(B. $(C1W(B $(C1[?y@:(B $(C?)7/9x?!(B -$(C0ICD(B $(C@b>F4g0\A|@87N=a(B $(C?)7/(B $(C:9;g:;@;(B $(C885i0T(B $(C5I(B $(C<v55(B $(C@V=@4O4Y(B. +죽여진 글월을 다시 회수하는 것을 "잡아당기기"라고 부릅니다. (누군가가 +뺏아간 것을 다시 잡아 당기는 것처럼 생각하십시오.) 죽여진 글월은 +죽여진 그 곳에 다시 잡아 당겨질 수도 있지만 사이칸의 다른 장소에서도 +혹은 다른 파일에서조차도 잡아당겨질 수 있습니다. 그 글월은 여러번에 +걸쳐 잡아당겨짐으로써 여러 복사본을 만들게 될 수도 있습니다. -$(C@b>F4g1b1b(B $(C8m7I@:(B C-y$(C@T4O4Y(B. $(C1W7/8i(B $(C0!@e(B $(C86Av87@87N(B $(CAW?)Ax(B $(C1[?y@;(B -$(CGv@g@G(B $(C1t:}@L(B $(C@'D!?!(B $(CH8<v=CE54O4Y(B. +잡아당기기 명령은 C-y입니다. 그러면 가장 마지막으로 죽여진 글월을 +현재의 깜빡이 위치에 회수시킵니다. ->> $(CGX(B $(C:8=J=C?@(B; C-y$(C8&(B $(CCD<-(B $(C1[?y@;(B $(C4Y=C(B $(C@b>F4g1b=J=C?@(B. +>> 해 보십시오; C-y를 쳐서 글월을 다시 잡아당기십시오. -$(CGQ(B $(C0!7ND-?!<-(B C-k$(C8&(B $(C?)7/9x(B $(C>28i(B $(CAW?)Ax(B $(C1[?y5i@L(B $(CGT22(B $(C0%9+8.5G>n(B $(C1W(B $(CAY(B -$(C8p5N8&(B C-y $(CGQ(B $(C9x@87N(B $(C@b>F4g1f(B $(C<v(B $(C@V4Y4B(B $(C0M?!(B $(C@/@GGO=J=C?@(B. +한 가로칸에서 C-k를 여러번 쓰면 죽여진 글월들이 함께 갈무리되어 그 줄 +모두를 C-y 한 번으로 잡아당길 수 있다는 것에 유의하십시오. ->> C-k$(C8&(B $(C?)7/9x(B $(CCD<-(B $(C1W(B $(C0M@;(B $(CGX(B $(C:8=J=C?@(B. +>> C-k를 여러번 쳐서 그 것을 해 보십시오. -$(CAW?)Ax(B $(C1[?y@;(B $(CH8<vGO1b(B $(C@'GX<-4B(B: +죽여진 글월을 회수하기 위해서는: ->> C-y$(C8&(B $(CD!=J=C?@(B. $(C1W8.0m4B(B $(C1t9Z@L8&(B $(C8n(B $(CAY(B $(C>F7!7N(B $(C?rAw?)<-(B C-y$(C8&(B $(C4Y=C(B - $(CD!=J=C?@(B. $(C1[?y@L(B $(C>n6;0T(B $(C:9;g5G4B0!8&(B $(C>K(B $(C<v(B $(C@V=@4O4Y(B. +>> C-y를 치십시오. 그리고는 깜박이를 몇 줄 아래로 움직여서 C-y를 다시 + 치십시오. 글월이 어떻게 복사되는가를 알 수 있습니다. -$(C4Y=C(B $(C@b>F4g1f(B $(C1[?y@L(B $(C@V4B5%(B $(C4Y8%(B $(C0M@;(B $(C6G(B $(CAW@L8i(B $(C>n6;0T(B $(C5G0Z=@4O1n(B? -C-y$(C4B(B $(C4u(B $(CCV1Y?!(B $(CAW?)Ax(B $(C0M@;(B $(C@b>F4g1f(B $(C0M@T4O4Y(B. $(C1W7/3*(B $(C1W(B $(C@|@G(B $(C1[?y@:(B -$(C@R>n9v80(B $(C0M@L(B $(C>F4U4O4Y(B. $(C1W(B $(C0M@:(B M-y $(C8m7I@;(B $(C=a<-(B $(CH8<vGR(B $(C<v(B $(C@V=@4O4Y(B. -$(C0!@e(B $(CCV=E?!(B $(CAW?)Ax(B $(C1[?y@;(B C-y$(C7N(B $(CH8<vGQ(B $(CHD(B M-y$(C8&(B $(CD!8i(B $(C1W(B $(C@b>F4g0\A34x(B -$(C1[?y@L(B $(C1W(B $(C@|?!(B $(CAW?)Ax(B $(C0M@87N(B $(C;u7N9Y2n>nA}4O4Y(B(replace). M-y$(C8&(B $(CC$Bw(B -$(C?,0EG*(B $(CD!8i(B $(C@L@|?!(B $(CAW?)Ax(B $(C0M5i@L(B $(CBw7J7N(B $(C3*?I4O4Y(B. $(CC#0m@Z(B $(CGO4B(B $(C1[?y@L(B -$(C3*?@8i(B $(C4Y8%(B $(C@O@;(B $(CGR(B $(CGJ?d0!(B $(C>x=@4O4Y(B. $(C4\<xHw(B $(CFmA}@;(B $(C0h<SGO8i(B -$(C@b>F4g0\Ax(B $(C1[?y@L(B $(C1W0w?!(B $(C32>F(B $(C@V0T(B $(C5K4O4Y(B. +다시 잡아당길 글월이 있는데 다른 것을 또 죽이면 어떻게 되겠습니까? +C-y는 더 최근에 죽여진 것을 잡아당길 것입니다. 그러나 그 전의 글월은 +잃어버린 것이 아닙니다. 그 것은 M-y 명령을 써서 회수할 수 있습니다. +가장 최신에 죽여진 글월을 C-y로 회수한 후 M-y를 치면 그 잡아당겨졌던 +글월이 그 전에 죽여진 것으로 새로바뀌어집니다(replace). M-y를 채차 +연거푸 치면 이전에 죽여진 것들이 차례로 나옵니다. 찾고자 하는 글월이 +나오면 다른 일을 할 필요가 없습니다. 단순히 편집을 계속하면 +잡아당겨진 글월이 그곳에 남아 있게 됩니다. -M-y$(C8&(B $(C0h<S(B $(CD!8i(B $(CCb9_A!(B ($(C0!@e(B $(CCV1Y?!(B $(CAW?)Ax(B $(C0M(B)$(C@87N(B $(C5G59>F(B $(C?I4O4Y(B. +M-y를 계속 치면 출발점 (가장 최근에 죽여진 것)으로 되돌아 옵니다. ->> $(CGQ(B $(CAY@;(B $(CAW@L0m(B $(CAV@'7N(B $(C?rAw@N(B $(CHD(B $(C4Y8%(B $(CAY@;(B $(CAW@L=J=C?@(B. - $(C1W8.0m4B(B C-y$(C7N(B $(C5N9xB0(B $(CAW?)Ax(B $(CAY@;(B $(CH8<vGO=J=C?@(B. - $(C1W71(B $(C4Y@=?!(B M-y$(C8&(B $(CD!8i(B $(CC99xB0?!(B $(CAW?)Ax(B $(CAY7N(B $(C;u7N9Y2n0T(B $(C5K4O4Y(B. - M-y$(C8&(B $(C4u(B $(CCD<-(B $(C9+>y@L(B $(C3*?@4B0!8&(B $(C:8=J=C?@(B. $(C5N9xB0(B $(CAW?)Ax(B $(CAY@L(B $(C3*?C(B - $(C6'1n4O(B $(C1W780T(B $(C0h<S(B $(CGQ(B $(CHD(B $(C8n(B $(C9x(B $(C4u(B $(CGO=J=C?@(B. - $(C?xGO8i(B, M-y$(C?!(B $(C>g<v3*(B $(C@=<v@G(B $(C@N<v8&(B $(CAY(B $(C<v(B $(C@V=@4O4Y(B. +>> 한 줄을 죽이고 주위로 움직인 후 다른 줄을 죽이십시오. + 그리고는 C-y로 두번째 죽여진 줄을 회수하십시오. + 그런 다음에 M-y를 치면 첫번째에 죽여진 줄로 새로바뀌게 됩니다. + M-y를 더 쳐서 무엇이 나오는가를 보십시오. 두번째 죽여진 줄이 나올 + 때까니 그렇게 계속 한 후 몇 번 더 하십시오. + 원하면, M-y에 양수나 음수의 인수를 줄 수 있습니다. -* $(C9+8#1b(B +* 무르기 -------- -$(C1[?y@;(B $(C:/0fGO0m<-(B $(C1W(B $(C0M@L(B $(C=G<v?4@=@;(B $(C>K0T(B $(C5G8i(B $(C9+8#1b(B(undo) $(C8m7I(B, C-x -u$(C7N(B $(C:/0f;gGW@;(B $(C9+8&(B $(C<v(B $(C@V=@4O4Y(B. +글월을 변경하고서 그 것이 실수였음을 알게 되면 무르기(undo) 명령, C-x +u로 변경사항을 무를 수 있습니다. -$(C:8Ek(B, C-x u$(C4B(B $(CGO3*@G(B $(C8m7I?!(B $(C@GGX(B $(C:/0f5H(B $(C;gGW@;(B $(C9+8(4O4Y(B; $(CGQ(B $(C0!7ND-?!<-(B -C-x u$(C8&(B $(C?)7/9x(B $(C9]:9GO8i(B $(C0"0"@G(B $(C9]:9@:(B $(CC_0!@{@87N(B $(C8m7I@;(B $(C9+8(4O4Y(B. +보통, C-x u는 하나의 명령에 의해 변경된 사항을 무릅니다; 한 가로칸에서 +C-x u를 여러번 반복하면 각각의 반복은 추가적으로 명령을 무릅니다. -$(C1W7/3*(B $(C5N0!Av(B $(C?9?\0!(B $(C@V=@4O4Y(B: $(C1[?y@;(B $(C:/0fGOAv(B $(C>J4B(B $(C8m7I@:(B $(C0m7A(B -$(C4k;s?!<-(B $(CA&?\5K4O4Y(B ($(C?)1b?!4B(B $(C1t9Z@L8&(B $(C?rAw@L4B(B $(C8m7I0z(B $(CH-8i(B $(C5N7g8;1b(B -$(C8m7I@L(B $(C@V=@4O4Y(B). $(C1W8.0m(B $(C@ZC<3"?l1b(B(self-inserting) $(C9.@Z5i@:(B -$(CFr;s@{@87N(B 20$(C031nAv@G(B $(CA}4\@87N(B $(CC38.5K4O4Y(B. ($(C@L4B(B $(C1[?y(B $(C3"?l1b8&(B $(C9+8#1b(B -$(C@'GX<-(B $(CE8@ZGX>_(B $(CGO4B(B C-x u$(C@G(B $(C<v8&(B $(CAY@L1b(B $(C@'GT@T4O4Y(B.) +그러나 두가지 예외가 있습니다: 글월을 변경하지 않는 명령은 고려 +대상에서 제외됩니다 (여기에는 깜박이를 움직이는 명령과 화면 두루말기 +명령이 있습니다). 그리고 자체끼우기(self-inserting) 문자들은 +평상적으로 20개까지의 집단으로 처리됩니다. (이는 글월 끼우기를 무르기 +위해서 타자해야 하는 C-x u의 수를 줄이기 위함입니다.) ->> $(C@L(B $(CAY@;(B C-k$(C7N(B $(CAW@N(B $(CHD(B C-x u$(C8&(B $(CD!8i(B $(CAY@L(B $(C4Y=C(B $(C3*E83/(B $(C0M@T4O4Y(B. +>> 이 줄을 C-k로 죽인 후 C-x u를 치면 줄이 다시 나타날 것입니다. -C-_$(C4B(B $(C9+8#1b(B $(C8m7I@G(B $(C4Y8%(B $(CG|EB@T4O4Y(B; C-x u$(C?M(B $(C00@:(B $(C@[?k@;(B $(CGOAv88(B $(CGQ(B -$(C0!7ND-?!<-(B $(C?)7/9x(B $(CE8@ZGO1b?!(B $(CFmGU4O4Y(B. C-_$(C@G(B $(C4\A!@:(B, $(C>n62(B -$(C1[<hFG?!<-4B(B $(C@L(B $(C0M@;(B $(C>n6;0T(B $(CE8@ZGX>_(B $(C5G4B0!0!(B $(C:R8m7aGO4Y4B(B $(C0M@T4O4Y(B. -$(C1W7!<-(B C-x u$(C55(B $(C;g?kGR(B $(C<v(B $(C@V557O(B $(C5G>n(B $(C@V4B(B $(C0M@T4O4Y(B. $(C>n62(B -$(C4\8;1b?!<-4B(B, CONTROL$(C<h8&(B $(C4)8%(B $(C;sEB?!<-(B /$(C8&(B $(CD'@87N=a(B C-_$(C8&(B $(CD%(B $(C<v(B -$(C@V=@4O4Y(B. +C-_는 무르기 명령의 다른 형태입니다; C-x u와 같은 작용을 하지만 한 +가로칸에서 여러번 타자하기에 편합니다. C-_의 단점은, 어떤 +글쇠판에서는 이 것을 어떻게 타자해야 되는가가 불명료하다는 것입니다. +그래서 C-x u도 사용할 수 있도록 되어 있는 것입니다. 어떤 +단말기에서는, CONTROL쇠를 누른 상태에서 /를 침으로써 C-_를 칠 수 +있습니다. -C-_$(C3*(B C-x u$(C@G(B $(C<}@Z(B $(C@N<v4B(B $(C9]:9(B $(CH=<v7N(B $(C;g?k5K4O4Y(B. +C-_나 C-x u의 숫자 인수는 반복 횟수로 사용됩니다. -$(C1[?y@G(B $(CAv?l1b8&(B $(C9+8#4B(B $(C0M@:(B $(C1[?y(B $(CAW@L1b8&(B $(C9+8#4B(B $(C0M0z(B $(C00@:(B $(C=D@87N(B -$(CGU4O4Y(B. $(C>n62(B $(C0M@;(B $(CAW@L4B(B $(C0M0z(B $(CAv?l4B(B $(C0M@G(B $(CBw@LA!@:(B C-y$(C7N(B $(C@b>F4g1f(B $(C<v(B -$(C@V4@3D4B(B $(C;g=G?!(B $(C@V=@4O4Y(B; $(C9+8#1b?!4B(B $(CBw@LA!@L(B $(C>x=@4O4Y(B. +글월의 지우기를 무르는 것은 글월 죽이기를 무르는 것과 같은 식으로 +합니다. 어떤 것을 죽이는 것과 지우는 것의 차이점은 C-y로 잡아당길 수 +있느냐는 사실에 있습니다; 무르기에는 차이점이 없습니다. -* $(CFD@O(B +* 파일 ------ -$(CFmA}GQ(B $(C1[?y@;(B $(C?518@{@87N(B $(CGO1b(B $(C@'GX<-4B(B $(CFD@O?!(B $(C3V>n(B $(C5N>n>_(B $(CGU4O4Y(B. -$(C1W780T(B $(CGOAv(B $(C>J@88i(B, $(C@L8F=:0!(B $(C>x>nA|0z(B $(CGT22(B $(C1[?y55(B $(C;g6sA}4O4Y(B. $(C1[?y@;(B -$(CFD@O?!(B $(C3V1b(B $(C@'GX<-4B(B $(C1W7/1b(B $(C@|?!(B $(C1W(B $(CFD@O@;(B "$(CC#>F>_(B" $(CGU4O4Y(B. ($(C@L4B(B -$(CFD@O@;(B "$(C9f9.GO4B(B $(C0M(B"$(C@L6s0m55(B $(CGU4O4Y(B.) +편집한 글월을 영구적으로 하기 위해서는 파일에 넣어 두어야 합니다. +그렇게 하지 않으면, 이맥스가 없어짐과 함께 글월도 사라집니다. 글월을 +파일에 넣기 위해서는 그러기 전에 그 파일을 "찾아야" 합니다. (이는 +파일을 "방문하는 것"이라고도 합니다.) -$(CFD@O@;(B $(CC#4B4Y4B(B $(C0M@:(B $(C@L8F=:(B $(C>H?!<-(B $(C1W(B $(CFD@O@G(B $(C3;?k@;(B $(C:;4Y4B(B $(C0M@;(B -$(C@G9LGU4O4Y(B. $(C?)7/0!Av(B $(C8i?!<-(B, $(C1W0M@:(B $(C1W(B $(CFD@O(B $(C@ZC<8&(B $(CFmA}GO7A4B(B $(C0M0z(B -$(C4Y8'>x=@4O4Y(B. $(C1W7/3*(B, $(C@L8F=:7N(B $(C:/0fGQ(B $(C;gGW@:(B $(C1W(B $(CFD@O@;(B "$(C0%9+8.(B"$(CGO1b(B -$(C@|1nAv4B(B $(C?518@{@LAv(B $(C8xGU4O4Y(B. $(C@L4B(B $(C@}9]Bk(B $(C:/0f5H(B $(CFD@O@;(B $(C?xD!(B $(C>J0T(B -$(C?n?5(B $(CC<0h?!(B $(C320\(B $(C5N4B(B $(C0M@;(B $(CGGGO1b(B $(C@'GX<-(B $(C1W78=@4O4Y(B. $(C0%9+8.8&(B $(CGX55(B -$(C@L8F=:4B(B $(C:/0f(B $(C;gGW@L(B $(C3*A_?!(B $(C=G<v?44Y0m(B $(C0aA$5G4B(B $(C0f?l8&(B $(C0(>HGX(B $(C1Y?x(B -$(CFD@O@;(B $(C:/0f5H(B $(C@L8'@87N(B $(C320\5S4O4Y(B. +파일을 찾는다는 것은 이맥스 안에서 그 파일의 내용을 본다는 것을 +의미합니다. 여러가지 면에서, 그것은 그 파일 자체를 편집하려는 것과 +다름없습니다. 그러나, 이맥스로 변경한 사항은 그 파일을 "갈무리"하기 +전까지는 영구적이지 못합니다. 이는 절반쯤 변경된 파일을 원치 않게 +운영 체계에 남겨 두는 것을 피하기 위해서 그렇습니다. 갈무리를 해도 +이맥스는 변경 사항이 나중에 실수였다고 결정되는 경우를 감안해 근원 +파일을 변경된 이름으로 남겨둡니다. -$(CH-8i@G(B $(C9Y4Z(B $(C0!1n@L8&(B $(C:88i(B "--:-- TUTORIAL.ko"$(C?M(B $(C00@:(B $(C=D@87N(B $(C=C@[GO4B(B, -$(C4k=C(B $(C9.@Z7N(B $(C=C@[GX<-(B $(C4k=C(B $(C9.@Z7N(B $(C3!3*4B(B $(CAY@L(B $(C@V@;(B $(C0M@T4O4Y(B. $(CH-8i@G(B $(C@L(B -$(C:N:P@:(B $(C:8Ek(B, $(C9f9.GO0m(B $(C@V4B(B $(CFD@O@G(B $(C@L8'@;(B $(C:8?)(B $(CA]4O4Y(B. $(CAv1]@:(B $(C@L8F=:(B -$(CAvD'<-@G(B $(C:9;g:;@N(B "TUTORIAL.ko"$(C6s4B(B $(CFD@O@;(B $(C9f9.GO0m(B $(C@V4B(B $(CA_@T4O4Y(B. -$(C@L8F=:7N(B $(CFD@O(B $(CC#1b8&(B $(CGO8i(B $(CA$H.Hw(B $(C1W(B $(C0w?!(B $(CFD@O@G(B $(C@L8'@L(B $(C3*E8334O4Y(B. +화면의 바닥 가까이를 보면 "--:-- TUTORIAL.ko"와 같은 식으로 시작하는, +대시 문자로 시작해서 대시 문자로 끝나는 줄이 있을 것입니다. 화면의 이 +부분은 보통, 방문하고 있는 파일의 이름을 보여 줍니다. 지금은 이맥스 +지침서의 복사본인 "TUTORIAL.ko"라는 파일을 방문하고 있는 중입니다. +이맥스로 파일 찾기를 하면 정확히 그 곳에 파일의 이름이 나타납니다. -$(CFD@O(B $(CC#1b(B $(C8m7I@G(B $(CF/:0GQ(B $(CA!@:(B $(C?xGO4B(B $(CFD@O@G(B $(C@L8'@;(B $(C8;GX>_(B $(CGO4B(B -$(C0M@T4O4Y(B. $(C8m7I@L(B "$(C4\8;1b7N:NEM(B $(C@N<v8&(B $(C@P4B4Y(B"$(C6s0m(B $(CGU4O4Y(B ($(C@L(B $(C0f?l(B, -$(C@N<v4B(B $(CFD@O@G(B $(C@L8'@T4O4Y(B). $(C>F7!@G(B $(C8m7I@;(B $(CD!0m(B $(C3*8i(B +파일 찾기 명령의 특별한 점은 원하는 파일의 이름을 말해야 하는 +것입니다. 명령이 "단말기로부터 인수를 읽는다"라고 합니다 (이 경우, +인수는 파일의 이름입니다). 아래의 명령을 치고 나면 - C-x C-f $(CFD@O(B $(CC#1b(B + C-x C-f 파일 찾기 -$(C@L8F=:4B(B $(CFD@O@G(B $(C@L8'@;(B $(CD!6s0m(B $(C?d18GU4O4Y(B. $(CFD@O(B $(C@L8'@;(B $(CD!8i(B $(CH-8i@G(B $(C9Y4Z(B -$(CAY?!(B $(C@L8'@L(B $(C3*E8334O4Y(B. $(C@L71(B $(CA>7y@G(B $(C@T7B?!(B $(C>2@O(B $(C6'?!4B(B $(C9Y4Z(B $(CAY@;(B $(C@[@:(B -$(C;g@LD-(B(minibuffer)$(C@L6s0m(B $(C:N8(4O4Y(B. $(CFr;s=C?!(B $(C>24B(B $(C@L8F=:@G(B $(CFmA}(B -$(C8m7I@87N(B $(CFD@O(B $(C@L8'@;(B $(CFmA}GR(B $(C<v(B $(C@V=@4O4Y(B. +이맥스는 파일의 이름을 치라고 요구합니다. 파일 이름을 치면 화면의 바닥 +줄에 이름이 나타납니다. 이런 종류의 입력에 쓰일 때에는 바닥 줄을 작은 +사이칸(minibuffer)이라고 부릅니다. 평상시에 쓰는 이맥스의 편집 +명령으로 파일 이름을 편집할 수 있습니다. -$(CFD@O(B $(C@L8'@;(B ($(CH$@:(B $(C8p5g(B $(CA>7y@G(B $(C@[@:(B $(C;g@LD-(B $(C@T7B@;(B) $(C3V@;(B $(C6'(B, $(C8m7I@G(B -$(CCk<R4B(B C-g$(C7N(B $(CGU4O4Y(B. +파일 이름을 (혹은 모든 종류의 작은 사이칸 입력을) 넣을 때, 명령의 +취소는 C-g로 합니다. ->> C-x C-f$(C8&(B $(CD!0m(B C-g$(C8&(B $(CD!=J=C?@(B. $(C@L4B(B $(C@[@:(B $(C;g@LD-@;(B $(CCk<RGO0m(B $(C6G(B, - $(C@[@:(B $(C;g@LD-@;(B $(C>20m(B $(C@V4B(B C-x C-f $(C8m7I55(B $(CCk<RGU4O4Y(B. $(C1W7/9G7N(B $(C>F9+(B - $(CFD@O55(B $(CC#Av(B $(C>J4B(B $(C0M@T4O4Y(B. +>> C-x C-f를 치고 C-g를 치십시오. 이는 작은 사이칸을 취소하고 또, + 작은 사이칸을 쓰고 있는 C-x C-f 명령도 취소합니다. 그러므로 아무 + 파일도 찾지 않는 것입니다. -$(CFD@O(B $(C@L8'@;(B $(C4Y(B $(C1b@TG_@88i(B <Return>$(C@;(B $(CCD<-(B $(CA>7aGO=J=C?@(B. $(C1W7/8i(B C-x -C-f $(C8m7I@L(B $(C@[5?5G>n(B $(C<1EC5H(B $(CFD@O@;(B $(CC#1b(B $(C=C@[GU4O4Y(B. C-x C-f $(C8m7I@L(B -$(C3!3*8i(B $(C@[@:(B $(C;g@LD-@:(B $(C;g6sA}4O4Y(B. +파일 이름을 다 기입했으면 <Return>을 쳐서 종료하십시오. 그러면 C-x +C-f 명령이 작동되어 선택된 파일을 찾기 시작합니다. C-x C-f 명령이 +끝나면 작은 사이칸은 사라집니다. -$(C@a=C(B $(CHD?!4B(B $(CFD@O@G(B $(C3;?k@L(B $(CH-8i?!(B $(C3*E83*0m(B $(C1W(B $(C3;?k@;(B $(CFmA}GR(B $(C<v(B $(C@V0T(B -$(C5K4O4Y(B. $(C:/0f(B $(C;gGW@;(B $(C?518@{@87N(B $(CGO0m(B $(C=M@88i(B $(C4Y@=@G(B $(C8m7I@;(B $(CD(4O4Y(B. +잠시 후에는 파일의 내용이 화면에 나타나고 그 내용을 편집할 수 있게 +됩니다. 변경 사항을 영구적으로 하고 싶으면 다음의 명령을 칩니다. - C-x C-s $(CFD@O(B $(C0%9+8.(B + C-x C-s 파일 갈무리 -$(C@L(B $(C8m7I@:(B $(C@L8F=:(B $(C3;@G(B $(C1[?y@;(B $(CFD@O?!(B $(C:9;gGU4O4Y(B. $(C@L(B $(C8m7I@L(B $(CC99xB07N(B -$(C<vG`5I(B $(C6'4B(B $(C@L8F=:0!(B $(C1Y?x(B $(CFD@O@;(B $(C;u(B $(C@L8'@87N(B $(C9Y2Y>n(B $(C3u@=@87N=a(B $(C@R>n9v81(B -$(C?l7A8&(B $(C9fAvGU4O4Y(B. $(C;u(B $(C@L8'@:(B $(C1Y?x(B $(CFD@O(B $(C@L8'@G(B $(C3!?!(B "~"$(C@;(B $(C4uGT@87N=a(B -$(C885i>nA}4O4Y(B. +이 명령은 이맥스 내의 글월을 파일에 복사합니다. 이 명령이 첫번째로 +수행될 때는 이맥스가 근원 파일을 새 이름으로 바꾸어 놓음으로써 잃어버릴 +우려를 방지합니다. 새 이름은 근원 파일 이름의 끝에 "~"을 더함으로써 +만들어집니다. -$(C0%9+8.0!(B $(C3!3*8i(B $(C@L8F=:4B(B $(C>2?)Ax(B $(CFD@O@G(B $(C@L8'@;(B $(C@N<bGU4O4Y(B. $(CFD@O@:(B $(C>FAV(B -$(C@ZAV(B $(C0%9+8.GT@87N=a(B $(C?n?5(B $(CC<0h0!(B $(C?M8#8#(B $(C9+3JA.55(B $(C89@:(B $(C@[>w@L(B $(C<U=G5GAv(B -$(C>J557O(B $(CGU4O4Y(B. +갈무리가 끝나면 이맥스는 쓰여진 파일의 이름을 인쇄합니다. 파일은 아주 +자주 갈무리함으로써 운영 체계가 와르르 무너져도 많은 작업이 손실되지 +않도록 합니다. ->> C-x C-s$(C8&(B $(CCD<-(B $(CAvD'<-@G(B $(C:9;g:;@;(B $(C0%9+8.(B $(CGO=J=C?@(B. - $(C1W7/8i(B "Wrote ...TUTORIAL.ko"$(C6s0m(B $(CH-8i@G(B $(C9Y4Z?!(B $(C@N<b5I(B $(C0M@T4O4Y(B. +>> C-x C-s를 쳐서 지침서의 복사본을 갈무리 하십시오. + 그러면 "Wrote ...TUTORIAL.ko"라고 화면의 바닥에 인쇄될 것입니다. -$(C:80E3*(B $(CFmA}GO1b(B $(C@'GX(B, $(CA8@gGO4B(B $(CFD@O@;(B $(CC#@;(B $(C<v(B $(C@V=@4O4Y(B. $(C6GGQ(B $(CA8@gGOAv(B -$(C>J4B(B $(CFD@O55(B $(CC#@;(B $(C<v(B $(C@V=@4O4Y(B. $(C@L780T(B $(CGO8i(B $(C@L8F=:7N(B $(CFD@O@;(B $(C885i0T(B -$(C5K4O4Y(B: $(C:s(B $(C3;?k@87N(B $(C=C@[5G4B(B $(CFD@O@;(B $(CC#>F<-(B $(C1[?y@;(B $(C3"?l1b(B $(C=C@[GU4O4Y(B. -$(CFD@O@;(B "$(C0%9+8.(B"$(CGO557O(B $(C?dC;GO8i(B $(C@L8F=:4B(B $(C3"?vAx(B $(C1[?y@;(B $(C3;?k@87N(B $(CGO4B(B -$(CFD@O@;(B $(C=GA&7N(B $(C885i>n(B $(C3@4O4Y(B. $(C1W71(B $(CHD?!4B(B $(C@L(B $(CFD@O@:(B $(C@L9L(B $(CA8@gGO4B(B -$(CFD@O@L(B $(C5K4O4Y(B. +보거나 편집하기 위해, 존재하는 파일을 찾을 수 있습니다. 또한 존재하지 +않는 파일도 찾을 수 있습니다. 이렇게 하면 이맥스로 파일을 만들게 +됩니다: 빈 내용으로 시작되는 파일을 찾아서 글월을 끼우기 시작합니다. +파일을 "갈무리"하도록 요청하면 이맥스는 끼워진 글월을 내용으로 하는 +파일을 실제로 만들어 냅니다. 그런 후에는 이 파일은 이미 존재하는 +파일이 됩니다. -* $(C;g@LD-(B +* 사이칸 -------- -$(C5N9xB0(B $(CFD@O@;(B C-x C-f$(C7N(B $(CC#@88i(B, $(CC99xB0(B $(CFD@O@:(B $(C@L8F=:@G(B $(C3;:N?!(B $(C32>F(B -$(C@V=@4O4Y(B. $(C1W(B $(CFD@O@:(B C-x C-f$(C7N(B $(C@gBw(B $(CC#@=@87N<-(B $(C4Y=C(B $(C>y9Y2\(B $(C<v(B -$(C@V=@4O4Y(B. $(C@L71(B $(C=D@87N(B $(C8E?l(B $(C89@:(B $(C<v@G(B $(CFD@O5i@;(B $(C@L8F=:(B $(C3;:N?!(B $(C:R7/(B $(C5i@O(B -$(C<v(B $(C@V=@4O4Y(B. +두번째 파일을 C-x C-f로 찾으면, 첫번째 파일은 이맥스의 내부에 남아 +있습니다. 그 파일은 C-x C-f로 재차 찾음으로서 다시 엇바꿀 수 +있습니다. 이런 식으로 매우 많은 수의 파일들을 이맥스 내부에 불러 들일 +수 있습니다. ->> C-x C-f foo <Return>$(C@;(B $(CCD<-(B "foo"$(C6s4B(B $(C@L8'@G(B $(CFD@O@;(B $(C885e=J=C?@(B. - $(C1W8.0m4B(B $(C1[?y@;(B $(C3"?l0m(B $(CFmA}GO?)(B C-x C-s$(C7N(B "foo"$(C8&(B $(C0%9+8.GO=J=C?@(B. - $(C86Av87@87N(B, C-x C-f TUTORIAL.ko <Return>$(C@;(B $(CCD<-(B $(CAvD'<-7N(B $(C4Y=C(B $(C59>F(B - $(C?@=J=C?@(B. +>> C-x C-f foo <Return>을 쳐서 "foo"라는 이름의 파일을 만드십시오. + 그리고는 글월을 끼우고 편집하여 C-x C-s로 "foo"를 갈무리하십시오. + 마지막으로, C-x C-f TUTORIAL.ko <Return>을 쳐서 지침서로 다시 돌아 + 오십시오. -$(C@L8F=:4B(B $(C0"(B $(CFD@O@G(B $(C1[?y@;(B "$(C;g@LD-(B"$(C@L6s0m(B $(C:R8.?l4B(B $(C0M(B $(C>H?!(B $(C@z@eGU4O4Y(B. -$(CFD@O@;(B $(CC#4B(B $(C0M@:(B $(C@L8F=:@G(B $(C3;:N?!(B $(C;u(B $(C;g@LD-@;(B $(C885e4B(B $(C0M0z(B $(C00=@4O4Y(B. -$(C@L8F=:@G(B $(C@O7N(B $(CGvA8GO0m(B $(C@V4B(B $(C;g@LD-@G(B $(C8q7O@;(B $(C:81b(B $(C@'GX<-4B(B $(C4Y@=0z(B $(C00@L(B -$(CD!=J=C?@(B. +이맥스는 각 파일의 글월을 "사이칸"이라고 불리우는 것 안에 저장합니다. +파일을 찾는 것은 이맥스의 내부에 새 사이칸을 만드는 것과 같습니다. +이맥스의 일로 현존하고 있는 사이칸의 목록을 보기 위해서는 다음과 같이 +치십시오. - C-x C-b $(C;g@LD-(B $(C8q7O(B + C-x C-b 사이칸 목록 ->> C-x C-b$(C8&(B $(CAv1](B $(CCD(B $(C:8=J=C?@(B. +>> C-x C-b를 지금 쳐 보십시오. -$(C0"(B $(C;g@LD-@L(B $(C>n62(B $(C@L8'@;(B $(C0.0m(B $(C@V4B0!(B $(C:8=J=C?@(B. $(C;g@LD-@:(B $(C0#AwGO0m(B $(C@V4B(B -$(C1[?y@G(B $(C8pC<0!(B $(C5G4B(B $(CFD@O@G(B $(C@L8'@;(B $(C0.0m(B $(C@V@;(B $(C<v55(B $(C@V=@4O4Y(B. $(C>n62(B -$(C;g@LD-5i@:(B $(CFD@O0z(B $(C9+0|GU4O4Y(B. $(C?98&(B $(C5i>n(B, "*Buffer List*"$(C6s4B(B $(C;g@LD-@:(B -$(C>F9+(B $(CFD@O55(B $(C0.0m(B $(C@VAv(B $(C>J=@4O4Y(B. $(C@L(B $(C;g@LD-@:(B C-x C-b$(C7N(B $(C885i>nAx(B $(C;g@LD-(B -$(C8q7O@;(B $(C4c0m(B $(C@V@;(B $(C;S@T4O4Y(B. $(C@L8F=:(B $(CC"(B $(C>H?!<-(B $(C:<(B $(C<v(B $(C@V4B(B $(C8p5g(B $(C1[?y@:(B -$(C>n62(B $(C;g@LD-@G(B $(C@O:N:P(B $(C@T4O4Y(B. +각 사이칸이 어떤 이름을 갖고 있는가 보십시오. 사이칸은 간직하고 있는 +글월의 모체가 되는 파일의 이름을 갖고 있을 수도 있습니다. 어떤 +사이칸들은 파일과 무관합니다. 예를 들어, "*Buffer List*"라는 사이칸은 +아무 파일도 갖고 있지 않습니다. 이 사이칸은 C-x C-b로 만들어진 사이칸 +목록을 담고 있을 뿐입니다. 이맥스 창 안에서 볼 수 있는 모든 글월은 +어떤 사이칸의 일부분 입니다. ->> C-x 1$(C@;(B $(CCD<-(B $(C;g@LD-(B $(C8q7O@;(B $(C>x>V=J=C?@(B. +>> C-x 1을 쳐서 사이칸 목록을 없애십시오. -$(CGQ(B $(CFD@O@G(B $(C1[?y@;(B $(C:/0fGQ(B $(CHD(B $(C4Y8%(B $(CFD@O@;(B $(CC#@88i(B $(CC99xB0(B $(CFD@O@:(B $(C0%9+8.5GAv(B -$(C>J@:(B $(C0M@T4O4Y(B. $(C1W(B $(C:/0f(B $(C;gGW@:(B $(C@L8F=:(B $(C3;:N@G(B $(CFD@O(B $(C;g@LD-?!88(B $(C32>F(B -$(C@V=@4O4Y(B. $(C5N9xB0(B $(CFD@O@G(B $(C;g@LD-@;(B $(C885i0E3*(B $(CFmA}GO4B(B $(C0M@:(B $(CC99xB0(B $(CFD@O@G(B -$(C;g@LD-?!(B $(C@|Gt(B $(C?5Gb@;(B $(CAVAv(B $(C>J=@4O4Y(B. $(C@L4B(B $(C8E?l(B $(C@/?kGO1b4B(B $(CGO3*(B $(C4Y8%(B -$(C8i?!<-4B(B $(CC99xB0(B $(CFD@O@G(B $(C;g@LD-@;(B $(C0%9+8.GR(B $(C<v(B $(C@V4B(B $(C0#FmGQ(B $(C4Y8%(B $(C9f9}@L(B -$(CGJ?dGO4Y4B(B $(C0M@;(B $(C@G9LGU4O4Y(B. C-x C-f$(C8&(B $(CCD<-(B $(C1W(B $(C;g@LD-@87N(B $(C>y9Y2[(B $(CHD(B -C-x C-s$(C7N(B $(C0%9+8.GO4B(B $(C0M@:(B $(C1MBz@:(B $(C@O@T4O4Y(B. $(C1W7!<-(B $(C4Y@=0z(B $(C00@:(B $(C8m7I@L(B -$(C@V=@4O4Y(B +한 파일의 글월을 변경한 후 다른 파일을 찾으면 첫번째 파일은 갈무리되지 +않은 것입니다. 그 변경 사항은 이맥스 내부의 파일 사이칸에만 남아 +있습니다. 두번째 파일의 사이칸을 만들거나 편집하는 것은 첫번째 파일의 +사이칸에 전혀 영향을 주지 않습니다. 이는 매우 유용하기는 하나 다른 +면에서는 첫번째 파일의 사이칸을 갈무리할 수 있는 간편한 다른 방법이 +필요하다는 것을 의미합니다. C-x C-f를 쳐서 그 사이칸으로 엇바꾼 후 +C-x C-s로 갈무리하는 것은 귀찮은 일입니다. 그래서 다음과 같은 명령이 +있습니다 - C-x s $(C8n8n(B $(C;g@LD-(B $(C0%9+8.(B + C-x s 몇몇 사이칸 갈무리 -C-x s$(C4B(B, $(C:/0f5G>zAv88(B $(C0%9+8.5GAv(B $(C>J@:(B $(C;g@LD-@L(B $(C@V3*(B $(CA6;gGX(B $(C:>4O4Y(B. -$(C1W8.0m4B(B $(C1W71(B $(C;g@LD-5i?!(B $(C4kGX<-(B $(C1W(B $(C0M@;(B $(C0%9+8.GR(B $(C0M@N0!8&(B $(C90>n(B -$(C:>4O4Y(B. +C-x s는, 변경되었지만 갈무리되지 않은 사이칸이 있나 조사해 봅니다. +그리고는 그런 사이칸들에 대해서 그 것을 갈무리할 것인가를 물어 +봅니다. ->> $(CGQ(B $(CAY@G(B $(C1[?y@;(B $(C3"?n(B $(CHD(B C-x s$(C8&(B $(CD!=J=C?@(B. - $(C1W7/8i(B TUTORIAL.ko$(C6s4B(B $(C@L8'@G(B $(C;g@LD-@;(B $(C0%9+8.GR(B $(C0M@NAv(B $(C90>n(B $(C:<(B - $(C0M@T4O4Y(B. "y"$(C8&(B $(CCD<-(B $(C90@=?!(B $(C?96s0m(B $(C4dGO=J=C?@(B. +>> 한 줄의 글월을 끼운 후 C-x s를 치십시오. + 그러면 TUTORIAL.ko라는 이름의 사이칸을 갈무리할 것인지 물어 볼 + 것입니다. "y"를 쳐서 물음에 예라고 답하십시오. -* $(C8m7I>n@G(B $(CH.@e(B +* 명령어의 확장 --------------- -$(C@L8F=:@G(B $(C8m7I>n4B(B $(C3J9+(B $(C89>F<-(B $(C@L(B $(C8p5g(B $(C8m7I@;(B $(CA&>n<h3*(B meta$(C<h?!(B $(CGR4gGR(B -$(C<v(B $(C>x=@4O4Y(B. $(C@L8F=:4B(B $(C@L71(B $(C9.A&8&(B X (eXtend) $(C8m7I@87N(B $(CGX0aGU4O4Y(B. -$(C@L?!4B(B $(C5N0!Av(B $(CA>7y0!(B $(C@V=@4O4Y(B: +이맥스의 명령어는 너무 많아서 이 모든 명령을 제어쇠나 meta쇠에 할당할 +수 없습니다. 이맥스는 이런 문제를 X (eXtend) 명령으로 해결합니다. +이에는 두가지 종류가 있습니다: - C-x $(C9.@Z(B $(CH.@e(B. $(C9.@Z(B $(CGO3*0!(B $(C5Z5{8'(B. - M-x $(C@L8'(B $(C8m7I@G(B $(CH.@e(B. $(C1d(B $(C@L8'@L(B $(C5Z5{8'(B. + C-x 문자 확장. 문자 하나가 뒤따름. + M-x 이름 명령의 확장. 긴 이름이 뒤따름. -$(C@L(B $(C8m7I5i@:(B $(C4k03(B $(C@/?kGOAv88(B, $(CAv1]1nAv(B $(C9h?v(B $(C?B(B $(C8m7I5i:84Y4B(B $(C4z(B $(C:s9xGO0T(B -$(C;g?k5K4O4Y(B. $(C@L71(B $(CA>7y@G(B $(C8m7I@;(B $(C@L9L(B $(C5N(B $(C03(B $(C>K0m(B $(C@V=@4O4Y(B: $(CFD@O(B -$(C8m7I(B $(CA_?!(B C-x C-f$(C7N(B $(CC#1b?M(B C-x C-s$(C7N(B $(C0%9+8.GO1b(B. $(C4Y8%(B $(C?94B(B $(C@L8F=:(B $(C@[>w(B -$(C=C0#@;(B $(C86D!4B(B $(C8m7I@T4O4Y(B--$(C@L4B(B C-x C-c $(C8m7I(B. ($(C:/0f(B $(C;gGW@;(B -$(C@R>n9v8.Av3*(B $(C>J@;1n(B $(CGO4B(B $(C0FA$@:(B $(C>J(B $(CGX55(B $(C5K4O4Y(B; C-x C-c$(C4B(B $(C@L8F=:8&(B -$(CAW@L1b(B $(C@|?!(B $(C0"0"@G(B $(C:/0f5H(B $(CFD@O@;(B $(C0%9+8.GR(B $(C1bH88&(B $(CA]4O4Y(B.) +이 명령들은 대개 유용하지만, 지금까지 배워 온 명령들보다는 덜 빈번하게 +사용됩니다. 이런 종류의 명령을 이미 두 개 알고 있습니다: 파일 +명령 중에 C-x C-f로 찾기와 C-x C-s로 갈무리하기. 다른 예는 이맥스 작업 +시간을 마치는 명령입니다--이는 C-x C-c 명령. (변경 사항을 +잃어버리지나 않을까 하는 걱정은 않 해도 됩니다; C-x C-c는 이맥스를 +죽이기 전에 각각의 변경된 파일을 갈무리할 기회를 줍니다.) -C-z$(C4B(B $(C@L8F=:8&(B *$(C@S=C7N(B* $(C3*?@1b(B $(C@'GQ(B $(C8m7I@T4O4Y(B--$(C1W7!<-(B $(C4Y@=?!(B, $(CGO4x(B -$(CA_@G(B $(C@L8F=:(B $(C@[>w(B $(C=C0#@87N(B $(C4Y=C(B $(C5G59>F(B $(C0%(B $(C<v(B $(C@V=@4O4Y(B. +C-z는 이맥스를 *임시로* 나오기 위한 명령입니다--그래서 다음에, 하던 +중의 이맥스 작업 시간으로 다시 되돌아 갈 수 있습니다. -$(C?n?5(B $(CC<0h0!(B $(CGc?kGO8i(B C-z$(C4B(B $(C@L8F=:8&(B "$(CA_Av(B"$(C=CE54O4Y(B(suspend); $(CAo(B, $(C@L(B -$(C8m7I@:(B $(CA60!:q(B(shell)$(C7N(B $(C59>F(B $(C0!557O(B $(CGOAv88(B $(C@L8F=:8&(B $(CFD1+GO4B(B $(C0M@:(B -$(C>F4U4O4Y(B. $(C4k:N:P@G(B $(CA60!:q?!<-4B(B `fg'$(C3*(B `%emacs'$(C8m7I@87N(B $(C@L8F=:8&(B $(C0h<SGR(B -$(C<v(B $(C@V=@4O4Y(B. +운영 체계가 허용하면 C-z는 이맥스를 "중지"시킵니다(suspend); 즉, 이 +명령은 조가비(shell)로 돌아 가도록 하지만 이맥스를 파괴하는 것은 +아닙니다. 대부분의 조가비에서는 `fg'나 `%emacs'명령으로 이맥스를 계속할 +수 있습니다. -$(CA_AvGO4B(B $(C0M@;(B $(CA&0xGOAv(B $(C>J4B(B $(C?n?5(B $(CC<0h?!<-4B(B C-z$(C?!(B $(C@GGX(B, $(C@L8F=:(B $(C9X?!<-(B -$(C=GG`5G4B(B $(C>F7'A60!:q0!(B $(C885i>n(B $(CAv0T(B $(C5G4B5%(B $(C?)1b<-(B $(C4Y8%(B $(CGA7N1W7%5i@;(B -$(C=GG`GQ(B $(CHD(B $(C@L8F=:7N(B $(C59>F(B $(C?C(B $(C<v(B $(C@V4B(B $(C1bH80!(B $(C@V=@4O4Y(B; $(C;g=G;s(B $(C@L8F=:7N:NEM(B -"$(C3*0!4B(B" $(C0M@:(B $(C>F4U4O4Y(B. $(C@L(B $(C0f?l(B $(C:8Ek(B, $(CA60!:q(B $(C8m7I@N(B `exit'$(C@87N(B -$(C>F7'A60!:q?!<-(B $(C@L8F=:?!(B $(C5G59>F(B $(C?I4O4Y(B. +중지하는 것을 제공하지 않는 운영 체계에서는 C-z에 의해, 이맥스 밑에서 +실행되는 아랫조가비가 만들어 지게 되는데 여기서 다른 프로그램들을 +실행한 후 이맥스로 돌아 올 수 있는 기회가 있습니다; 사실상 이맥스로부터 +"나가는" 것은 아닙니다. 이 경우 보통, 조가비 명령인 `exit'으로 +아랫조가비에서 이맥스에 되돌아 옵니다. -C-x C-c$(C4B(B $(C@|;j1b?!<-(B $(C9~>n3*1b(B $(CGR(B $(C6'3*(B $(C;g?kGU4O4Y(B. $(CFmAv8&(B $(CCk1^GO4B(B -$(CGA7N1W7%@L3*(B $(C4Y8%(B $(C@b4YGQ(B $(C55?r8p(B(utilities)$(C5i@L(B $(C>_1bGQ(B $(C@L8F=:4B(B -$(CA_Av=CE24Y4B(B $(C0M@;(B $(C8p8#1b(B $(C6'9.?!(B $(C3*0!1b8&(B $(CGX>_(B $(CGU4O4Y(B. $(CGOAv88(B, $(C:8Ek@G(B -$(C0f?l(B, $(C9~>n3*1b8&(B $(CGOAv(B $(C>J4B(B $(CGQ(B, $(C@L8F=:8&(B $(C3*0!1b:84Y4B(B $(CA_AvGO4B(B $(C0M@L(B -$(CAA=@4O4Y(B. +C-x C-c는 전산기에서 벗어나기 할 때나 사용합니다. 편지를 취급하는 +프로그램이나 다른 잡다한 도움모(utilities)들이 야기한 이맥스는 +중지시킨다는 것을 모르기 때문에 나가기를 해야 합니다. 하지만, 보통의 +경우, 벗어나기를 하지 않는 한, 이맥스를 나가기보다는 중지하는 것이 +좋습니다. -C-x $(C8m7I>n4B(B $(C89@L(B $(C@V=@4O4Y(B. $(C@L9L(B $(C9h?n(B $(C0M@;(B $(C>F7!?!(B $(CAW:8@T4O4Y(B. +C-x 명령어는 많이 있습니다. 이미 배운 것을 아래에 죽보입니다. - C-x C-f $(CFD@O(B $(CC#1b(B. - C-x C-s $(CFD@O(B $(C0%9+8.(B. - C-x C-b $(C;g@LD-(B $(C8q7O(B. - C-x C-c $(C@L8F=:(B $(C3!3;1b(B. - C-x u $(C9+8#1b(B. + C-x C-f 파일 찾기. + C-x C-s 파일 갈무리. + C-x C-b 사이칸 목록. + C-x C-c 이맥스 끝내기. + C-x u 무르기. -$(C@L8'(B $(CH.@e(B $(C8m7I@:(B $(C@ZAV(B $(C;g?k5GAv(B $(C>J0E3*(B $(CF/:0GQ(B $(C9f=D?!<-3*(B $(C>2@L4B(B -$(C8m7I@T4O4Y(B. $(CGQ0!Av(B $(C?94B(B replace-string $(C8m7I@N5%(B $(C@L4B(B $(C@|?*@{@87N(B $(CGQ(B -$(C9.@Z?-@;(B $(C4Y8%(B $(C9.@Z?-7N(B $(C;u7N9Y2_4O4Y(B. M-x$(C8&(B $(CD!8i(B $(C@L8F=:4B(B $(CH-8i@G(B -$(C9Y4Z?!<-(B M-x$(C6s0m(B $(C1f@b@LGO?)(B $(C8m7I@G(B $(C@L8'@;(B $(CD!557O(B $(CGU4O4Y(B; $(C@L(B $(C0f?l4B(B -"replace-string". "repl s<TAB>"$(C88(B $(CCD55(B $(C@L8F=:4B(B $(C@L8'@;(B $(C?O<:=CE3(B -$(C0M@T4O4Y(B. $(C8m7I(B $(C@L8'@:(B <Return>$(C@87N(B $(C3!334O4Y(B. +이름 확장 명령은 자주 사용되지 않거나 특별한 방식에서나 쓰이는 +명령입니다. 한가지 예는 replace-string 명령인데 이는 전역적으로 한 +문자열을 다른 문자열로 새로바꿉니다. M-x를 치면 이맥스는 화면의 +바닥에서 M-x라고 길잡이하여 명령의 이름을 치도록 합니다; 이 경우는 +"replace-string". "repl s<TAB>"만 쳐도 이맥스는 이름을 완성시킬 +것입니다. 명령 이름은 <Return>으로 끝납니다. -replace-string $(C8m7I@:(B $(C5N03@G(B $(C@N<v8&(B $(C?d18GU4O4Y(B--$(C9Y2n>nA.>_(B $(CGR(B $(C9.@Z?-0z(B -$(C;u7N9Y2n>nAz(B $(C9.@Z?-(B. $(C0"0"@G(B $(C@N<v4B(B <Return>$(C@87N(B $(C3!3;>_(B $(CGU4O4Y(B. +replace-string 명령은 두개의 인수를 요구합니다--바뀌어져야 할 문자열과 +새로바뀌어질 문자열. 각각의 인수는 <Return>으로 끝내야 합니다. ->> $(C1t9Z@L8&(B $(C@L(B $(CAY?!<-(B $(C5N(B $(CAY(B $(C>F7!@G(B $(C:s(B $(CAY7N(B $(C?rAw@L=J=C?@(B. - $(C1W(B $(CHD(B M-x repl s<Return>$(C:/H-5G(B<Return>$(C9Y2n(B<Return>$(C@;(B $(CD!=J=C?@(B. +>> 깜박이를 이 줄에서 두 줄 아래의 빈 줄로 움직이십시오. + 그 후 M-x repl s<Return>변화되<Return>바뀌<Return>을 치십시오. - $(C@L(B $(CAY@L(B $(C>n6;0T(B $(C:/H-5G>z4B0!8&(B $(C@/@GGO=J=C?@(B: $(C1t9Z@L0!(B $(C@V4B(B $(CCJ1b(B $(C@'D!(B - $(C4Y@=?!(B $(C:/(B-$(CH-(B-$(C5G(B $(C6s4B(B $(C398;@L(B $(C3*?C(B $(C6'864Y(B "$(C9Y2n(B"$(C6s0m(B - $(C;u7N9Y2n>z=@4O4Y(B. + 이 줄이 어떻게 변화되었는가를 유의하십시오: 깜박이가 있는 초기 위치 + 다음에 변-화-되 라는 낱말이 나올 때마다 "바뀌"라고 + 새로바뀌었습니다. -* $(C@Z5?(B $(C0%9+8.(B +* 자동 갈무리 ------------- -$(CFD@O@;(B $(C:/0fGQ(B $(CHD?!(B $(C>FAw(B $(C0%9+8.8&(B $(CGOAv(B $(C>J>R@88i(B $(C@|;j1b0!(B $(C?M8#8#(B -$(C9+3JA|@87N=a(B $(C:/0f(B $(C;gGW@;(B $(C@R>n(B $(C9v81(B $(C<v(B $(C@V=@4O4Y(B. $(C@L71(B $(C@g>S@;(B $(C9fAvGO1b(B -$(C@'GX(B, $(C@L8F=:4B(B $(CFmA}GO0m(B $(C@V4B(B $(C0"0"@G(B $(CFD@O@;(B $(CAV1b@{@87N(B "$(C@Z5?(B $(C0%9+8.(B" -$(CFD@O?!(B $(C>94O4Y(B. $(C@Z5?(B $(C0%9+8.5H(B $(CFD@O@G(B $(C@L8'@:(B $(C>U5Z7N(B # $(C9.@Z0!(B $(C@V=@4O4Y(B; -$(C?98&(B $(C5i>n(B, "hello.c"$(C6s4B(B $(C@L8'@G(B $(CFD@O@:(B "#hello.c#"$(C6s4B(B $(C@L8'@G(B $(C@Z5?(B -$(C0%9+8.(B $(CFD@O@;(B $(C0.0T(B $(C5K4O4Y(B. $(CA$;s@{@87N(B $(CFD@O@;(B $(C0%9+8.GO8i(B $(C@L8F=:4B(B $(C@Z5?(B -$(C0%9+8.(B $(CFD@O@;(B $(CAv?s4O4Y(B. +파일을 변경한 후에 아직 갈무리를 하지 않았으면 전산기가 와르르 +무너짐으로써 변경 사항을 잃어 버릴 수 있습니다. 이런 재앙을 방지하기 +위해, 이맥스는 편집하고 있는 각각의 파일을 주기적으로 "자동 갈무리" +파일에 씁니다. 자동 갈무리된 파일의 이름은 앞뒤로 # 문자가 있습니다; +예를 들어, "hello.c"라는 이름의 파일은 "#hello.c#"라는 이름의 자동 +갈무리 파일을 갖게 됩니다. 정상적으로 파일을 갈무리하면 이맥스는 자동 +갈무리 파일을 지웁니다. -$(C@|;j1b0!(B $(C?M8#8#(B $(C9+3JAv8i(B $(C1W(B $(CFD@O@;(B ($(C@Z5?(B $(C0%9+8.5H(B $(CFD@O@L(B $(C>F4O6s(B -$(CFmA}GO4x(B $(CFD@O(B) $(CFr;s=CC373(B $(CC#@:(B $(CHD(B M-x recover-file<Return>$(C@;(B $(CD'@87N=a(B -$(C@Z5?(B $(C0%9+8.5H(B $(CFmA}90@;(B $(CH8:9=CE3(B $(C<v(B $(C@V=@4O4Y(B. $(CH.@NGR(B $(C0M@;(B $(C?d18GO8i(B -yes<Return>$(C@;(B $(CCD<-(B $(C0h<S(B $(CAxG`GO?)(B $(C@Z5?(B $(C0%9+8.5H(B $(C@Z7a8&(B $(CH8:9=CE0=J=C?@(B. +전산기가 와르르 무너지면 그 파일을 (자동 갈무리된 파일이 아니라 +편집하던 파일) 평상시처럼 찾은 후 M-x recover-file<Return>을 침으로써 +자동 갈무리된 편집물을 회복시킬 수 있습니다. 확인할 것을 요구하면 +yes<Return>을 쳐서 계속 진행하여 자동 갈무리된 자료를 회복시키십시오. -* $(C8^>F8.(B $(CEM(B +* 메아리 터 ----------- -$(C@L8F=:0!(B, $(C8m7I@;(B $(CD!4B(B $(C<S550!(B $(C4@8.4Y0m(B $(C@N=DGO8i(B $(CH-8i(B $(C9Y4Z@G(B "$(C8^>F8.(B -$(CEM(B"$(C6s0m(B $(C:R8.4B(B $(C:s(B $(CEM?!(B $(CD#(B $(C8m7I@;(B $(C:8?)A]4O4Y(B. $(C8^>F8.(B $(CEM4B(B $(CH-8i@G(B $(C9Y4Z(B -$(CAY@T4O4Y(B. +이맥스가, 명령을 치는 속도가 느리다고 인식하면 화면 바닥의 "메아리 +터"라고 불리는 빈 터에 친 명령을 보여줍니다. 메아리 터는 화면의 바닥 +줄입니다. -* $(C9f=D(B $(CAY(B +* 방식 줄 --------- -$(C8^>F8.(B $(CEM@G(B $(C9Y7N(B $(C@-(B $(CAY@:(B "$(C9f=D(B $(CAY(B"$(C@L6s0m(B $(C:N8(4O4Y(B. $(C9f=D(B $(CAY@:(B $(C4Y@=0z(B -$(C00@:(B $(C=D@87N(B $(CG%=C5G>n(B $(C@V=@4O4Y(B. +메아리 터의 바로 윗 줄은 "방식 줄"이라고 부릅니다. 방식 줄은 다음과 +같은 식으로 표시되어 있습니다. --:** TUTORIAL.ko (Fundamental)--L670--58%---------------- -$(C@L(B $(CAY?!4B(B $(C@L8F=:3*(B $(CFmA}GO0m(B $(C@V4B(B $(C1[?y@G(B $(C;sH2?!(B $(C4kGQ(B $(C@/?kGQ(B $(CA$:80!(B -$(C0#Aw5G>n(B $(C@V=@4O4Y(B. - -$(CFD@O(B $(C@L8'@L(B $(C9+>y@;(B $(C@G9LGO4BAv4B(B $(C@L9L(B $(C>K0m(B $(C@V=@4O4Y(B--$(C1W(B $(C0M@:(B $(CC#>R4x(B -$(CFD@O@T4O4Y(B. -NN%--$(C4B(B $(C1[?y?!<-@G(B $(CGv@g(B $(C@'D!8&(B $(C0!8.E54O4Y(B; $(C@L4B(B $(CH-8i(B -$(C2@4k1b(B $(C@'7N(B NN $(CF[<>F.@G(B $(C1[?y@L(B $(C@V@=@;(B $(C@G9LGU4O4Y(B. $(CFD@O@G(B $(C2@4k1b0!(B -$(CH-8i?!(B $(C@V@88i(B --00%-- $(C4k=E?!(B --Top--$(C@L6s0m(B $(CG%=C5K4O4Y(B. $(C1[?y@G(B -$(C9X9Y4Z@L(B $(CH-8i?!(B $(C@V@88i(B --Bot--$(C@L6s0m(B $(CG%=C5K4O4Y(B. $(C1[?y@L(B $(C>FAV(B $(C@[>F<-(B -$(C8p5g(B $(C3;?k@L(B $(CH-8i?!(B $(C4Y(B $(C3*E83*8i(B $(C9f=D(B $(CAY?!4B(B --All--$(C@L6s0m(B $(CG%=C5K4O4Y(B. - -$(C0E@G(B $(C>U:N:P?!(B $(C@V4B(B $(C:0(B $(C9.@Z5i@:(B $(C1[?y@L(B $(C:/0f5G>z@=@;(B $(C@G9LGU4O4Y(B. $(CFD@O(B -$(C9f9.(B $(CAwHD3*(B $(C0%9+8.(B $(CAwHD?!4B(B $(C1W(B $(C0w?!(B $(C:0(B $(C9.@Z0!(B $(C>x0m(B $(C4k=C(B $(C9.@Z88(B -$(C@V=@4O4Y(B. - -$(C9f=D(B $(CAY@G(B $(C0}H#(B $(C9.@Z>H@:(B $(C>n62(B $(CFmA}(B $(C9f=D@;(B $(C;g?kGO0m(B $(C@V4B0!8&(B -$(C>K7AA]4O4Y(B. $(C>VCJ(B $(C9f=D@:(B Fundamental$(C7N<-(B $(CAv1](B $(C;g?k5G0m(B $(C@V4B(B -$(C9f=D@T4O4Y(B. $(C@L4B(B "$(CAV(B $(C9f=D(B"$(C@G(B $(CGQ(B $(C?9@T4O4Y(B. - -$(C@L8F=:?!4B(B $(CAV(B $(C9f=D@L(B $(C89@L(B $(C@V=@4O4Y(B. $(C1W(B $(CA_(B $(C8n0!Av4B(B $(C4Y8%(B $(C>p>n(B $(C6G(B/$(C6G4B(B -$(C4Y8%(B $(CA>7y@G(B $(C1[?y@;(B $(CFmA}GO557O(B $(CGO4B5%(B $(C>2@L8g(B, Lisp $(C9f=D(B, Text $(C9f=D(B -$(C5n5n@L(B $(C@V=@4O4Y(B. $(CGW;s(B $(CGQ(B $(C0!Av(B $(CAV(B $(C9f=D88@L(B $(C@{?k5G8g(B $(CAv1](B -"Fundamental"$(C@L6s0m(B $(C@{Gt(B $(C@V4B(B $(C0w?!(B $(CG%=C5K4O4Y(B. - -$(C0"0"@G(B $(CAV(B $(C9f=D@:(B $(C8n8n(B $(C8m7I5i@L(B $(C@[5?@;(B $(C4^8.GO557O(B $(C5G>n(B $(C@V=@4O4Y(B. $(C?98&(B -$(C5i>n(B, $(CGA7N1W7%?!4B(B $(C<38m9.@;(B $(C885e4B(B $(C8m7I@L(B $(C@V4B5%(B, $(CGA7N1W7%(B $(C>p>n5i@:(B -$(C<38m9.@G(B $(CG|EB@;(B $(C0"0"(B $(C4^8.(B $(CGO1b(B $(C6'9.?!(B $(C0"0"@G(B $(CAV(B $(C9f=D@:(B $(C<38m9.@;(B $(C<-7N(B -$(C4Y8#0T(B $(C3"?v(B $(C3V557O(B $(C5G>n(B $(C@V=@4O4Y(B. $(C8p5g(B $(CAV(B $(C9f=D@:(B $(CH.@e(B $(C8m7I@G(B $(C@L8'@;(B -$(C;g?kGO9G7N<-(B $(C1W(B $(C9f=D@87N(B $(C>y9Y2Y4B(B $(C0M@L(B $(C=10T(B $(C@N=D5I(B $(C<v(B $(C@V=@4O4Y(B. $(CGQ(B -$(C?97N(B M-x fundamental-mode$(C4B(B Fundamental $(C9f=D@87N(B $(C>y9Y2Y4B(B $(C8m7I@T4O4Y(B. - -$(C@L(B $(CFD@O0z(B $(C00@:(B $(CGQ1[(B $(C1[?y@;(B $(CFmA}GO7A0m(B $(CGQ4Y8i(B Text $(C9f=D@;(B $(C>24B(B $(C0M@L(B -$(CAA@;(B $(C0M@T4O4Y(B. ->> M-x text mode<Return>$(C@;(B $(CCD(B $(C:8=J=C?@(B. - -$(CAv1]1nAv(B $(C9h?n(B $(C@L8F=:(B $(C8m7I5i@:(B $(C89@L(B $(C4^6sAvAv(B $(C>J@84O(B $(C0FA$GOAv(B $(C>J>F55(B -$(C5K4O4Y(B. $(C1W7/3*(B M-f$(C?M(B M-b$(C0!(B $(C>U@[@:5{?HG%8&(B $(C398;@G(B $(C@O:N7N(B $(CC38.GT@;(B -$(C0|B{GR(B $(C<v(B $(C@V@;(B $(C0M@T4O4Y(B. $(C@|?!(B Fundamental $(C9f=D?!<-4B(B M-f$(C?M(B M-b$(C0!(B -$(C>U@[@:5{?HG%8&(B $(C398;(B $(C:P8.(B $(C9.@Z7N(B $(CCk1^GO?4=@4O4Y(B. - -$(CAV(B $(C9f=D@:(B $(C:8Ek(B $(C4Y@=0z(B $(C00@:(B $(C9L9&GQ(B $(C:/H-8&(B $(CCJ7!GU4O4Y(B: $(C4k:N:P@G(B $(C8m7I5i@:(B -$(C0"0"@G(B $(CAV(B $(C9f=D?!<-(B "$(C00@:(B $(C@O(B"$(C@;(B $(CGOAv88(B $(C>`0#(B $(C4Y8#0T(B $(C@[5?GQ4Y(B. - -$(CGv@g@G(B $(CAV(B $(C9f=D?!(B $(C4kGQ(B $(C9.<-H-8&(B $(C:80m@Z(B $(CGO8i(B C-h m$(C@;(B $(CD!=J=C?@(B. - ->> C-u C-v$(C8&(B $(C8n(B $(C9x(B $(CCD<-(B $(C@L(B $(CAY@;(B $(CH-8i@G(B $(C2@4k1bBk@87N(B $(C?rAw@L=J=C?@(B. ->> C-h m$(C@;(B $(CCD<-(B Text $(C9f=D0z(B Fundamental $(C9f=D@G(B $(CBw@LA!@;(B $(C:8=J=C?@(B. ->> C-x 1$(C@;(B $(CCD<-(B $(C9.<-H-8&(B $(CH-8i?!<-(B $(C>x>V=J=C?@(B. - -$(CAV(B $(C9f=D@:(B $(C:N(B $(C9f=D@L(B $(C@V1b(B $(C6'9.?!(B $(CAV(B $(C9f=D@L6s0m(B $(C:N8(4O4Y(B. $(C:N(B $(C9f=D@:(B $(CAV(B -$(C9f=D@;(B $(C13C<GR(B $(C<v(B $(C@V4B(B $(C0M@L(B $(C>F4O6s(B $(CAV(B $(C9f=D@;(B $(C:NBw@{@87N(B $(C<vA$GQ(B -$(C9f=D@T4O4Y(B. $(C0"0"@G(B $(C:N(B $(C9f=D@:(B $(C4Y8%(B $(C:N(B $(C9f=D0z(B $(C5683@{@87N(B, $(C1W8.0m(B $(CAV(B -$(C9f=D0z55(B $(C5683@{@87N(B, $(C1W(B $(C@ZC<7N<-(B $(C2t0m(B $(CDS(B $(C<v(B $(C@V=@4O4Y(B. $(C1W7/9G7N(B $(C:N(B -$(C9f=D@:(B $(C>2Av(B $(C>J@;(B $(C<v55(B $(C@V0m(B $(CGO3*88(B $(C>5(B $(C<v55(B $(C@V@88i(B $(C?)7/(B $(C:N(B $(C9f=D@;(B -$(CB%8BCg<-(B $(C>5(B $(C<v55(B $(C@V=@4O4Y(B. - -$(C>FAV(B $(C@/?kGQ(B $(C:N(B $(C9f=DA_(B, $(CGQ1[(B $(C1[?y@;(B $(CFmA}GR(B $(C6'(B $(C@ZAV(B $(C;g?k5G4B(B Auto Fill -$(C9f=D@L(B $(C@V=@4O4Y(B. $(C@L(B $(C9f=D@L(B $(CDQA.(B $(C@V@;(B $(C6'(B $(C@L8F=:4B(B, $(CAY@L(B $(C3J9+(B $(C3P>nAv8i(B -$(C1[?y@L(B $(C3"?vA|?!(B $(C5{6s(B $(C398;;g@L?!<-(B $(C@Z5?@87N(B $(CAY9Y2^@;(B $(CGU4O4Y(B. - -Auto Fill $(C9f=D@;(B $(CDQ1b(B $(C@'GX<-4B(B M-x auto-fill-mode<Return>$(C@;(B $(CD(4O4Y(B. -$(C@L(B $(C9f=D@L(B $(CDQA.(B $(C@V@88i(B M-x auto-fill-mode<Return>$(C@;(B $(CCD<-(B $(C2x(B $(C<v(B -$(C@V=@4O4Y(B. $(C@L(B $(C9f=D@L(B $(C2(A.(B $(C@V@88i(B $(C@L(B $(C8m7I@:(B $(C1W(B $(C9f=D@;(B $(CDQ0m(B, $(C9]4k7N(B $(CDQA.(B -$(C@V@;(B $(C6'4B(B $(C@L(B $(C9f=D@;(B $(C2|4O4Y(B. $(C?l8.4B(B $(C@L(B $(C8m7I@L(B "$(C9f=D@;(B $(C6H5|(B"$(CGQ4Y0m(B -(toggle) $(CGU4O4Y(B. - ->> M-x auto fill mode<Return>$(C@;(B $(CAv1](B $(CCD(B $(C:8=J=C?@(B. $(C1W8.0m(B "asdf "$(C6s4B(B - $(CAY@;(B $(C0h<S(B $(C3"?v(B $(C3V>n<-(B $(C1W(B $(CAY@L(B $(C5Q7N(B $(C3*45557O(B $(CGO=J=C?@(B. Auto Fill - $(C9f=D@:(B $(C0x0#(B $(C9.@Z?!<-88(B $(CAY9Y2^@;(B $(CGO1b(B $(C6'9.?!(B $(C2@(B $(C0x0#(B $(C9.@Z0!(B $(C5i>n(B - $(C@V>n>_(B $(CGU4O4Y(B. - -$(CGQ0h4B(B $(C:8Ek(B 70$(C03@G(B $(C9.@Z7N(B $(CA$GXA.(B $(C@VAv88(B C-x f $(C8m7I@87N(B $(C1W(B $(C0M@;(B $(C:/0fGR(B -$(C<v(B $(C@V=@4O4Y(B. $(C?xGO4B(B $(CGQ0h(B $(C<3A$@:(B $(C<}@Z(B $(C@N<v7N(B $(CGO?)>_(B $(CGU4O4Y(B. - ->> 20$(C@L6s4B(B $(C@N<v7N(B C-x f$(C8&(B $(CCD(B $(C:8=J=C?@(B. (C-u 2 0 C-x f). - $(C1W8.0m(B $(C1[?y@;(B $(C9:0!(B $(CCD<-(B $(C@L8F=:0!(B 20$(C03@G(B $(C9.@Z7N(B $(CGQ(B $(CAY@;(B $(CC$?l4BAv8&(B - $(C:8=J=C?@(B. $(C1W71(B $(C4Y@=?!(B C-x f$(C8&(B $(C4Y=C(B $(C=a<-(B $(CGQ0h8&(B 70$(C@87N(B $(C@g(B - $(C<3A$GO=J=C?@(B. - -$(C4\6t@G(B $(CA_0#?!<-(B $(C:/0fGO8i(B Auto Fill $(C9f=D@:(B $(CC$?r@;(B $(C4Y=C(B $(CGOAv(B -$(C>J=@4O4Y(B. $(C1W(B $(C4\6t@;(B $(C4Y=C(B $(CC$?l1b(B $(C@'GX<-4B(B $(C1t9Z@L0!(B $(C4\6t(B $(C>H?!(B $(C@V4B(B -$(C;sEB?!<-(B M-q (Meta$(C<h(B-q)$(C8&(B $(CD(4O4Y(B. - ->> $(C1t9Z@L8&(B $(C@L@|(B $(C4\6t@87N(B $(C?rAw@N(B $(CHD(B M-q$(C8&(B $(CD!=J=C?@(B. - -* $(CC#1b(B +이 줄에는 이맥스나 편집하고 있는 글월의 상황에 대한 유용한 정보가 +간직되어 있습니다. + +파일 이름이 무엇을 의미하는지는 이미 알고 있습니다--그 것은 찾았던 +파일입니다. -NN%--는 글월에서의 현재 위치를 가리킵니다; 이는 화면 +꼭대기 위로 NN 퍼센트의 글월이 있음을 의미합니다. 파일의 꼭대기가 +화면에 있으면 --00%-- 대신에 --Top--이라고 표시됩니다. 글월의 +밑바닥이 화면에 있으면 --Bot--이라고 표시됩니다. 글월이 아주 작아서 +모든 내용이 화면에 다 나타나면 방식 줄에는 --All--이라고 표시됩니다. + +거의 앞부분에 있는 별 문자들은 글월이 변경되었음을 의미합니다. 파일 +방문 직후나 갈무리 직후에는 그 곳에 별 문자가 없고 대시 문자만 +있습니다. + +방식 줄의 괄호 문자안은 어떤 편집 방식을 사용하고 있는가를 +알려줍니다. 애초 방식은 Fundamental로서 지금 사용되고 있는 +방식입니다. 이는 "주 방식"의 한 예입니다. + +이맥스에는 주 방식이 많이 있습니다. 그 중 몇가지는 다른 언어 또/또는 +다른 종류의 글월을 편집하도록 하는데 쓰이며, Lisp 방식, Text 방식 +등등이 있습니다. 항상 한 가지 주 방식만이 적용되며 지금 +"Fundamental"이라고 적혀 있는 곳에 표시됩니다. + +각각의 주 방식은 몇몇 명령들이 작동을 달리하도록 되어 있습니다. 예를 +들어, 프로그램에는 설명문을 만드는 명령이 있는데, 프로그램 언어들은 +설명문의 형태을 각각 달리 하기 때문에 각각의 주 방식은 설명문을 서로 +다르게 끼워 넣도록 되어 있습니다. 모든 주 방식은 확장 명령의 이름을 +사용하므로서 그 방식으로 엇바꾸는 것이 쉽게 인식될 수 있습니다. 한 +예로 M-x fundamental-mode는 Fundamental 방식으로 엇바꾸는 명령입니다. + +이 파일과 같은 한글 글월을 편집하려고 한다면 Text 방식을 쓰는 것이 +좋을 것입니다. +>> M-x text mode<Return>을 쳐 보십시오. + +지금까지 배운 이맥스 명령들은 많이 달라지지 않으니 걱정하지 않아도 +됩니다. 그러나 M-f와 M-b가 앞작은따옴표를 낱말의 일부로 처리함을 +관찰할 수 있을 것입니다. 전에 Fundamental 방식에서는 M-f와 M-b가 +앞작은따옴표를 낱말 분리 문자로 취급하였습니다. + +주 방식은 보통 다음과 같은 미묘한 변화를 초래합니다: 대부분의 명령들은 +각각의 주 방식에서 "같은 일"을 하지만 약간 다르게 작동한다. + +현재의 주 방식에 대한 문서화를 보고자 하면 C-h m을 치십시오. + +>> C-u C-v를 몇 번 쳐서 이 줄을 화면의 꼭대기쯤으로 움직이십시오. +>> C-h m을 쳐서 Text 방식과 Fundamental 방식의 차이점을 보십시오. +>> C-x 1을 쳐서 문서화를 화면에서 없애십시오. + +주 방식은 부 방식이 있기 때문에 주 방식이라고 부릅니다. 부 방식은 주 +방식을 교체할 수 있는 것이 아니라 주 방식을 부차적으로 수정한 +방식입니다. 각각의 부 방식은 다른 부 방식과 독립적으로, 그리고 주 +방식과도 독립적으로, 그 자체로서 끄고 켤 수 있습니다. 그러므로 부 +방식은 쓰지 않을 수도 있고 하나만 쓸 수도 있으면 여러 부 방식을 +짜맞춰서 쓸 수도 있습니다. + +아주 유용한 부 방식중, 한글 글월을 편집할 때 자주 사용되는 Auto Fill +방식이 있습니다. 이 방식이 켜져 있을 때 이맥스는, 줄이 너무 넓어지면 +글월이 끼워짐에 따라 낱말사이에서 자동으로 줄바꿈을 합니다. + +Auto Fill 방식을 켜기 위해서는 M-x auto-fill-mode<Return>을 칩니다. +이 방식이 켜져 있으면 M-x auto-fill-mode<Return>을 쳐서 끌 수 +있습니다. 이 방식이 꺼져 있으면 이 명령은 그 방식을 켜고, 반대로 켜져 +있을 때는 이 방식을 끕니다. 우리는 이 명령이 "방식을 똑딱"한다고 +(toggle) 합니다. + +>> M-x auto fill mode<Return>을 지금 쳐 보십시오. 그리고 "asdf "라는 + 줄을 계속 끼워 넣어서 그 줄이 둘로 나뉘도록 하십시오. Auto Fill + 방식은 공간 문자에서만 줄바꿈을 하기 때문에 꼭 공간 문자가 들어 + 있어야 합니다. + +한계는 보통 70개의 문자로 정해져 있지만 C-x f 명령으로 그 것을 변경할 +수 있습니다. 원하는 한계 설정은 숫자 인수로 하여야 합니다. + +>> 20이라는 인수로 C-x f를 쳐 보십시오. (C-u 2 0 C-x f). + 그리고 글월을 뭔가 쳐서 이맥스가 20개의 문자로 한 줄을 채우는지를 + 보십시오. 그런 다음에 C-x f를 다시 써서 한계를 70으로 재 + 설정하십시오. + +단락의 중간에서 변경하면 Auto Fill 방식은 채움을 다시 하지 +않습니다. 그 단락을 다시 채우기 위해서는 깜박이가 단락 안에 있는 +상태에서 M-q (Meta쇠-q)를 칩니다. + +>> 깜박이를 이전 단락으로 움직인 후 M-q를 치십시오. + +* 찾기 ------ -$(C@L8F=:4B(B $(C1[?y@G(B $(C>UBJ@L3*(B $(C5^BJ@87N(B $(C9.@Z?-@;(B ($(C9.@Z?-@:(B $(C?,<S5H(B $(C9.@Z3*(B -$(C?,<S5H(B $(C398;@T4O4Y(B) $(CC#@;(B $(C<v(B $(C@V=@4O4Y(B. $(C9.@Z?-@;(B $(CC#4B(B $(C0M@:(B $(C1t9Z@L8&(B -$(C?rAw@L4B(B $(C8m7I@T4O4Y(B; $(C1t9Z@L0!(B $(C1W(B $(C9.@Z?-@L(B $(C3*E83*4B(B $(C0w@87N(B $(C?rAw@T4O4Y(B. - -$(C@L8F=:@G(B $(CC#1b(B $(C8m7I@:(B "$(CAu0!@{(B"$(C@L6s4B(B $(CA!?!<-(B $(C@O9](B $(CFmA}1b@G(B $(CC#1b(B $(C8m7I0z(B -$(C4Y8(4O4Y(B. $(C@L4B(B $(CC#0m@Z(B $(CGO4B(B $(C9.@Z?-@;(B $(CE8@ZGO0m(B $(C@V4B(B $(C5?>H?!(B $(CC#1b0!(B -$(C@L7g>nAv0m(B $(C@V4Y4B(B $(C0M@;(B $(C@G9LGU4O4Y(B. - -$(CC#1b8&(B $(C=C@[=CE04B(B $(C8m7I@:(B $(C>UBJ@87N(B $(CC#1b0!(B C-s$(C@L0m(B $(C5^BJ@87N(B $(CC#1b0!(B -C-r$(C@T4O4Y(B. $(C1W7/3*(B $(C@a1q(B $(C1b4Y8.=J=C?@(B! $(CAv1](B $(C@L0M@;(B $(C=C55GX(B $(C:8Av(B -$(C86=J=C?@(B. - -C-s$(C8&(B $(CD!8i(B $(C8^>F8.(B $(CEM?!(B, $(C1f@b@L7N(B "I-search"$(C6s4B(B $(C9.@Z?-@L(B $(C3*E83*4B(B $(C0M@;(B -$(C:<(B $(C<v(B $(C@V=@4O4Y(B. $(C@L4B(B $(CC#0m@Z(B $(CGO4B(B $(C9.@Z?-@L(B $(CE8@Z5G1b8&(B $(C1b4Y6s8i<-(B -$(C@L8F=:0!(B $(CAu0!@{(B $(CC#1b(B $(CA_?!(B $(C@V4Y4B(B $(C0M@;(B $(C8;GX(B $(CA]4O4Y(B. <Return>$(C@:(B $(CC#1b8&(B -$(C86D(4O4Y(B. - ->> $(C@LA&(B C-s$(C8&(B $(CCD<-(B $(CC#1b8&(B $(C=C@[GO=J=C?@(B. $(CC5C5Hw(B, $(CGQ(B $(C9x?!(B $(CGQ(B $(C1[@Z>?(B - 'cursor'$(C6s0m(B $(CD!8i<-(B $(C0"0"@G(B $(C9.@Z8&(B $(CD#(B $(CHD(B $(C1t9Z@L?!(B $(C>n62(B $(C@O@L(B $(C@O>n(B - $(C3*4B0!8&(B $(C@/@GGO=J=C?@(B. - $(C@LA&(B "cursor"$(C8&(B $(CGQ(B $(C9x(B $(CC#@:(B $(C0M@T4O4Y(B. ->> C-s$(C8&(B $(C4Y=C(B $(CCD<-(B $(C4Y@=?!(B $(C3*E83*4B(B "cursor"$(C8&(B $(CC#@8=J=C?@(B. ->> $(C@Z(B, $(C@LA&4B(B <Delete>$(C8&(B $(C3W(B $(C9x(B $(CCD<-(B $(C1t9Z@L0!(B $(C>n6;0T(B $(C?rAw@L4B0!8&(B - $(C:8=J=C?@(B. ->> <Return>$(C@;(B $(CCD<-(B $(CC#1b8&(B $(C3!3;=J=C?@(B. - -$(C>n62(B $(CGv;s@L(B $(C@O>n3*4BAv8&(B $(C:8>R=@4O1n(B? $(CAu0!@{(B $(CC#1b?!<-(B $(C@L8F=:4B(B $(C1W6'1nAv(B -$(CE8@ZGQ(B $(C9.@Z?-@;(B $(CC#@87A0m(B $(CGU4O4Y(B. '$(C1t9Z@L(B'$(C0!(B $(C@V4B(B $(C4Y@=(B $(C@e<R7N(B $(C0!7A8i(B -C-s$(C8&(B $(C4Y=C(B $(CD(4O4Y(B. $(C1W71(B $(C0w@L(B $(C>x@88i(B $(C@L8F=:4B(B $(C;`<R8.8&(B $(C3;0m(B $(CC#1b0!(B $(CGv@g(B -"$(C=GFP(B"$(CG_@=@;(B $(C>K7A(B $(CAV8g(B C-g$(C7N55(B $(CC#1b8&(B $(C3!3>(B $(C<v(B $(C@V0T(B $(CGU4O4Y(B. - -$(C@/@G(B: $(C>n62(B $(C?n?5(B $(CC<0h?!<-4B(B C-s$(C8&(B $(CD!8i(B $(CH-8i@;(B $(C5?0a=CDQ<-(B, $(C@L8F=:0!(B $(C>F9+(B -$(CCb7B55(B $(CGOAv(B $(C>J4B(B $(C0M@;(B $(C:<(B $(C0f?l0!(B $(C@V=@4O4Y(B. $(C@L0M@:(B "$(CHe8'(B $(CA&>n(B"$(C6s0m(B -$(C:R8.?l4B(B $(C?n?5(B $(CC<0h@G(B "$(CF/B!(B"$(C@L(B C-s$(C8&(B $(C0!7NC$<-(B $(C@L8F=:8&(B $(CEkGX(B $(C@|4^5GAv(B -$(C>J557O(B $(CGO1b(B $(C6'9.@T4O4Y(B. C-q$(C8&(B $(C4)8#8i(B $(CH-8i@L(B $(CGXA&5K4O4Y(B. $(C1W8.0m(B $(C3*<-(B -$(C@L8F=:(B $(C<38m<-@G(B "Spontaneous Entry to Incremental Search"$(C6s4B(B $(C4\?x@;(B -$(C:88i(B $(C@L71(B "$(CF/B!(B"$(C@;(B $(C>n6;0T(B $(CCk1^GR(B $(C<v(B $(C@V4B0!?!(B $(C4kGQ(B $(CA6>p@;(B $(C@P@;(B $(C<v(B -$(C@V=@4O4Y(B. - -$(CAu0!@{(B $(CC#1b(B $(C55A_?!(B <Delete>$(C8&(B $(CD!8i(B $(CC#1b(B $(C9.@Z?-@G(B $(C86Av87(B $(C9.@Z0!(B -$(CAv?vAv0m(B $(CC#1b4B(B $(C86Av87@87N(B $(CC#>R4x(B $(C0w?!(B $(C5G59>F(B $(C0!4B(B $(C0M@;(B $(C:<(B $(C<v(B -$(C@V=@4O4Y(B. $(C?98&(B $(C5i>n(B, "c"$(C0!(B $(C>n5p?!(B $(CC3@=@87N(B $(C3*?@4BAv8&(B $(C:81b(B $(C@'GX<-(B -"c"$(C8&(B $(CCF4Y0m(B $(CGU=C4Y(B. $(C@LA&(B "u"$(C8&(B $(CD!8i(B $(C1t9Z@L4B(B "cu"$(C0!(B $(CC3@=@87N(B $(C3*?@4B(B -$(C0w@87N(B $(C?rAw@O(B $(C0M@T4O4Y(B. $(C@LA&(B <Delete>$(C8&(B $(CD!=J=C?@(B. $(C1W7/8i(B $(CC#1b(B -$(C9.@Z?-?!<-(B "u"$(C0!(B $(CAv?vAv0m(B $(C1t9Z@L4B(B "c"$(C0!(B $(CC3@=(B $(C3*?B(B $(C0w@87N(B $(C5G59>F(B -$(C0)4O4Y(B. - -$(CC#1bA_?!(B $(CA&>n(B $(C9.@Z3*(B meta $(C9.@Z8&(B $(CD!8i(B ($(C?9?\0!(B $(C@VAv88(B--$(CC#1b?!<-(B $(CF/:0GQ(B -$(C@G9L8&(B $(C0.4B(B C-s$(C3*(B C-r$(C0z(B $(C00@:(B $(C9.@Z5i(B) $(CC#1b4B(B $(C3!3*9v834O4Y(B. - -C-s$(C4B(B $(C1t9Z@L@G(B $(CGv@g(B $(C@'D!(B $(C4Y@=?!(B $(C9_0_5G4B(B $(CC#1b(B $(C9.@Z?-@;(B $(CC#557O(B -$(C=C@[=CE54O4Y(B. $(C@L@|?!(B $(C3*?B(B $(C1[?y?!<-(B $(C9+>p0!8&(B $(CC#@87A8i(B C-r$(C8&(B $(CD(4O4Y(B. -C-s$(C?!(B $(C@{?k5G4B(B $(C8p5g(B $(C;gGW@:(B $(C9fGb88(B $(C9Y2n>z@;(B $(C;S(B $(C8p5N(B C-r$(C?!(B $(C@{?k5K4O4Y(B. - -* $(C4YA_(B $(CC"(B +이맥스는 글월의 앞쪽이나 뒷쪽으로 문자열을 (문자열은 연속된 문자나 +연속된 낱말입니다) 찾을 수 있습니다. 문자열을 찾는 것은 깜박이를 +움직이는 명령입니다; 깜박이가 그 문자열이 나타나는 곳으로 움직입니다. + +이맥스의 찾기 명령은 "증가적"이라는 점에서 일반 편집기의 찾기 명령과 +다릅니다. 이는 찾고자 하는 문자열을 타자하고 있는 동안에 찾기가 +이루어지고 있다는 것을 의미합니다. + +찾기를 시작시키는 명령은 앞쪽으로 찾기가 C-s이고 뒷쪽으로 찾기가 +C-r입니다. 그러나 잠깐 기다리십시오! 지금 이것을 시도해 보지 +마십시오. + +C-s를 치면 메아리 터에, 길잡이로 "I-search"라는 문자열이 나타나는 것을 +볼 수 있습니다. 이는 찾고자 하는 문자열이 타자되기를 기다라면서 +이맥스가 증가적 찾기 중에 있다는 것을 말해 줍니다. <Return>은 찾기를 +마칩니다. + +>> 이제 C-s를 쳐서 찾기를 시작하십시오. 천천히, 한 번에 한 글자씩 + 'cursor'라고 치면서 각각의 문자를 친 후 깜박이에 어떤 일이 일어 + 나는가를 유의하십시오. + 이제 "cursor"를 한 번 찾은 것입니다. +>> C-s를 다시 쳐서 다음에 나타나는 "cursor"를 찾으십시오. +>> 자, 이제는 <Delete>를 네 번 쳐서 깜박이가 어떻게 움직이는가를 + 보십시오. +>> <Return>을 쳐서 찾기를 끝내십시오. + +어떤 현상이 일어나는지를 보았습니까? 증가적 찾기에서 이맥스는 그때까지 +타자한 문자열을 찾으려고 합니다. '깜박이'가 있는 다음 장소로 가려면 +C-s를 다시 칩니다. 그런 곳이 없으면 이맥스는 삑소리를 내고 찾기가 현재 +"실패"했음을 알려 주며 C-g로도 찾기를 끝낼 수 있게 합니다. + +유의: 어떤 운영 체계에서는 C-s를 치면 화면을 동결시켜서, 이맥스가 아무 +출력도 하지 않는 것을 볼 경우가 있습니다. 이것은 "흐름 제어"라고 +불리우는 운영 체계의 "특징"이 C-s를 가로채서 이맥스를 통해 전달되지 +않도록 하기 때문입니다. C-q를 누르면 화면이 해제됩니다. 그리고 나서 +이맥스 설명서의 "Spontaneous Entry to Incremental Search"라는 단원을 +보면 이런 "특징"을 어떻게 취급할 수 있는가에 대한 조언을 읽을 수 +있습니다. + +증가적 찾기 도중에 <Delete>를 치면 찾기 문자열의 마지막 문자가 +지워지고 찾기는 마지막으로 찾았던 곳에 되돌아 가는 것을 볼 수 +있습니다. 예를 들어, "c"가 어디에 처음으로 나오는지를 보기 위해서 +"c"를 쳤다고 합시다. 이제 "u"를 치면 깜박이는 "cu"가 처음으로 나오는 +곳으로 움직일 것입니다. 이제 <Delete>를 치십시오. 그러면 찾기 +문자열에서 "u"가 지워지고 깜박이는 "c"가 처음 나온 곳으로 되돌아 +갑니다. + +찾기중에 제어 문자나 meta 문자를 치면 (예외가 있지만--찾기에서 특별한 +의미를 갖는 C-s나 C-r과 같은 문자들) 찾기는 끝나버립니다. + +C-s는 깜박이의 현재 위치 다음에 발견되는 찾기 문자열을 찾도록 +시작시킵니다. 이전에 나온 글월에서 무언가를 찾으려면 C-r를 칩니다. +C-s에 적용되는 모든 사항은 방향만 바뀌었을 뿐 모두 C-r에 적용됩니다. + +* 다중 창 --------- -$(C@L8F=:@G(B $(C1&Bz@:(B $(CF/B!(B $(CA_@G(B $(CGO3*7N(B $(CGQ(B $(C03(B $(C@L;s@G(B $(CC"@;(B $(C5?=C?!(B $(CH-8i?!(B $(CG%=CGR(B -$(C<v(B $(C@V4Y4B(B $(C0M@;(B $(C5i(B $(C<v(B $(C@V=@4O4Y(B. +이맥스의 괜찮은 특징 중의 하나로 한 개 이상의 창을 동시에 화면에 표시할 +수 있다는 것을 들 수 있습니다. ->> $(C1t9Z@L8&(B $(C@L(B $(CAY7N(B $(C?rAw?)<-(B C-u 0 C-l$(C@;(B $(CCD(B $(C:8=J=C?@(B. +>> 깜박이를 이 줄로 움직여서 C-u 0 C-l을 쳐 보십시오. ->> C-x 2$(C8&(B $(CCD<-(B $(CH-8i@;(B $(C5N(B $(CC"@87N(B $(C3*4)=J=C?@(B. - $(C5N(B $(CC"@:(B $(C@L(B $(CAvD'<-8&(B $(CH-8i(B $(CG%=CGU4O4Y(B. $(C1t9Z@L4B(B $(C@-(B $(CC"?!(B $(C@V=@4O4Y(B. +>> C-x 2를 쳐서 화면을 두 창으로 나누십시오. + 두 창은 이 지침서를 화면 표시합니다. 깜박이는 윗 창에 있습니다. ->> C-M-v$(C8&(B $(CCD<-(B $(C9Y4Z(B $(CC"@;(B $(C5N7g8;1b(B $(CGO=J=C?@(B. - (Meta$(C<h0!(B $(C>x@88i(B ESC C-v$(C8&(B $(CD!=J=C?@(B.) +>> C-M-v를 쳐서 바닥 창을 두루말기 하십시오. + (Meta쇠가 없으면 ESC C-v를 치십시오.) ->> C-x o ("o"$(C4B(B "other"$(C@G(B $(CC9(B $(C1[@Z(B)$(C8&(B $(CCD<-(B $(C1t9Z@L8&(B $(C9Y4Z(B $(CC"@87N(B - $(C?rAw@L=J=C?@(B. ->> $(C9Y4Z(B $(CC"?!<-(B C-v$(C?M(B M-v$(C8&(B $(C=a<-(B $(C5N7g8;1b(B $(CGO=J=C?@(B. - $(C@L(B $(CAv=C8&(B $(C@P4B(B $(C0M@:(B $(C2@4k1b(B $(CC"?!<-(B $(CGU4O4Y(B. +>> C-x o ("o"는 "other"의 첫 글자)를 쳐서 깜박이를 바닥 창으로 + 움직이십시오. +>> 바닥 창에서 C-v와 M-v를 써서 두루말기 하십시오. + 이 지시를 읽는 것은 꼭대기 창에서 합니다. ->> C-x o$(C8&(B $(C4Y=C(B $(CCD<-(B $(C1t9Z@L8&(B $(C4Y=C(B $(C2@4k1b(B $(CC"@87N(B $(C?rAw@L=J=C?@(B. - $(C2@4k1b(B $(CC"?!<-(B, $(C1t9Z@L4B(B $(C@|?!(B $(C@V4x(B $(C0w@87N(B $(C0%(B $(C0M@T4O4Y(B. +>> C-x o를 다시 쳐서 깜박이를 다시 꼭대기 창으로 움직이십시오. + 꼭대기 창에서, 깜박이는 전에 있던 곳으로 갈 것입니다. -C-x o$(C8&(B $(C0h<S(B $(C;g?kGO?)(B $(CC"5i(B $(C;g@L?!<-(B $(C>y9Y2Y1b8&(B $(CGR(B $(C<v(B $(C@V=@4O4Y(B. $(C0"0"@G(B -$(CC"@:(B $(C@ZC<@G(B $(C1t9Z@L(B $(C@'D!8&(B $(C0.0m(B $(C@VAv88(B $(CGQ(B $(CC"88@L(B $(C1t9Z@L8&(B $(C:8?)(B $(CA]4O4Y(B. -$(C8p5g(B $(CA$;s@{@N(B $(CFmA}(B $(C8m7I@:(B $(C1t9Z@L0!(B $(C@V4B(B $(CC"?!(B $(C@{?k5K4O4Y(B. $(C@L0M@;(B -"$(C<1EC5H(B $(CC"(B"$(C@L6s0m(B $(C:N8(4O4Y(B. +C-x o를 계속 사용하여 창들 사이에서 엇바꾸기를 할 수 있습니다. 각각의 +창은 자체의 깜박이 위치를 갖고 있지만 한 창만이 깜박이를 보여 줍니다. +모든 정상적인 편집 명령은 깜박이가 있는 창에 적용됩니다. 이것을 +"선택된 창"이라고 부릅니다. -C-M-v $(C8m7I@:(B $(C4Y8%(B $(CC"@;(B $(CB|A6GO8i<-(B $(C1[?y@;(B $(CFmA}GR(B $(C6'(B $(C@/?kGU4O4Y(B. -$(C1t9Z@L8&(B $(CFmA}GO0m(B $(C@V4B(B $(CC"?!(B $(C5N0m(B $(C4Y8%(B $(CC"@;(B C-M-v$(C7N(B $(C@|Ax=CE3(B $(C<v(B -$(C@V=@4O4Y(B. +C-M-v 명령은 다른 창을 참조하면서 글월을 편집할 때 유용합니다. +깜박이를 편집하고 있는 창에 두고 다른 창을 C-M-v로 전진시킬 수 +있습니다. -C-M-v$(C4B(B CONTROL-META $(C9.@Z@G(B $(CGQ(B $(C?9@T4O4Y(B. META$(C<h0!(B $(C@V@88i(B CONTROL$(C<h?M(B -META$(C<h8&(B $(C4)8%(B $(CC$(B v $(C1[<h8&(B $(CD!9G7N=a(B C-M-v$(C8&(B $(CD%(B $(C<v(B $(C@V=@4O4Y(B. CONTROL$(C<h3*(B -META$(C<h4B(B $(CE8@ZGO4B(B $(C9.@Z8&(B $(C:/0fGO4B(B $(C?*GR@;(B $(CGO1b(B $(C6'9.?!(B $(C1W(B $(C5Q(B $(CA_(B $(C9+>y@L(B -$(CC3@=?!(B $(C?@4B0!0!(B $(C9.A&5GAv(B $(C>J=@4O4Y(B. +C-M-v는 CONTROL-META 문자의 한 예입니다. META쇠가 있으면 CONTROL쇠와 +META쇠를 누른 채 v 글쇠를 치므로써 C-M-v를 칠 수 있습니다. CONTROL쇠나 +META쇠는 타자하는 문자를 변경하는 역할을 하기 때문에 그 둘 중 무엇이 +처음에 오는가가 문제되지 않습니다. -META$(C<h0!(B $(C>x>n<-(B ESC$(C<h7N(B $(C4k?kGR(B $(C6'4B(B $(C<x<-0!(B $(C9.A&5K4O4Y(B: ESC$(C<h8&(B $(C8U@z(B -$(CD!0m(B $(CA&>n<h(B-v$(C8&(B $(CCD>_(B $(CGO8g(B $(CA&>n<h(B-ESC v$(C4B(B $(C@[5?GOAv(B $(C>J=@4O4Y(B. $(C1W(B -$(C@L@/4B(B ESC$(C@L(B $(C:/0f<h0!(B $(C>F4O6s(B $(C@ZC<7N<-(B $(C1b4I@;(B $(C0!Ax(B $(C9.@Z@L1b(B $(C6'9.@T4O4Y(B. +META쇠가 없어서 ESC쇠로 대용할 때는 순서가 문제됩니다: ESC쇠를 먼저 +치고 제어쇠-v를 쳐야 하며 제어쇠-ESC v는 작동하지 않습니다. 그 +이유는 ESC이 변경쇠가 아니라 자체로서 기능을 가진 문자이기 때문입니다. ->> C-x 1$(C@;(B ($(C@L(B $(C2@4k1b(B $(CC"?!<-(B) $(CCD<-(B $(C9Y4Z(B $(CC"@;(B $(C>x>V=J=C?@(B. +>> C-x 1을 (이 꼭대기 창에서) 쳐서 바닥 창을 없애십시오. -($(C9Y4Z(B $(CC"?!<-(B C-x 1$(C@;(B $(CD!8i(B $(C2@4k1b(B $(CC"@L(B $(C>x>nAz(B $(C0M@T4O4Y(B. $(C@L(B $(C8m7I@;(B "$(CGQ(B -$(CC"88(B $(C:8A8GO=C?@(B--$(CAv1](B $(C@[>wA_@N(B $(CC"88(B"$(C@L6s0m(B $(C;}0"GO=J=C?@(B.) +(바닥 창에서 C-x 1을 치면 꼭대기 창이 없어질 것입니다. 이 명령을 "한 +창만 보존하시오--지금 작업중인 창만"이라고 생각하십시오.) -$(C>gBJ(B $(CC"?!(B $(C00@:(B $(C;g@LD-@;(B $(CH-8i(B $(CG%=CGR(B $(CGJ?d4B(B $(C>x=@4O4Y(B. $(CGQ(B $(CC"?!<-(B C-x -C-f$(C7N(B $(CFD@O@;(B $(CC#@88i(B $(C4Y8%(B $(CC"@:(B $(C:/H-0!(B $(C>x=@4O4Y(B. $(C0"0"@G(B $(CC"?!<-(B $(CFD@O@;(B -$(C5683@{@87N(B $(CC#@;(B $(C<v(B $(C@V=@4O4Y(B. +양쪽 창에 같은 사이칸을 화면 표시할 필요는 없습니다. 한 창에서 C-x +C-f로 파일을 찾으면 다른 창은 변화가 없습니다. 각각의 창에서 파일을 +독립적으로 찾을 수 있습니다. -$(C5N(B $(CC"@;(B $(C;g?kGO?)(B $(C4Y8%(B $(C3;?k@;(B $(CH-8i(B $(CG%=CGO4B(B $(C6G(B $(C4Y8%(B $(C9f9}@L(B $(C@V=@4O4Y(B: +두 창을 사용하여 다른 내용을 화면 표시하는 또 다른 방법이 있습니다: ->> C-x 4 C-f$(C8&(B $(CD!0m(B $(CFD@O(B $(C@L8'(B $(CGO3*8&(B $(CCD(B $(C:8=J=C?@(B. - <Return>$(C@87N(B $(C3!3;=J=C?@(B. $(C1W(B $(CFD@O@L(B $(C9Y4Z(B $(CC"?!(B $(C3*E83*4B(B $(C0M@;(B - $(C:8=J=C?@(B. $(C1t9Z@L55(B $(C1W(B $(C0w@87N(B $(C?rAw@T4O4Y(B. +>> C-x 4 C-f를 치고 파일 이름 하나를 쳐 보십시오. + <Return>으로 끝내십시오. 그 파일이 바닥 창에 나타나는 것을 + 보십시오. 깜박이도 그 곳으로 움직입니다. ->> C-x o$(C8&(B $(CCD<-(B $(C4Y=C(B $(C2@4k1b(B $(CC"@87N(B $(C59>F(B $(C0!<-(B C-x 1$(C7N(B $(C9Y4Z(B $(CC"@;(B - $(CAv?l=J=C?@(B. +>> C-x o를 쳐서 다시 꼭대기 창으로 돌아 가서 C-x 1로 바닥 창을 + 지우십시오. -* $(CH81M@{(B $(CFmA}(B $(C<vAX(B +* 회귀적 편집 수준 ------------------ -$(C0#H$(B "$(CH81M@{(B $(CFmA}(B $(C<vAX(B"$(C@L6s0m(B (recursive editing level) $(C:R8.?l4B(B $(C0M?!(B -$(C:@BxGO0T(B $(C5K4O4Y(B. $(C9f=D(B $(CAY?!<-(B $(CAV(B $(C9f=D(B $(C@L8'@G(B $(C>U5Z?!(B $(C@V4B(B $(C<R0}H#(B $(C9.@Z8&(B -$(C4k0}H#(B $(C9.@Z0!(B $(C5Q7/(B $(C=N0m(B $(C@V@88i(B $(C@L8&(B $(C>K(B $(C<v(B $(C@V=@4O4Y(B. $(C?98&(B $(C5i>n(B, -(Fundamental) $(C4k=E?!(B [(Fundamental)]$(C@L6s0m(B $(CG%=C5I(B $(C6'(B $(C@T4O4Y(B. +간혹 "회귀적 편집 수준"이라고 (recursive editing level) 불리우는 것에 +봉착하게 됩니다. 방식 줄에서 주 방식 이름의 앞뒤에 있는 소괄호 문자를 +대괄호 문자가 둘러 싸고 있으면 이를 알 수 있습니다. 예를 들어, +(Fundamental) 대신에 [(Fundamental)]이라고 표시될 때 입니다. -$(C@L(B $(CH81M@{(B $(CFmA}(B $(C<vAX?!<-(B $(C9~>n(B $(C3*1b(B $(C@'GX<-4B(B ESC ESC ESC$(C@;(B $(CD(4O4Y(B. -$(C@L(B $(C0M@:(B $(C4Y8q@{(B "$(C9~>n3*1b(B" $(C8m7I@T4O4Y(B. $(CC_0!5H(B $(CC"@;(B $(C>x>V0E3*(B $(C@[@:(B -$(C;g@LD-?!<-(B $(C3*?@1b(B $(C@'GX<-55(B $(C;g?k5I(B $(C<v(B $(C@V=@4O4Y(B. +이 회귀적 편집 수준에서 벗어 나기 위해서는 ESC ESC ESC을 칩니다. +이 것은 다목적 "벗어나기" 명령입니다. 추가된 창을 없애거나 작은 +사이칸에서 나오기 위해서도 사용될 수 있습니다. ->> M-x$(C8&(B $(CCD<-(B $(C@[@:(B $(C;g@LD-@87N(B $(C5i>n(B $(C0!=J=C?@(B; $(C1W8.0m4B(B ESC ESC ESC$(C@;(B - $(CCD<-(B $(C:|A.(B $(C3*?@=J=C?@(B. +>> M-x를 쳐서 작은 사이칸으로 들어 가십시오; 그리고는 ESC ESC ESC을 + 쳐서 빠져 나오십시오. -C-g$(C8&(B $(C=a<-4B(B $(CH81M@{(B $(CFmA}(B $(C<vAX?!<-(B $(C9~>n3/(B $(C<v(B $(C>x=@4O4Y(B. $(C1W(B $(C@L@/4B(B C-g$(C0!(B -$(CH81M@{(B $(CFmA}(B $(C<vAX(B $(C@L3;?!<-(B $(C8m7I@L3*(B $(C@N<v8&(B $(CCk<RGO1b(B $(C@'GX(B $(C;g?k5G1b(B -$(C6'9.@T4O4Y(B. +C-g를 써서는 회귀적 편집 수준에서 벗어날 수 없습니다. 그 이유는 C-g가 +회귀적 편집 수준 이내에서 명령이나 인수를 취소하기 위해 사용되기 +때문입니다. -* $(C4u(B $(C89@:(B $(C55?r8;(B $(C>r1b(B +* 더 많은 도움말 얻기 --------------------- -$(C@L(B $(CAvD'<-?!<-4B(B $(C@L8F=:(B $(C;g?k@;(B $(C=C@[GO1b?!(B $(CCf:PGQ(B $(CA$:88&(B $(CA&0xGO7A0m(B -$(C3k7BGO?4=@4O4Y(B. $(C@L8F=:?!4B(B $(C3J9+3*(B $(C89@:(B $(C1b4I@L(B $(C@V>n<-(B $(C?)1b<-4B(B $(C8p5N(B $(C4Y(B -$(C<38mGR(B $(C<v(B $(C>x=@4O4Y(B. $(C1W7/3*(B, $(C@L8F=:?!4B(B $(C4Y8%(B $(C89@:(B $(C@/?kGQ(B $(CF/B!5i@L(B -$(C@V>n<-(B $(C@L8F=:?!(B $(C4kGX<-(B $(C4u(B $(C89@L(B $(C9h?l0m(B $(C=M@;(B $(C0M(B $(C@T4O4Y(B. $(C@L8F=:4B(B $(C@L8F=:(B -$(C8m7I?!(B $(C4kGQ(B $(C9.<-H-8&(B $(C@P@;(B $(C<v(B $(C@V4B(B $(C8m7I@;(B $(CA&0xGU4O4Y(B. $(C@L(B "$(C55?r8;(B" -$(C8m7I5i@:(B $(C8p5N(B $(CA&>n<h(B-h$(C7N(B $(C=C@[GO8g(B $(C@L(B $(C9.@Z8&(B "$(C55?r8;(B $(C9.@Z(B"$(C6s0m(B -$(C:N8(4O4Y(B. +이 지침서에서는 이맥스 사용을 시작하기에 충분한 정보를 제공하려고 +노력하였습니다. 이맥스에는 너무나 많은 기능이 있어서 여기서는 모두 다 +설명할 수 없습니다. 그러나, 이맥스에는 다른 많은 유용한 특징들이 +있어서 이맥스에 대해서 더 많이 배우고 싶을 것 입니다. 이맥스는 이맥스 +명령에 대한 문서화를 읽을 수 있는 명령을 제공합니다. 이 "도움말" +명령들은 모두 제어쇠-h로 시작하며 이 문자를 "도움말 문자"라고 +부릅니다. -$(C55?r8;(B $(CF/B!@;(B $(C;g?kGO7A8i(B C-h $(C9.@Z8&(B $(CD!0m(B $(C?xGO4B(B $(CA>7y@G(B $(C55?r8;@;(B -$(C0!8#E04B(B $(C9.@Z8&(B $(CD(4O4Y(B. $(C@|Gt(B $(C;}0"@L(B $(C>J3*8i(B C-h ?$(C8&(B $(CCD<-(B, $(C@L8F=:0!(B -$(C>n62(B $(CA>7y@G(B $(C55?r8;@;(B $(CA&0xGR(B $(C<v(B $(C@V4B0!8&(B $(C:8?)(B $(CAV557O(B $(CGO=J=C?@(B. C-h$(C8&(B -$(CD#(B $(CHD(B $(C>F9+71(B $(C55?r8;@L(B $(CGJ?d>x4Y0m(B $(CFG4\5G8i(B C-g$(C8&(B $(CCD<-(B $(CCk<RGO=J=C?@(B. +도움말 특징을 사용하려면 C-h 문자를 치고 원하는 종류의 도움말을 +가르키는 문자를 칩니다. 전혀 생각이 않나면 C-h ?를 쳐서, 이맥스가 +어떤 종류의 도움말을 제공할 수 있는가를 보여 주도록 하십시오. C-h를 +친 후 아무런 도움말이 필요없다고 판단되면 C-g를 쳐서 취소하십시오. -($(C>n62(B $(C0w?!<-4B(B C-h$(C@G(B $(C@G9L8&(B $(C:/0f=CDQ(B $(C3u=@4O4Y(B. $(C1W5i@L(B $(C8p5g(B $(C;g?k@Z?!0T(B -$(C@L785m(B $(C@O0}@{@N(B $(CA6C38&(B $(CCkGX<-4B(B $(C>J5G4B(B $(C0M@L9G7N(B $(C@L0M@:(B $(C?n?5(B $(CC<0h(B -$(C0|8.@Z?!0T(B $(C:RFrGR(B $(C<v(B $(C@V4B(B $(CCf:PGQ(B $(C1Y0E0!(B $(C5K4O4Y(B. C-h$(C0!(B $(CH-8i@G(B $(C9Y4Z?!(B -$(C55?r(B $(C>K828;@;(B $(CH-8i(B $(CG%=CGOAv(B $(C>J@88i(B $(C:RFr@L(B $(CGX0a5I(B $(C6'1nAv4B(B F1 $(C1[<h3*(B -M-x help <Return>$(C@;(B $(C4k=E(B $(C;g?kGO557O(B $(CGO=J=C?@(B.) +(어떤 곳에서는 C-h의 의미를 변경시켜 놓습니다. 그들이 모든 사용자에게 +이렇듯 일괄적인 조처를 취해서는 않되는 것이므로 이것은 운영 체계 +관리자에게 불평할 수 있는 충분한 근거가 됩니다. C-h가 화면의 바닥에 +도움 알림말을 화면 표시하지 않으면 불평이 해결될 때까지는 F1 글쇠나 +M-x help <Return>을 대신 사용하도록 하십시오.) -$(C0!@e(B $(C1b:;@{@N(B $(C55?r8;(B $(CF/B!@:(B C-h c $(C@T4O4Y(B. C-h$(C8&(B $(CD!0m(B $(C9.@Z(B c$(C8&(B $(CD#(B $(CHD(B -$(C8m7I(B $(C9.@Z3*(B $(C8m7I(B $(C<xBw(B(sequence)$(C8&(B $(CD!=J=C?@(B; $(C1W7/8i(B $(C@L8F=:4B(B $(C1W(B $(C8m7I?!(B -$(C4kGQ(B $(C>FAV(B $(C0#4\GQ(B $(C<38m@;(B $(CH-8i(B $(CG%=CGU4O4Y(B. +가장 기본적인 도움말 특징은 C-h c 입니다. C-h를 치고 문자 c를 친 후 +명령 문자나 명령 순차(sequence)를 치십시오; 그러면 이맥스는 그 명령에 +대한 아주 간단한 설명을 화면 표시합니다. ->> C-h c $(CA&>n<h(B-p$(C8&(B $(CD!=J=C?@(B. - $(C>K828;@:(B $(C4Y@=0z(B $(C00@:(B $(C=D@L>n>_(B $(CGU4O4Y(B. +>> C-h c 제어쇠-p를 치십시오. + 알림말은 다음과 같은 식이어야 합니다. C-p runs the command previous-line -$(C@L4B(B "$(C1b4I@G(B $(C@L8'(B"$(C@;(B $(C8;GX(B $(CA]4O4Y(B. $(C1b4I(B $(C@L8'@:(B $(C@L8F=:8&(B $(C@Z1b(B $(CCkGb?!(B -$(C8B0T(B $(C>20E3*(B $(CH.@eGR(B $(C6'(B $(CAV7N(B $(C;g?k5K4O4Y(B. $(C1W7/3*(B $(C1b4I(B $(C@L8'5i@:(B $(C1W(B $(C8m7I@L(B -$(C>n62(B $(C@O@;(B $(CGO4BAv8&(B $(C>K(B $(C<v(B $(C@V557O(B $(CA$GXAv1b(B $(C6'9.?!(B $(C1W5i@:(B $(C>FAV(B $(C0#4\GQ(B -$(C9.<-H-7N55(B -- $(C?)EB1nAv(B $(C9h?n(B $(C8m7I5i@;(B $(C1b>oGO4B5%(B $(CCf:PGR(B $(CA$557N(B -- -$(C;g?k5I(B $(C<v(B $(C@V=@4O4Y(B. +이는 "기능의 이름"을 말해 줍니다. 기능 이름은 이맥스를 자기 취향에 +맞게 쓰거나 확장할 때 주로 사용됩니다. 그러나 기능 이름들은 그 명령이 +어떤 일을 하는지를 알 수 있도록 정해지기 때문에 그들은 아주 간단한 +문서화로도 -- 여태까지 배운 명령들을 기억하는데 충분할 정도로 -- +사용될 수 있습니다. -C-x C-s$(C?M(B (META$(C<h3*(B EDIT$(C<h(B $(CH$@:(B $(C13C<<h0!(B $(C@V@88i(B) <ESC>v$(C?M(B $(C00@:(B $(C4YA_(B -$(C9.@Z(B $(C8m7I5i55(B C-h c$(C@G(B $(C4Y@=?!(B $(C?C(B $(C<v(B $(C@V=@4O4Y(B. +C-x C-s와 (META쇠나 EDIT쇠 혹은 교체쇠가 있으면) <ESC>v와 같은 다중 +문자 명령들도 C-h c의 다음에 올 수 있습니다. -$(CGQ(B $(C8m7I?!(B $(C4kGX(B $(C4u(B $(C@Z<<GQ(B $(CA$:88&(B $(C>r1b(B $(C@'GX<-4B(B C-h c $(C4k=E?!(B C-h k$(C8&(B -$(C;g?kGO=J=C?@(B. +한 명령에 대해 더 자세한 정보를 얻기 위해서는 C-h c 대신에 C-h k를 +사용하십시오. ->> C-h k $(CA&>n<h(B-p$(C8&(B $(CCD(B $(C:8=J=C?@(B. +>> C-h k 제어쇠-p를 쳐 보십시오. -$(C@L4B(B $(C1W(B $(C1b4I@G(B $(C@L8'0z(B $(CGT22(B $(C1W(B $(C9.<-H-8&(B $(C@L8F=:(B $(CC"?!(B $(CH-8i(B $(CG%=CGU4O4Y(B. -$(CCb7B5H(B $(C0M@;(B $(C4Y(B $(C@P>z@88i(B C-x 1$(C7N(B $(C55?r8;(B $(C1[?y@;(B $(C>x>[4O4Y(B. $(C4g@e?!(B $(C>x>Y(B -$(CGJ?d4B(B $(C>x=@4O4Y(B. $(C55?r8;(B $(C1[?y@;(B $(CB|A6GO8i<-(B $(CFmA}@;(B $(CGO4Y0!(B C-x 1$(C@;(B $(CCD55(B -$(C5K4O4Y(B. +이는 그 기능의 이름과 함께 그 문서화를 이맥스 창에 화면 표시합니다. +출력된 것을 다 읽었으면 C-x 1로 도움말 글월을 없앱니다. 당장에 없앨 +필요는 없습니다. 도움말 글월을 참조하면서 편집을 하다가 C-x 1을 쳐도 +됩니다. -$(C?)1b?!(B $(C6G4Y8%(B $(C@/?kGQ(B C-h$(C@G(B $(CC_0!(B $(C<1EC@L(B $(C@V=@4O4Y(B: +여기에 또다른 유용한 C-h의 추가 선택이 있습니다: - C-h f $(C1b4I(B $(C1b<zGO1b(B. $(C1b4I(B $(C@L8'@;(B $(CD(4O4Y(B. + C-h f 기능 기술하기. 기능 이름을 칩니다. ->> C-h f previous-line<Return>$(C@;(B $(CCD(B $(C:8=J=C?@(B. - $(C1W7/8i(B $(C@L8F=:0!(B C-p $(C8m7I@L(B $(CA&0xGO4B(B $(C1b4I?!(B $(C4kGQ(B $(C8p5g(B $(CA$:88&(B $(C@N<bGR(B - $(C0M@T4O4Y(B. +>> C-h f previous-line<Return>을 쳐 보십시오. + 그러면 이맥스가 C-p 명령이 제공하는 기능에 대한 모든 정보를 인쇄할 + 것입니다. -$(C@/;gGQ(B $(C8m7I@87N(B C-h v $(C0!(B $(C@V@88g(B $(C@L4B(B $(C@L8F=:@G(B $(CG`5?@;(B $(C@{@}GO0T(B $(CGO4B5%(B -$(C;g?k5G4B(B $(C:/<v0*?!(B $(C4kGQ(B $(C9.<-H-8&(B $(C:8?)AX4Y(B. +유사한 명령으로 C-h v 가 있으며 이는 이맥스의 행동을 적절하게 하는데 +사용되는 변수값에 대한 문서화를 보여준다. - C-h a $(C8m7I(B $(CGY=I>n(B(apropos). $(CGY=I>n8&(B $(CD!8i(B $(C@L8F=:0!(B $(C@L(B - $(CGY=I>n0!(B $(C5i>n(B $(C@V4B(B $(C8p5g(B $(C8m7I5i@G(B $(C8q7O@;(B $(C@[<:GR(B - $(C0M@T4O4Y(B. $(C@L(B $(C8m7I5i@:(B $(C8p5N(B Meta$(C<h(B-x$(C7N(B $(C:N8&(B $(C<v(B - $(C@V=@4O4Y(B. $(C>n62(B $(C8m7I5i?!(B $(C4kGX<-4B(B $(C00@:(B $(C8m7I@;(B $(C=GG`GO4B(B, - $(CGQ5N03@G(B $(C9.@Z7N(B $(C5H(B $(C<xBw?!(B $(C4kGQ(B $(C8q7O55(B $(C8m7I(B $(CGY=I>n0!(B - $(C@[<:GU4O4Y(B. + C-h a 명령 핵심어(apropos). 핵심어를 치면 이맥스가 이 + 핵심어가 들어 있는 모든 명령들의 목록을 작성할 + 것입니다. 이 명령들은 모두 Meta쇠-x로 부를 수 + 있습니다. 어떤 명령들에 대해서는 같은 명령을 실행하는, + 한두개의 문자로 된 순차에 대한 목록도 명령 핵심어가 + 작성합니다. ->> C-h a file<Return>$(C@;(B $(CCD(B $(C:8=J=C?@(B. +>> C-h a file<Return>을 쳐 보십시오. -$(C1W7/8i(B $(C@L8'?!(B "file"$(C@L(B $(C5i>n(B $(C@V4B(B $(C8p5g(B M-x $(C8m7I5i@G(B $(C8q7O@L(B $(C@[<:5G?)(B -$(C4Y8%(B $(CC"?!(B $(CH-8i(B $(CG%=C5K4O4Y(B. find-file$(C0z(B $(C00@:(B $(C8m7I5i?!4B(B C-x C-f$(C?M(B $(C00@:(B -$(C9.@Z(B $(C8m7I@G(B $(C8q7O@L(B $(CGX4gGO4B(B $(C8m7I@G(B $(C?7?!(B $(C@[<:5G>n(B $(C@V4B(B $(C0M@;(B $(C:<(B $(C<v(B $(C@V@;(B -$(C0M@T4O4Y(B. +그러면 이름에 "file"이 들어 있는 모든 M-x 명령들의 목록이 작성되여 +다른 창에 화면 표시됩니다. find-file과 같은 명령들에는 C-x C-f와 같은 +문자 명령의 목록이 해당하는 명령의 옆에 작성되어 있는 것을 볼 수 있을 +것입니다. ->> C-M-v$(C8&(B $(CCD<-(B $(C55?r8;(B $(CC"@;(B $(C5N7g8;1b(B $(CGO=J=C?@(B. $(C@L8&(B $(C8n(B $(C9x(B $(CGO=J=C?@(B. +>> C-M-v를 쳐서 도움말 창을 두루말기 하십시오. 이를 몇 번 하십시오. ->> C-x 1$(C@;(B $(CCD<-(B $(C55?r8;(B $(CC"@;(B $(CAv?l=J=C?@(B. +>> C-x 1을 쳐서 도움말 창을 지우십시오. - C-h i $(C?B6s@N(B $(C<38m<-8&(B $(C@P1b(B ($(CAo(B Info). $(C@L(B $(C8m7I@:(B - `*info*'$(C6s4B(B $(CF/:0GQ(B $(C;g@LD-?!<-(B $(C=C=:E[?!(B $(C<3D!5H(B - $(C2Y7/9L@G(B $(C?B6s@N(B $(C<38m<-8&(B $(C:8?)A]4O4Y(B. m emacs - <$(C:91M<h(B>$(C8&(B $(CD!8i(B $(C@L8F=:(B $(C<38m<-8&(B $(C@P@;(B $(C<v(B $(C@V=@4O4Y(B. - $(C@|?!(B Info$(C8&(B $(C@P>n(B $(C:;(B $(C@{@L(B $(C>x@88i(B ?$(C8&(B $(CD!=J=C?@(B. $(C1W7/8i(B - $(C@L8F=:0!(B Info $(C9f=D@L(B $(C>n62(B $(C1b4I@L(B $(C@V4B(B $(CAv8&(B $(C>H3;GO4B(B - $(C?)G`@L(B $(C=C@[5K4O4Y(B. $(C@L(B $(CAvD'<-8&(B $(C@|:N(B $(C86D!8i(B $(C@L8F=:@G(B - Info $(C<38m<-8&(B $(CAV5H(B $(C9.<-H-7N(B $(C;}0"GX<-(B $(C@P>n>_(B $(CGU4O4Y(B. + C-h i 온라인 설명서를 읽기 (즉 Info). 이 명령은 + `*info*'라는 특별한 사이칸에서 시스템에 설치된 + 꾸러미의 온라인 설명서를 보여줍니다. m emacs + <복귀쇠>를 치면 이맥스 설명서를 읽을 수 있습니다. + 전에 Info를 읽어 본 적이 없으면 ?를 치십시오. 그러면 + 이맥스가 Info 방식이 어떤 기능이 있는 지를 안내하는 + 여행이 시작됩니다. 이 지침서를 전부 마치면 이맥스의 + Info 설명서를 주된 문서화로 생각해서 읽어야 합니다. -* $(C0a7P(B +* 결론 ------ -$(C@L8F=:8&(B $(C?O@|Hw(B $(C3*0!1b(B $(C@'GX<-4B(B C-x C-c$(C8&(B $(C>44Y4B(B $(C;g=G@;(B $(C1b>oGO=J=C?@(B. -$(C@O=C@{@87N(B $(CA60!:q7N(B $(C3*0!<-(B $(CHD?!(B $(C4Y=C(B $(C@L8F=:?!(B $(C5G59>F(B $(C?C(B $(C<v(B $(C@V1b(B -$(C@'GX<-4B(B C-z$(C8&(B $(C;g?kGO=J=C?@(B. +이맥스를 완전히 나가기 위해서는 C-x C-c를 쓴다는 사실을 기억하십시오. +일시적으로 조가비로 나가서 후에 다시 이맥스에 되돌아 올 수 있기 +위해서는 C-z를 사용하십시오. -$(C@L(B $(CAvD'<-4B(B $(C;u7N?n(B $(C;g?k@Z5i(B $(C8p5N0!(B $(C@LGXGR(B $(C<v(B $(C@V557O(B $(C885i>nA3@89G7N(B -$(C:R:P8mGQ(B $(C;gGW@L(B $(C9_0_5G8i(B $(C>I>F<-(B $(C@Z1b(B $(C@Z=E@;(B $(CE?GOAv(B $(C8;0m(B $(C:RFrGO=J=C?@(B! +이 지침서는 새로운 사용자들 모두가 이해할 수 있도록 만들어졌으므로 +불분명한 사항이 발견되면 앉아서 자기 자신을 탓하지 말고 불평하십시오! -$(C:9;g(B $(CA60G(B +복사 조건 --------- -$(C@L(B $(CAvD'<-4B(B Stuart Cracraft$(C>>0!(B $(C@L8F=:(B $(C1Y?x(B $(C@Z7a8&(B $(C@'GX(B $(C>4(B, $(C1d(B $(C@L8F=:(B -$(CAvD'<-8&(B $(C8pC<7N(B $(CGO?)(B $(C@[<:5H(B $(C0M@L4Y(B. +이 지침서는 Stuart Cracraft씨가 이맥스 근원 자료를 위해 쓴, 긴 이맥스 +지침서를 모체로 하여 작성된 것이다. -GNU $(C@L8F=:?M(B $(C00@L(B $(C@L(B $(CAvD'<-(B $(CFG@:(B $(C@z@[1G@L(B $(C@V@88g(B $(CF/A$GQ(B $(CA60G@;(B $(C88A7GR(B -$(C6'?!(B $(C:9;g:;@;(B $(C9hFwGR(B $(C<v(B $(C@V4B(B $(CGc0!8&(B $(C0.0m(B $(C3*?B(B $(C0M@L4Y(B: +GNU 이맥스와 같이 이 지침서 판은 저작권이 있으며 특정한 조건을 만족할 +때에 복사본을 배포할 수 있는 허가를 갖고 나온 것이다: Copyright (C) 1985, 1996, 2001-2013 Free Software Foundation, Inc. - $(C@L(B $(C9.<-4B(B $(C@L(B $(C@z@[1G(B $(C0x0m?M(B $(CGc?k(B $(C0x0m0!(B $(C1W4k7N(B $(C@/Av5G0m(B, $(C9hFw@Z0!(B - $(C<vCk@Z?!0T(B $(C@L(B $(C0x0m?!(B $(C5{6s(B $(CGc?k5G4B(B $(C0MC373(B $(C6G(B $(C@g:P9hGO4B(B $(C0M@;(B - $(CGc?kGO4B(B $(CA60G@87N(B, $(C>n62(B $(C8EC<7N5gAv(B $(C9^@:(B $(C1W4k7N8&(B $(C:9;gGO0E3*(B - $(C:9;g:;@L(B $(C4Y8%(B $(C@L?!0T(B $(C9hFw5G4B(B $(C0M@L(B $(CGc?k5H4Y(B. + 이 문서는 이 저작권 공고와 허용 공고가 그대로 유지되고, 배포자가 + 수취자에게 이 공고에 따라 허용되는 것처럼 또 재분배하는 것을 + 허용하는 조건으로, 어떤 매체로든지 받은 그대로를 복사하거나 + 복사본이 다른 이에게 배포되는 것이 허용된다. - $(C@L(B $(C9.<-@G(B $(C<vA$FG@L3*(B $(C<vA$FG@G(B $(C@O:N:P@:(B $(C@'@G(B $(CA60G0z(B $(CGT22(B, $(C6GGQ(B $(C4)0!(B - $(C86Av87@87N(B $(C:/0fG_4BAv8&(B $(C4+?!(B $(C6g0T(B $(C3*E83=4Y4B(B $(CA60G@87N(B $(C9hFw5G4B(B $(C0M@L(B - $(CGc?k5H4Y(B. + 이 문서의 수정판이나 수정판의 일부분은 위의 조건과 함께, 또한 누가 + 마지막으로 변경했는지를 눈에 띄게 나타낸다는 조건으로 배포되는 것이 + 허용된다. -$(C@L8F=:(B $(C@ZC<8&(B $(C:9;gGO4B(B $(C0M@:(B $(CA;(B $(C4u(B $(C:9@bGOAv88(B $(C00@:(B $(C3;?k@T4O4Y(B. -COPYING$(C@L6s4B(B $(CFD@O@;(B $(C@P0m(B $(C3-(B $(CHD?!(B GNU $(C@L8F=:@G(B $(C:9;g:;@;(B $(CD#18?!0T(B -$(CAV=J=C?@(B. $(C@Z@/(B $(C<RGAF.?~>n8&(B $(C>20m(B $(C885i0m(B $(C0x@/GT@87N=a(B $(C<RGAF.?~>n(B -$(C9fGX8&(B ("$(C<R@/1G(B") $(C1Y@}GO4B5%(B $(C55?s=C4Y(B. +이맥스 자체를 복사하는 것은 좀 더 복잡하지만 같은 내용입니다. +COPYING이라는 파일을 읽고 난 후에 GNU 이맥스의 복사본을 친구에게 +주십시오. 자유 소프트웨어를 쓰고 만들고 공유함으로써 소프트웨어 +방해를 ("소유권") 근절하는데 도웁시다. ;;; Local Variables: -;;; coding: iso-2022-7bit +;;; coding: utf-8 ;;; End: diff --git a/etc/tutorials/TUTORIAL.th b/etc/tutorials/TUTORIAL.th index e313fc71a59..18038baea44 100644 --- a/etc/tutorials/TUTORIAL.th +++ b/etc/tutorials/TUTORIAL.th @@ -1,962 +1,962 @@ -0,T$Yh10AW1M!RCc0*i10MU1aA!0Jl1(B. ,Tb;C40HV1!IR0Jh1G907i1RB"M'0$Yh10AW1MJSK0CQ1:`0'Wh1M9d"c9!RC7SJS`9R(B. -,TJ'G90ET1"0JT1708Tl1(B ,T>(B.,TH(B. 2528 ,Tb4B:0CT10IQ17?0CU1+M?05l1aG0Cl1?RG09l1`40*Q19(B (Free Software -Foundation, Inc); ,T!0CX13R0HV1!IR`0'Wh1M9d"5M907i1RB:7(B. -0,T7h1R9!S0EQ1'0HV1!IR0$Yh10AW1M!RCc0*i10MU1aA!0Jl1(B (Emacs tutorial) ,TM0BYh1c9"3P09Ui1(B. - -,Tb4B07Qh1Gd;$S0JQh1'"M'0MU1aA!0Jl1(B (Emacs) ,T(Pc0*i10$Yh10!Q1:0;Xh1A(B CONTROL (,T:R'$0CQi1'MR(`0;g190;Xh1A07Uh10AU1(B -0,TJQ1-0EQ1!I03l1(B CTRL ,TK0CW1M(B CTL) ,TK0CW1M(B 0,T;Xh1A(B META (,T:R'$0CQi1'MR(`0;g190;Xh1A07Uh10AU10JQ1-0EQ1!I03l1(B EDIT ,TK0CW1M(B -ALT). ,Ta7907Uh1(Pc0*i1$S`05g1Ac9!RCM08T1:RB(B, ,T`CR(Pc0*i105Q1G0Bh1M04Q1'05h1Md;09Ui1(B: - - C-<chr> ,TKARB06V1'c0Ki1!40;Xh1A(B CONTROL ,TaEP0;Xh1A0MQ1!IC(B <chr> ,T>0Ci1MA0!Q19(B. - 0,T4Q1'09Qi19(B C-f ,T(PKARB06V1'c0Ki1!40;Xh1A(B CONTROL ,TaEP0;Xh1A(B f ,T>0Ci1MA0!Q19(B. - M-<chr> ,TKARB06V1'c0Ki1!40;Xh1A(B META ,TK0CW1M(B EDIT ,TK0CW1M(B ALT ,TaEP0;Xh1A0MQ1!IC(B <chr> - ,T>0Ci1MA0!Q19(B. ,Tc9!C03U107Uh1d0Ah10AU10;Xh1A(B META, EDIT ,TK0CW1M(B ALT ,Tc0Ki1!40;Xh1A(B - ESC ,Ta0Ei1G;0Eh1MB(B, ,Ta0Ei1G!40;Xh1A(B <chr>. ,T`CRc0*i10JQ1-0EQ1!I03l1(B <ESC> ,Ta790;Xh1A(B ESC. - -,TKARB`K05X1(B: ,Tc9!C03U107Uh105i1M'!RC`0ET1!c0*i10MU1aA!0Jl1(B, ,Tc0Ki1!40;Xh1A(B C-x C-c. (,TJM'05Q1G0MQ1!IC(B.) -0,T5Q1G0MQ1!IC(B ">>" 0,T7Uh1;CR!/M0BYh17R'"M:0+i1RB0AW1M`0;g19!RCa9P9Sc0Ki107h1R9EM'c0*i1$S0JQh1'(B. 0,T5Q1GM0Bh1R'`0*h19(B: +คู่มือการใช้อีแมกส์. โปรดศึกษาส่วนท้ายของคู่มือสำหรับเงื่อนไขในการทำสำเนา. +สงวนลิขสิทธิ์ พ.ศ. 2528 โดยบริษัทฟรีซอฟต์แวร์ฟาวน์เดชัน (Free Software +Foundation, Inc); กรุณาศึกษาเงื่อนไขตอนท้ายบท. +ท่านกำลังศึกษาคู่มือการใช้อีแมกส์ (Emacs tutorial) อยู่ในขณะนี้. + +โดยทั่วไปคำสั่งของอีแมกส์ (Emacs) จะใช้คู่กับปุ่ม CONTROL (บางครั้งอาจเป็นปุ่มที่มี +สัญลักษณ์ CTRL หรือ CTL) หรือ ปุ่ม META (บางครั้งอาจเป็นปุ่มที่มีสัญลักษณ์ EDIT หรือ +ALT). แทนที่จะใช้คำเต็มในการอธิบาย, เราจะใช้ตัวย่อดังต่อไปนี้: + + C-<chr> หมายถึงให้กดปุ่ม CONTROL และปุ่มอักษร <chr> พร้อมกัน. + ดังนั้น C-f จะหมายถึงให้กดปุ่ม CONTROL และปุ่ม f พร้อมกัน. + M-<chr> หมายถึงให้กดปุ่ม META หรือ EDIT หรือ ALT และปุ่มอักษร <chr> + พร้อมกัน. ในกรณีที่ไม่มีปุ่ม META, EDIT หรือ ALT ให้กดปุ่ม + ESC แล้วปล่อย, แล้วกดปุ่ม <chr>. เราใช้สัญลักษณ์ <ESC> แทนปุ่ม ESC. + +หมายเหตุ: ในกรณีที่ต้องการเลิกใช้อีแมกส์, ให้กดปุ่ม C-x C-c. (สองตัวอักษร.) +ตัวอักษร ">>" ที่ปรากฏอยู่ทางขอบซ้ายมือเป็นการแนะนำให้ท่านลองใช้คำสั่ง. ตัวอย่างเช่น: <<Blank lines inserted here by startup of help-with-tutorial>> ->> ,T!40;Xh1A(B C-v (0,T4Y1K09i1R(M06Q14d;(B) ,T`0>Wh1M07Uh1(P`$0EWh1M9d;0BQ1'K09i1R(M06Q14d;(B. - (,TEM'7S04Y1b4B!RC!40;Xh1A(B CONTROL ,TaEP0;Xh1A0MQ1!IC(B v ,T>0Ci1MA0!Q19(B). - ,T(R!09Ui1d;(B, 0,T7h1R9$GC(PEM'c0*i1$S0JQh1'09Ui104Y1`0AWh1M07h1R90Mh1R9K09i1R(M09Ui1(:a0Ei1G(B. +>> กดปุ่ม C-v (ดูหน้าจอถัดไป) เพื่อที่จะเคลื่อนไปยังหน้าจอถัดไป. + (ลองทำดูโดยการกดปุ่ม CONTROL และปุ่มอักษร v พร้อมกัน). + จากนี้ไป, ท่านควรจะลองใช้คำสั่งนี้ดูเมื่อท่านอ่านหน้าจอนี้จบแล้ว. -0,T7h1R9(P0JQ1'`!5`0Kg19d04i10Gh1RJM':CC07Q14"M'K09i1R(M07Uh1a0Ei1G(P0BQ1'$';CR!/c0Ki1`0Kg19:9K09i1R(M06Q14d;(B; 0,T9Uh1(B -,T`0;g19!RC0*h1GBc0Ki107h1R9JRARC60Mh1R9K09i1R(Md04i1M0Bh1R'05h1M`09Wh1M'(B. +ท่านจะสังเกตเห็นได้ว่าสองบรรทัดของหน้าจอที่แล้วจะยังคงปรากฏให้เห็นบนหน้าจอถัดไป; นี่ +เป็นการช่วยให้ท่านสามารถอ่านหน้าจอได้อย่างต่อเนื่อง. -0,TJTh1'aC!07Uh107h1R9(S`0;g1905i1M'0CYi10$W1M!RC`$0EWh1M95SaK09h1'd;ARc90"i1M$GRA(B. ,T"3P09Ui107h1R97CR:(B -0,TGT108U1!RC`$0EWh1M9d;0BQ1'K09i1R(M06Q14d;a0Ei1G04i1GB0;Xh1A(B C-v. ,Tc9!RC07Uh1(P`$0EWh1M9!0EQ1:d;K09Vh1'K09i1R(M(B, ,T!40;Xh1A(B -M-v (,T!40;Xh1A(B META ,TaEP0;Xh1A(B v, ,TK0CW1M!40;Xh1A(B <ESC>v 0,T6i1R07h1R9d0Ah10AU10;Xh1A(B META, EDIT, ,TK0CW1M(B ALT). +สิ่งแรกที่ท่านจำเป็นต้องรู้คือการเคลื่อนตำแหน่งไปมาในข้อความ. ขณะนี้ท่านทราบ +วิธีการเคลื่อนไปยังหน้าจอถัดไปแล้วด้วยปุ่ม C-v. ในการที่จะเคลื่อนกลับไปหนึ่งหน้าจอ, กดปุ่ม +M-v (กดปุ่ม META และปุ่ม v, หรือกดปุ่ม <ESC>v ถ้าท่านไม่มีปุ่ม META, EDIT, หรือ ALT). ->> ,TEM'!40;Xh1A(B M-v ,TaEP!40;Xh1A(B C-v 0,T4Y1!RC7S'R90JQ1!JM'JRA$0CQi1'(B. +>> ลองกดปุ่ม M-v และกดปุ่ม C-v ดูการทำงานสักสองสามครั้ง. -* ,TJ0CX1;(B +* สรุป ----- -,T$S0JQh1'05h1Md;09Ui1c0*i1`0AWh1M05i1M'!RC04Y1K09i1R(M05h1R'f(B: +คำสั่งต่อไปนี้ใช้เมื่อต้องการดูหน้าจอต่างๆ: - C-v ,T`$0EWh1M9d;0BQ1'K09i1R(M06Q14d;K09Vh1'K09i1R(M(B - M-v ,T`$0EWh1M9!0EQ1:d;K09Vh1'K09i1R(M(B - C-l ,TE:K09i1R(M(B ,Ta0Ei1GaJ4'<EK09i1R(McK0Ah1(B, ,T>0Ci1MA07Qi1'0Bi1RB5SaK09h1'"M'0"i1M$GRA07Uh10AU1(B - ,T`$M0Cl1`+M0Cl1(B (cursor) ,T;CR!/M0BYh1d;aJ4'd0Gi1!ER'(M(B. - (,T$S0JQh1'09Ui10$W1M(B CONTROL-L, ,Td0Ah1c0*h1(B CONTROL-1.) + C-v เคลื่อนไปยังหน้าจอถัดไปหนึ่งหน้าจอ + M-v เคลื่อนกลับไปหนึ่งหน้าจอ + C-l ลบหน้าจอ แล้วแสดงผลหน้าจอใหม่, พร้อมทั้งย้ายตำแหน่งของข้อความที่มี + เคอร์เซอร์ (cursor) ปรากฏอยู่ไปแสดงไว้กลางจอ. + (คำสั่งนี้คือ CONTROL-L, ไม่ใช่ CONTROL-1.) ->> 0,TJQ1'`!55SaK09h1'"M'`$M0Cl1`+M0Cl1(B, ,TaEP0JQ1'`!504Y10Gh1R0AU10"i1M$GRAMPdCM0BYh1c!0Ei1`$M0Cl1`+M0Cl1(B. - ,Ta0Ei1G!40;Xh1A(B C-l. - 0,TJQ1'`!504Y15SaK09h1'"M'`$M0Cl1`+M0Cl10MU1!$0CQi1'(B ,T(P`0Kg190Gh1R0AU10"i1M$GRA`04T1A;CR!/M0BYh1c!0Ei1f(B 0,T!Q1:`$M0Cl1`+M0Cl1(B. +>> สังเกตตำแหน่งของเคอร์เซอร์, และสังเกตดูว่ามีข้อความอะไรอยู่ใกล้เคอร์เซอร์. + แล้วกดปุ่ม C-l. + สังเกตดูตำแหน่งของเคอร์เซอร์อีกครั้ง จะเห็นว่ามีข้อความเดิมปรากฏอยู่ใกล้ๆ กับเคอร์เซอร์. -* ,T!RC$G:0$X1A`$M0Cl1`+M0Cl1`0:Wi1M'05i19(B +* การควบคุมเคอร์เซอร์เบื้องต้น ------------------------ -,T!RC`$0EWh1M9K09i1R(Md;AR09Qi19`0;g190JTh1'(S`0;g19(B ,Ta05h107h1R9(P7SM0Bh1R'dC06i1R07h1R905i1M'!RC(P`$0EWh1M9d;0BQ1'(B -,T5SaK09h1'07Uh105i1M'!RC@RBc90"i1M$GRA07Uh1;CR!/M0BYh1:9K09i1R(M(B? +การเคลื่อนหน้าจอไปมานั้นเป็นสิ่งจำเป็น แต่ท่านจะทำอย่างไรถ้าท่านต้องการจะเคลื่อนไปยัง +ตำแหน่งที่ต้องการภายในข้อความที่ปรากฏอยู่บนหน้าจอ? -0,TAU1KERB0GT108U107Uh1JRARC6(P7Sd04i1(B. 0,TGT108U107Uh10>Wi1907Uh10JX140$W1M!RCc0*i1$S0JQh1'(B C-p, C-b, C-f, ,TaEP(B C-n. -,Ta05h1EP$S0JQh1'(P`$0EWh1M9`$M0Cl1`+M0Cl1d;K09Vh1':CC07Q14K0CW1MK09Vh1'$M0EQ1A09l1c907T1H7R'c407T1H7R'K09Vh1':9K09i1R(M(B. -0,T5h1Md;09Ui1`0;g195RCR'aJ4'$S0JQh1'07Qi1'0JUh1(B ,TaEP07T1H7R'07Uh1`$M0Cl1`+M0Cl1`$0EWh1M9d;(B: +มีหลายวิธีที่สามารถจะทำได้. วิธีที่พื้นที่สุดคือการใช้คำสั่ง C-p, C-b, C-f, และ C-n. +แต่ละคำสั่งจะเคลื่อนเคอร์เซอร์ไปหนึ่งบรรทัดหรือหนึ่งคอลัมน์ในทิศทางใดทิศทางหนึ่งบนหน้าจอ. +ต่อไปนี้เป็นตารางแสดงคำสั่งทั้งสี่ และทิศทางที่เคอร์เซอร์เคลื่อนไป: - ,T:CC07Q140!h1M9K09i1R(B, C-p + บรรทัดก่อนหน้า, C-p : : - 0,TBi1M9!0EQ1:(B, C-b .... ,T5SaK09h1'`$M0Cl1`+M0Cl10;Q1(0(X10:Q19(B .... 0,T"i1R'K09i1R(B, C-f + ย้อนกลับ, C-b .... ตำแหน่งเคอร์เซอร์ปัจจุบัน .... ข้างหน้า, C-f : : - ,T:CC07Q1406Q14d;(B, C-n + บรรทัดถัดไป, C-n ->> ,T`$0EWh1M9`$M0Cl1`+M0Cl1d;07Uh10!Vh1'!ER'"M'0<Q1'0"i1R':9b4Bc0*i1$S0JQh1'(B C-n ,TK0CW1M(B C-p. ,Ta0Ei1G!40;Xh1A(B - C-l ,T`0>Wh1Mc0Ki10<Q1';CR!/M0BYh1!ER'K09i1R(M(B. +>> เคลื่อนเคอร์เซอร์ไปที่กึ่งกลางของผังข้างบนโดยใช้คำสั่ง C-n หรือ C-p. แล้วกดปุ่ม + C-l เพื่อให้ผังปรากฏอยู่กลางหน้าจอ. -0,T7h1R9MR((P(S$S0JQh1'd04i10'h1RB0"Vi19b4B0JQ1'`!505Q1G0MQ1!IC07Uh1c0*i1(B: p ,TJSK0CQ1:(B previous (0,T!h1M9K09i1R(B), n -,TJSK0CQ1:(B next (0,T6Q14d;(B), b ,TJSK0CQ1:(B backward (0,TBi1M9!0EQ1:(B), ,TaEP(B f ,TJSK0CQ1:(B forward -(0,T"i1R'K09i1R(B). ,T`K0Eh1R09Ui10$W1M`0:Wi1M'05i19"M'$S0JQh1'c9!RC$G:0$X1A5SaK09h1'"M'`$M0Cl1`+M0Cl1(B, ,TaEP07h1R9(B -,T(P05i1M'c0*i1$S0JQh1'`K0Eh1R09Ui10:h1MB$0CQi1'(B, ,T)P09Qi190(V1'`0;g19!RC04U107Uh1(P(S$S0JQh1'`K0Eh1R09Ui1d0Gi1(B. +ท่านอาจจะจำคำสั่งได้ง่ายขึ้นโดยสังเกตตัวอักษรที่ใช้: p สำหรับ previous (ก่อนหน้า), n +สำหรับ next (ถัดไป), b สำหรับ backward (ย้อนกลับ), และ f สำหรับ forward +(ข้างหน้า). เหล่านี้คือเบื้องต้นของคำสั่งในการควบคุมตำแหน่งของเคอร์เซอร์, และท่าน +จะต้องใช้คำสั่งเหล่านี้บ่อยครั้ง, ฉะนั้นจึงเป็นการดีที่จะจำคำสั่งเหล่านี้ไว้. ->> ,TEM'c0*i1$S0JQh1'(B C-n 0,T4Y1`0>Wh1M07Uh1(P`$0EWh1M9`$M0Cl1`+M0Cl1E'AR0BQ1':CC07Q1409Ui1(B. +>> ลองใช้คำสั่ง C-n ดูเพื่อที่จะเคลื่อนเคอร์เซอร์ลงมายังบรรทัดนี้. ->> ,TEM'`$0EWh1M9`0"i1Rd;c9:CC07Q14b4Bc0*i1$S0JQh1'(B C-f ,TaEP`$0EWh1M90"Vi190"i1R':9b4Bc0*i1$S0JQh1'(B C-p. - 0,TJQ1'`!504Y10Gh1R`0!T14MPdC0"Vi1906i1Rc0*i1$S0JQh1'(B C-p ,T`0AWh1M5SaK09h1'`$M0Cl1`+M0Cl1;CR!/M0BYh107Uh15C'!ER'(B - ,T"M':CC07Q14(B. +>> ลองเคลื่อนเข้าไปในบรรทัดโดยใช้คำสั่ง C-f และเคลื่อนขึ้นข้างบนโดยใช้คำสั่ง C-p. + สังเกตดูว่าเกิดอะไรขึ้นถ้าใช้คำสั่ง C-p เมื่อตำแหน่งเคอร์เซอร์ปรากฏอยู่ที่ตรงกลาง + ของบรรทัด. -,Ta05h1EP:CC07Q140JTi190JX1404i1GB0MQ1!"CP(B Newline, 0,T+Vh1'c0*i1aJ4'"M:`"5CPK0Gh1R':CC07Q14(B. 0,T7Uh107i1RB0JX14"M'(B -,Td?0El10!g1(P0AU10MQ1!"CP(B Newline ,T`0*h190!Q19(B (,Ta05h1JSK0CQ1:0MU1aA!0Jl1a0Ei1Gd0Ah1(S`0;g19(B). +แต่ละบรรทัดสิ้นสุดด้วยอักขระ Newline, ซึ่งใช้แสดงขอบเขตระหว่างบรรทัด. ที่ท้ายสุดของ +ไฟล์ก็จะมีอักขระ Newline เช่นกัน (แต่สำหรับอีแมกส์แล้วไม่จำเป็น). ->> ,TEM'c0*i1$S0JQh1'(B C-b 0,T7Uh15SaK09h1'`0CTh1A05i19"M':CC07Q1404Y1(B. ,T`$M0Cl1`+M0Cl1(P`$0EWh1M9d;0BQ1'5SaK09h1'(B - 0,T7i1RB0JX14"M':CC07Q140!h1M9K09i1R(B. 0,T9Uh1`0;g19`>CRP0Gh1R`$M0Cl1`+M0Cl1d04i1`$0EWh1M90"i1RA0MQ1!"CP(B Newline ,Td;(B. +>> ลองใช้คำสั่ง C-b ที่ตำแหน่งเริ่มต้นของบรรทัดดู. เคอร์เซอร์จะเคลื่อนไปยังตำแหน่ง + ท้ายสุดของบรรทัดก่อนหน้า. นี่เป็นเพราะว่าเคอร์เซอร์ได้เคลื่อนข้ามอักขระ Newline ไป. -,T$S0JQh1'(B C-f ,TJRARC6`$0EWh1M90"i1RA0MQ1!"CP(B Newline ,Td04i1`0*h19`04U1BG0!Q1:$S0JQh1'(B C-b. +คำสั่ง C-f สามารถเคลื่อนข้ามอักขระ Newline ได้เช่นเดียวกับคำสั่ง C-b. ->> ,TEM'c0*i1$S0JQh1'(B C-b 0,T4Y10MU1!0JQ1!K09h1MB(B, 0,T7h1R9(PJRARC6`0"i1Rc(!RC`$0EWh1M9`$M0Cl1`+M0Cl1d04i104U10"Vi19(B. - ,Ta0Ei1GEM'c0*i1$S0JQh1'(B C-f ,T`0>Wh1M07Uh1(P`$0EWh1M9d;0BQ1'5SaK09h1'07i1RB0JX14"M':CC07Q14(B. - ,Ta0Ei1GEM'c0*i1$S0JQh1'(B C-f 0,TMU1!0JQ1!$0CQi1'`0>Wh1M07Uh1(P`$0EWh1M9d;0BQ1':CC07Q1406Q14d;(B. +>> ลองใช้คำสั่ง C-b ดูอีกสักหน่อย, ท่านจะสามารถเข้าใจการเคลื่อนเคอร์เซอร์ได้ดีขึ้น. + แล้วลองใช้คำสั่ง C-f เพื่อที่จะเคลื่อนไปยังตำแหน่งท้ายสุดของบรรทัด. + แล้วลองใช้คำสั่ง C-f อีกสักครั้งเพื่อที่จะเคลื่อนไปยังบรรทัดถัดไป. -,T`0AWh1M07h1R9`$0EWh1M90<h1R95SaK09h1':90JX14K0CW1M07i1RB0JX14"M'K09i1R(M(B, 0,T"i1M$GRA06Q14(R!:CC07Q1407Uh1M0BYh107Uh1(B -,T"M:09Qi19(P"0BQ1:`0"i1RAR;CR!/M0BYh1:9K09i1R(M(B. 0,T9Uh1`0CU1B!0Gh1R(B ",T!RC`$0EWh1M90Ai1G9(B (scrolling)". 0,T9Uh1(B -,T`0;g19!RC7Sc0Ki10MU1aA!0Jl1JRARC6`$0EWh1M9`$M0Cl1`+M0Cl1d;0BQ1'5SaK09h1'07Uh105i1M'!RC:90"i1M$GRAd04i1b4B(B -,Td0Ah1`$0EWh1M9MM!9M!K09i1R(M(B. +เมื่อท่านเคลื่อนผ่านตำแหน่งบนสุดหรือท้ายสุดของหน้าจอ, ข้อความถัดจากบรรทัดที่อยู่ที่ +ขอบนั้นจะขยับเข้ามาปรากฏอยู่บนหน้าจอ. นี่เรียกว่า "การเคลื่อนม้วน (scrolling)". นี่ +เป็นการทำให้อีแมกส์สามารถเคลื่อนเคอร์เซอร์ไปยังตำแหน่งที่ต้องการบนข้อความได้โดย +ไม่เคลื่อนออกนอกหน้าจอ. ->> ,TEM'`$0EWh1M9`$M0Cl1`+M0Cl1E'MM!d;9M!K09i1R(Mb4Bc0*i1$S0JQh1'(B C-n, ,Ta0Ei1G04Y10Gh1R0AU1MPdC`0!T140"Vi19(B. +>> ลองเคลื่อนเคอร์เซอร์ลงออกไปนอกหน้าจอโดยใช้คำสั่ง C-n, แล้วดูว่ามีอะไรเกิดขึ้น. -0,T6i1R`$0EWh1M907U1EP05Q1G0MQ1!IC09Qi190*i1Rd;(B, 0,T7h1R90!g1JRARC6(P`$0EWh1M9d04i107U1EP$S(B. ,T$S0JQh1'(B M-f (META-f) -,Tc0*i1c9!RC`$0EWh1M9d;0BQ1'$S07Uh1M0BYh106Q14d;(B ,TaEP(B M-b ,Tc0*i1c9!RC`$0EWh1M9d;0BQ1'$S07Uh1M0BYh10!h1M9K09i1R(B. +ถ้าเคลื่อนทีละตัวอักษรนั้นช้าไป, ท่านก็สามารถจะเคลื่อนได้ทีละคำ. คำสั่ง M-f (META-f) +ใช้ในการเคลื่อนไปยังคำที่อยู่ถัดไป และ M-b ใช้ในการเคลื่อนไปยังคำที่อยู่ก่อนหน้า. ->> ,TEM'c0*i1$S0JQh1'(B M-f ,TaEP(B M-b 0,T4Y10JQ1!JM'JRA$0CQi1'(B. +>> ลองใช้คำสั่ง M-f และ M-b ดูสักสองสามครั้ง. -,T`0AWh1M07h1R9M0BYh107Uh15SaK09h1'!ER'"M'$S(B, ,T$S0JQh1'(B M-f ,T(Pc0*i1`$0EWh1M9d;0BQ1'5SaK09h1'07i1RB"M'$S09Qi19(B. ,T`0AWh1M(B -0,T7h1R9M0BYh107Uh15SaK09h1'`0Gi19GCC$CPK0Gh1R'$S(B, ,T$S0JQh1'(B M-f ,T(Pc0*i1`$0EWh1M9d;0BQ1'5SaK09h1'07i1RB"M'$S(B -0,T7Uh1M0BYh106Q14d;(B. ,T$S0JQh1'(B M-b ,T7SK09i1R07Uh17S9M'`04U1BG0!Q19(B ,Ta05h1`$0EWh1M9d;c907T1H7R'5C'0!Q190"i1RA(B. +เมื่อท่านอยู่ที่ตำแหน่งกลางของคำ, คำสั่ง M-f จะใช้เคลื่อนไปยังตำแหน่งท้ายของคำนั้น. เมื่อ +ท่านอยู่ที่ตำแหน่งเว้นวรรคระหว่างคำ, คำสั่ง M-f จะใช้เคลื่อนไปยังตำแหน่งท้ายของคำ +ที่อยู่ถัดไป. คำสั่ง M-b ทำหน้าที่ทำนองเดียวกัน แต่เคลื่อนไปในทิศทางตรงกันข้าม. -,TKARB`K05X1(B: ,T`09Wh1M'(R!@RIRd7Bd0Ah10AU1!RCc0*i10MQ1!"CP`0Gi19GCC$(B (whitespace) ,Tc9!RCaJ4'(B - ,T"M:`"5"M'$S(B, ,T)P09Qi19`0AWh1MM0BYh1c9bKA4@RIRd7B(B (ThaiText mode) 0,TMU1aA!0Jl1(B - ,T(P7S!RC!S0!Q1:"M:`"5"M'$Sb4BMR0HQ1Bb;Ca!CA05Q14$S(B. ,T$S0JQh1'(B M-f ,TaEP(B M-b - 0,T(V1'(P7S'R9d04i1(B, ,Ta05h1(Pc0Ki1<E05h1R'd;`0Eg1!09i1MB(B. ,T!0Eh1RG0$W1M(B: +หมายเหตุ: เนื่องจากภาษาไทยไม่มีการใช้อักขระเว้นวรรค (whitespace) ในการแสดง + ขอบเขตของคำ, ฉะนั้นเมื่ออยู่ในโหมดภาษาไทย (ThaiText mode) อีแมกส์ + จะทำการกำกับขอบเขตของคำโดยอาศัยโปรแกรมตัดคำ. คำสั่ง M-f และ M-b + จึงจะทำงานได้, แต่จะให้ผลต่างไปเล็กน้อย. กล่าวคือ: - ,Td0Ah10Gh1R07h1R9M0BYh107Uh15SaK09h1'!ER'K0CW1M5SaK09h1'`0CTh1A05i19"M'$S0!g15RA(B, ,T$S0JQh1'(B M-f ,T(Pc0*i1(B - ,T`$0EWh1M9d;0BQ1'5SaK09h1'`0CTh1A05i19"M'$S06Q14d;c9!C03U107Uh1$S09Qi19d0Ah1d04i1`0;g19$S0JX1407i1RB"M'(B - ,T:CC07Q14(B. 0,T6i1R$S09Qi19`0;g19$S0JX1407i1RB"M':CC07Q14(B, ,T$S0JQh1'(B M-f ,T(Pc0*i1`$0EWh1M9d;0BQ1'(B - ,T5SaK09h1'07i1RB"M'$S09Qi19(B. + ไม่ว่าท่านอยู่ที่ตำแหน่งกลางหรือตำแหน่งเริ่มต้นของคำก็ตาม, คำสั่ง M-f จะใช้ + เคลื่อนไปยังตำแหน่งเริ่มต้นของคำถัดไปในกรณีที่คำนั้นไม่ได้เป็นคำสุดท้ายของ + บรรทัด. ถ้าคำนั้นเป็นคำสุดท้ายของบรรทัด, คำสั่ง M-f จะใช้เคลื่อนไปยัง + ตำแหน่งท้ายของคำนั้น. ->> ,TEM'c0*i1$S0JQh1'(B M-f ,TaEP(B M-b 0,T4Y1(B, ,Tb4B;P;90!Q1:$S0JQh1'(B C-f ,TaEP(B C-b, 0,T7h1R9(P0JQ1'`!5(B - ,T`0Kg19!RC7S'R9"M'$S0JQh1'(B M-f ,TaEP(B M-b ,Tc95SaK09h1'05h1R'f(B 0,T7Qi1'c9$SaEPCPK0Gh1R'$S(B. +>> ลองใช้คำสั่ง M-f และ M-b ดู, โดยปะปนกับคำสั่ง C-f และ C-b, ท่านจะสังเกต + เห็นการทำงานของคำสั่ง M-f และ M-b ในตำแหน่งต่างๆ ทั้งในคำและระหว่างคำ. -0,T7h1R9JRARC60JQ1'`!5d04i10Gh1R$S0JQh1'(B C-f ,TaEP(B C-b 0,T9Qi197SK09i1R07Uh1c90EQ1!I3P`04U1BG0!Q1:$S0JQh1'(B M-f -,TaEP(B M-b, ,Ta05h1M0BYh1:9`!301l107Uh105h1R'0!Q19(B. 0,TJh1G9AR!(B 0,T;Xh1A(B META ,T(P06Y1!!SK94c0Ki1c0*i10!Q1:!RC7S'R9c9(B -,TCP04Q1:07Uh1`0!Uh1BG0"i1M'0!Q1:K09h1GB07Uh1!SK940"Vi197R'@RIR(B (,T`0*h19(B ,T$S(B, ,T;CPbB$(B, 0,TBh1MK09i1R(B, ,T`0;g1905i19(B), -,T"3P07Uh10;Xh1A(B CONTROL 0,T9Qi190AQ1!(P06Y1!!SK94c0Ki1c0*i10!Q1:!RC7S'R9c9CP04Q1:07Uh1`0!Uh1BG0"i1M'0!Q1:K09h1GB0Bh1MB(B -0,TMT1JCP07Uh17S!RCa0!i1d"d04i1(B (,T`0*h19(B 0,T5Q1G0MQ1!IC(B, ,T:CC07Q14(B, ,T`0;g1905i19(B). +ท่านสามารถสังเกตได้ว่าคำสั่ง C-f และ C-b นั้นทำหน้าที่ในลักษณะเดียวกับคำสั่ง M-f +และ M-b, แต่อยู่บนเกณฑ์ที่ต่างกัน. ส่วนมาก ปุ่ม META จะถูกกำหนดให้ใช้กับการทำงานใน +ระดับที่เกี่ยวข้องกับหน่วยที่กำหนดขึ้นทางภาษา (เช่น คำ, ประโยค, ย่อหน้า, เป็นต้น), +ขณะที่ปุ่ม CONTROL นั้นมักจะถูกกำหนดให้ใช้กับการทำงานในระดับที่เกี่ยวข้องกับหน่วยย่อย +อิสระที่ทำการแก้ไขได้ (เช่น ตัวอักษร, บรรทัด, เป็นต้น). -,T!RC7S'R9c97S9M'`04U1BG0!Q19JSK0CQ1::CC07Q140!Q1:;CPbB$(B: ,T$S0JQh1'(B C-a ,TaEP(B C-e ,Tc0*i1`$0EWh1M9(B -,Td;0BQ1'5SaK09h1'`0CTh1A05i19aEP07i1RB"M':CC07Q14(B, ,T"3P`04U1BG0!Q19$S0JQh1'(B M-a ,TaEP(B M-e ,Tc0*i1`$0EWh1M9(B -,Td;0BQ1'5SaK09h1'`0CTh1A05i19aEP07i1RB"M';CPbB$(B. +การทำงานในทำนองเดียวกันสำหรับบรรทัดกับประโยค: คำสั่ง C-a และ C-e ใช้เคลื่อน +ไปยังตำแหน่งเริ่มต้นและท้ายของบรรทัด, ขณะเดียวกันคำสั่ง M-a และ M-e ใช้เคลื่อน +ไปยังตำแหน่งเริ่มต้นและท้ายของประโยค. -,TKARB`K05X1(B: ,T`09Wh1M'(R!@RIRd7Bd0Ah109T1BAc0*i10MQ1!"CPA0KQ1>@R$(B (period) ,Tc9!RCaJ4'0(X140JTi190JX14"M'(B - ,T;CPbB$(B, ,T7Sc0Ki1d0Ah1JRARC6!SK94"M:`"5"M';CPbB$c0Ki106Y1!05i1M'd04i1(B. 0,T4Q1'09Qi19`0AWh1M(B - ,TM0BYh1c9bKA4@RIRd7B(B (ThaiText mode), ,T$S0JQh1'(B M-a ,TaEP(B M-e ,T(P`$0EWh1M9(B - ,T`$M0Cl1`+M0Cl1d;0BQ1'5SaK09h1'`0CTh1A05i19"M'0Bh1MK09i1R(B ,TaEP5SaK09h1'07i1RB0JX14"M'0Bh1MK09i1R(B - ,T5RAES04Q1:(B. ,TB!`0Gi19!C03U107Uh10AU1!RCc0*i10MQ1!"CPA0KQ1>@R$(B. +หมายเหตุ: เนื่องจากภาษาไทยไม่นิยมใช้อักขระมหัพภาค (period) ในการแสดงจุดสิ้นสุดของ + ประโยค, ทำให้ไม่สามารถกำหนดขอบเขตของประโยคให้ถูกต้องได้. ดังนั้นเมื่อ + อยู่ในโหมดภาษาไทย (ThaiText mode), คำสั่ง M-a และ M-e จะเคลื่อน + เคอร์เซอร์ไปยังตำแหน่งเริ่มต้นของย่อหน้า และตำแหน่งท้ายสุดของย่อหน้า + ตามลำดับ. ยกเว้นกรณีที่มีการใช้อักขระมหัพภาค. ->> ,TEM'c0*i1$S0JQh1'(B C-a ,TaEP(B C-e 0,T4Y10JQ1!JM'JRA$0CQi1'(B. - ,TEM'c0*i1$S0JQh1'(B M-a ,TaEP(B M-e 0,T4Y10JQ1!JM'JRA$0CQi1'(B. +>> ลองใช้คำสั่ง C-a และ C-e ดูสักสองสามครั้ง. + ลองใช้คำสั่ง M-a และ M-e ดูสักสองสามครั้ง. -0,TJQ1'`!504Y10Gh1R!RCc0*i1$S0JQh1'(B C-a 0,T+i1Sf(B 0,T!Q19(Pd0Ah1`0!T14<EMPdC(B, ,Ta05h1!RCc0*i1$S0JQh1'(B M-a ,T(P7Sc0Ki1(B -,T`$M0Cl1`+M0Cl1`$0EWh1M9d;07U1EP;CPbB$(B. ,Ta0Ai10Gh1R!RC`$0EWh1M9`$M0Cl1`+M0Cl1"M'07Qi1'JM'a::09Ui1(Pd0Ah1(B -,T$0Ei1RB0!Q19`EB07U1`04U1BG(B, ,Ta05h10!g104Y1`0;g198CCA*R05T104U1(B. +สังเกตดูว่าการใช้คำสั่ง C-a ซ้ำๆ กันจะไม่เกิดผลอะไร, แต่การใช้คำสั่ง M-a จะทำให้ +เคอร์เซอร์เคลื่อนไปทีละประโยค. แม้ว่าการเคลื่อนเคอร์เซอร์ของทั้งสองแบบนี้จะไม่ +คล้ายกันเลยทีเดียว, แต่ก็ดูเป็นธรรมชาติดี. -,T:R'$0CQi1'`CR0!g1`0CU1B!5SaK09h1'"M'`$M0Cl1`+M0Cl10Gh1R(B "0,T(X14(B (point)". ,T!0Eh1RG0$W1M(B, ,T`$M0Cl1`+M0Cl107Uh1(B -,T;CR!/M0BYh1:9K09i1R(M0!g10$W1M5SaK09h1'07Uh10(X14;CR!/M0BYh1:90"i1M$GRA09Qh19`M'(B. +บางครั้งเราก็เรียกตำแหน่งของเคอร์เซอร์ว่า "จุด (point)". กล่าวคือ, เคอร์เซอร์ที่ +ปรากฏอยู่บนหน้าจอก็คือตำแหน่งที่จุดปรากฏอยู่บนข้อความนั่นเอง. -0,T5h1Md;09Ui1`0;g19J0CX1;"M'0*X14$S0JQh1'JSK0CQ1:!RC`$0EWh1M9`$M0Cl1`+M0Cl1(B, 0,T+Vh1'CGA06V1'!RC`$0EWh1M9c9CP04Q1:$S(B -,TaEP;CPbB$(B: +ต่อไปนี้เป็นสรุปของชุดคำสั่งสำหรับการเคลื่อนเคอร์เซอร์, ซึ่งรวมถึงการเคลื่อนในระดับคำ +และประโยค: - C-f ,T`$0EWh1M9d;0"i1R'K09i1RK09Vh1'05Q1G0MQ1!IC(B - C-b ,T`$0EWh1M9!0EQ1:d;K09Vh1'05Q1G0MQ1!IC(B + C-f เคลื่อนไปข้างหน้าหนึ่งตัวอักษร + C-b เคลื่อนกลับไปหนึ่งตัวอักษร - M-f ,T`$0EWh1M9d;0"i1R'K09i1RK09Vh1'$S(B - M-b ,T`$0EWh1M9!0EQ1:d;K09Vh1'$S(B + M-f เคลื่อนไปข้างหน้าหนึ่งคำ + M-b เคลื่อนกลับไปหนึ่งคำ - C-n ,T`$0EWh1M9d;:CC07Q1406Q14d;(B - C-p ,T`$0EWh1M9d;:CC07Q140!h1M9K09i1R(B + C-n เคลื่อนไปบรรทัดถัดไป + C-p เคลื่อนไปบรรทัดก่อนหน้า - C-a ,T`$0EWh1M9d;0BQ1'5SaK09h1'`0CTh1A05i19"M':CC07Q14(B - C-e ,T`$0EWh1M9d;0BQ1'5SaK09h1'07i1RB"M':CC07Q14(B + C-a เคลื่อนไปยังตำแหน่งเริ่มต้นของบรรทัด + C-e เคลื่อนไปยังตำแหน่งท้ายของบรรทัด - M-a ,T`$0EWh1M9d;0BQ1'5SaK09h1'`0CTh1A05i19"M';CPbB$(B - M-e ,T`$0EWh1M9d;0BQ1'5SaK09h1'07i1RB"M';CPbB$(B + M-a เคลื่อนไปยังตำแหน่งเริ่มต้นของประโยค + M-e เคลื่อนไปยังตำแหน่งท้ายของประโยค ->> ,TEM'c0*i1$S0JQh1'`K0Eh1R09Ui10JQ1!CPBP`0>Wh1M`0;g19!RC0=V1!0KQ14(B. - ,T$S0JQh1'`K0Eh1R09Ui1`0;g19$S0JQh1'07Uh1c0*i10!Q190:h1MBAR!(B. +>> ลองใช้คำสั่งเหล่านี้สักระยะเพื่อเป็นการฝึกหัด. + คำสั่งเหล่านี้เป็นคำสั่งที่ใช้กันบ่อยมาก. -0,TAU10MU1!JM'$S0JQh1'07Uh1JS0$Q1-c9!RC`$0EWh1M95SaK09h1'0$W1M(B ,T$S0JQh1'(B M-< (META 0,T9i1MB!0Gh1R(B), ,Tc0*i1c9!RC(B -,T`$0EWh1M9d;0BQ1'5SaK09h1'`0CTh1A05i19"M'0"i1M$GRA(B, ,TaEP(B M-> (META ,TAR!!0Gh1R(B), ,Tc0*i1c9!RC`$0EWh1M9(B -,Td;0BQ1'5SaK09h1'07i1RB0JX14"M'0"i1M$GRA(B. +มีอีกสองคำสั่งที่สำคัญในการเคลื่อนตำแหน่งคือ คำสั่ง M-< (META น้อยกว่า), ใช้ในการ +เคลื่อนไปยังตำแหน่งเริ่มต้นของข้อความ, และ M-> (META มากกว่า), ใช้ในการเคลื่อน +ไปยังตำแหน่งท้ายสุดของข้อความ. -,Tc9`$0CWh1M';ERB7R'(B (terminal) 0,TJh1G9cK0-h1(B, 0,TMQ1!"CP(B "<" ,T(PM0BYh1`K09W1M0MQ1!"CP0(X1E@R$(B -(comma), ,T)P09Qi1907h1R905i1M'c0*i10;Xh1A0*T1?05l1(B (shift) ,Tc9!RC0;i1M90MQ1!"CP09Qi19(B. ,TJSK0CQ1:`$0CWh1M'(B -,T;ERB7R'a::09Ui1(B, 0,T7h1R90(V1'05i1M'c0*i10;Xh1A0*T1?05l1c9!RC0;i1M9$S0JQh1'(B M-< ,Tc97S9M'`04U1BG0!Q19(B, 0,T6i1Rd0Ah1(B -,T$S09V1'06V1'0;Xh1A0*T1?05l1(B, 0,T!g1KARB$GRA0Gh1R07h1R9!S0EQ1'0;i1M9$S0JQh1'(B M-comma. +ในเครื่องปลายทาง (terminal) ส่วนใหญ่, อักขระ "<" จะอยู่เหนืออักขระจุลภาค +(comma), ฉะนั้นท่านต้องใช้ปุ่มชิฟต์ (shift) ในการป้อนอักขระนั้น. สำหรับเครื่อง +ปลายทางแบบนี้, ท่านจึงต้องใช้ปุ่มชิฟต์ในการป้อนคำสั่ง M-< ในทำนองเดียวกัน, ถ้าไม่ +คำนึงถึงปุ่มชิฟต์, ก็หมายความว่าท่านกำลังป้อนคำสั่ง M-comma. ->> ,TEM'c0*i1$S0JQh1'(B M-< 0,T4Y1(B, ,T`0>Wh1M`$0EWh1M9d;0BQ1'5SaK09h1'`0CTh1A05i19"M'0$Yh10AW1M!RCc0*i109Ui1(B. - ,Ta0Ei1Gc0*i1$S0JQh1'(B C-v 0,T+i1S0!Q19KERBf(B ,T$0CQi1'`0>Wh1M07Uh1(P`$0EWh1M9!0EQ1:AR0BQ1'5SaK09h1'`04T1A09Ui1(B. +>> ลองใช้คำสั่ง M-< ดู, เพื่อเคลื่อนไปยังตำแหน่งเริ่มต้นของคู่มือการใช้นี้. + แล้วใช้คำสั่ง C-v ซ้ำกันหลายๆ ครั้งเพื่อที่จะเคลื่อนกลับมายังตำแหน่งเดิมนี้. ->> ,TEM'c0*i1$S0JQh1'(B M-> 0,T4Y1(B, ,T`0>Wh1M`$0EWh1M9d;0BQ1'5SaK09h1'07i1RB0JX14"M'0$Yh10AW1M!RCc0*i109Ui1(B. - ,Ta0Ei1Gc0*i1$S0JQh1'(B M-v 0,T+i1S0!Q19KERBf(B ,T$0CQi1'`0>Wh1M07Uh1(P`$0EWh1M9!0EQ1:AR0BQ1'5SaK09h1'`04T1A09Ui1(B. +>> ลองใช้คำสั่ง M-> ดู, เพื่อเคลื่อนไปยังตำแหน่งท้ายสุดของคู่มือการใช้นี้. + แล้วใช้คำสั่ง M-v ซ้ำกันหลายๆ ครั้งเพื่อที่จะเคลื่อนกลับมายังตำแหน่งเดิมนี้. -0,T7h1R9JRARC6`$0EWh1M9`$M0Cl1`+M0Cl1d04i104i1GB0;Xh1A0EY1!HC(B (arrow key), 0,T6i1R`$0CWh1M';ERB7R'"M'07h1R9(B -0,TAU10;Xh1A`K0Eh1R09Ui1M0BYh1(B. ,T`CRa9P9Sc0Ki10=V1!0KQ14c0*i1$S0JQh1'(B C-b, C-f, C-n ,TaEP(B C-p, 0,T4i1GB`K05X1<EJRA(B -,T;CP!RC(B. ,TK09Vh1'(B, ,T$S0JQh1'`K0Eh1R09Ui17S'R9d04i1:9`$0CWh1M';ERB7R'07X1!*09T14(B. ,TJM'(B, ,T`0AWh1M07h1R9d04i10=V1!0KQ14(B -,T!RCc0*i10!Q1:0MU1aA!0Jl1a0Ei1G(B 0,T7h1R9(P0CYi10JV1!0Gh1R!RCc0*i1$S0JQh1'04i1GB0;Xh1A(B CONTROL 0,T9Qi19$0Eh1M'05Q1G!0Gh1R!RCc0*i1(B -0,T;Xh1A0EY1!HC(B (,T`>CRP0Gh1R07h1R9d0Ah105i1M'`$0EWh1M90Bi1RB0AW1MMM!(R!5SaK09h1'0AW1M0JQ1A0<Q1J`EB(B). ,TJRA(B, ,T`0AWh1M(B -0,T7h1R90$Xi19`$B0!Q1:!RCc0*i1$S0JQh1';CP!M:0!Q1:0;Xh1A(B CONTROL ,Ta0Ei1G(B, 0,T7h1R9JRARC6(P0=V1!!RCc0*i1$S0JQh1'(B -0,T*Qi190JY1'05h1Md;d04i10MU1!04i1GB(B. +ท่านสามารถเคลื่อนเคอร์เซอร์ได้ด้วยปุ่มลูกศร (arrow key), ถ้าเครื่องปลายทางของท่าน +มีปุ่มเหล่านี้อยู่. เราแนะนำให้ฝึกหัดใช้คำสั่ง C-b, C-f, C-n และ C-p, ด้วยเหตุผลสาม +ประการ. หนึ่ง, คำสั่งเหล่านี้ทำงานได้บนเครื่องปลายทางทุกชนิด. สอง, เมื่อท่านได้ฝึกหัด +การใช้กับอีแมกส์แล้ว ท่านจะรู้สึกว่าการใช้คำสั่งด้วยปุ่ม CONTROL นั้นคล่องตัวกว่าการใช้ +ปุ่มลูกศร (เพราะว่าท่านไม่ต้องเคลื่อนย้ายมือออกจากตำแหน่งมือสัมผัสเลย). สาม, เมื่อ +ท่านคุ้นเคยกับการใช้คำสั่งประกอบกับปุ่ม CONTROL แล้ว, ท่านสามารถจะฝึกการใช้คำสั่ง +ชั้นสูงต่อไปได้อีกด้วย. -,T$S0JQh1'0Jh1G9cK0-h1c90MU1aA!0Jl109Qi19(PJRARC6!S0!Q1:05Q1G`E"MR0Cl10!T1G`A905l1d04i1(B; ,TJSK0CQ1:$S0JQh1'0Jh1G9cK0-h1(B, -0,T5Q1G`E"`K0Eh1R09Ui10!g1(PKARB06V1'(S9G9$0CQi1'"M'!RC;CPAGE<E"M'$S0JQh1'05h1Md;(B. ,T!RC07Uh1(P7Sc0Ki10AU1(B -,T!RC;CPAGE<E"M'$S0JQh1'0+i1S`07h1R(S9G907Uh105i1M'!RC09Qi19JRARC67Sd04i1b4B!RC0;i1M9$S0JQh1'(B C-u -,Ta0Ei1G5RA04i1GB05Q1G`E"0!h1M907Uh1(P0;i1M9$S0JQh1'07Uh105i1M'!RC(B. 0,T6i1R07h1R90AU10;Xh1A(B META (,TK0CW1M(B EDIT ,TK0CW1M(B -ALT), 0,T7h1R9JRARC6(P7Sd04i104i1GB0MU1!0GT108U1K09Vh1'(B: 0,T;i1M905Q1G`E""3P07Uh1!40;Xh1A(B META ,TM0BYh1(B. ,T`CRa9P9S(B -,Tc0Ki107h1R90=V1!0KQ14c0*i1$S0JQh1'(B C-u ,T`>CRP0Gh1RJRARC6c0*i1d04i10!Q1:`$0CWh1M';ERB7R'07X1!*09T14(B. 0,T5Q1G`E"MR0Cl1(B -0,T!T1G`A905l107Uh1!0Eh1RG06V1'09Ui1`0CU1B!0Gh1R(B ",TMR0Cl10!T1G`A905l1`05T1AK09i1R(B (prefix argument)", ,T`>CRP0Gh1R07h1R9(B -0,T5i1M'0;i1M905Q1G`E"0!h1M907Uh1(P0;i1M9$S0JQh1'(B. +คำสั่งส่วนใหญ่ในอีแมกส์นั้นจะสามารถกำกับตัวเลขอาร์กิวเมนต์ได้; สำหรับคำสั่งส่วนใหญ่, +ตัวเลขเหล่านี้ก็จะหมายถึงจำนวนครั้งของการประมวลผลของคำสั่งต่อไป. การที่จะทำให้มี +การประมวลผลของคำสั่งซ้ำเท่าจำนวนที่ต้องการนั้นสามารถทำได้โดยการป้อนคำสั่ง C-u +แล้วตามด้วยตัวเลขก่อนที่จะป้อนคำสั่งที่ต้องการ. ถ้าท่านมีปุ่ม META (หรือ EDIT หรือ +ALT), ท่านสามารถจะทำได้ด้วยอีกวิธีหนึ่ง: ป้อนตัวเลขขณะที่กดปุ่ม META อยู่. เราแนะนำ +ให้ท่านฝึกหัดใช้คำสั่ง C-u เพราะว่าสามารถใช้ได้กับเครื่องปลายทางทุกชนิด. ตัวเลขอาร์ +กิวเมนต์ที่กล่าวถึงนี้เรียกว่า "อาร์กิวเมนต์เติมหน้า (prefix argument)", เพราะว่าท่าน +ต้องป้อนตัวเลขก่อนที่จะป้อนคำสั่ง. -0,T5Q1GM0Bh1R'`0*h19(B, ,T$S0JQh1'(B C-u 8 C-f ,T(P`$0EWh1M9d;0"i1R'K09i1Ra;405Q1G0MQ1!IC(B. +ตัวอย่างเช่น, คำสั่ง C-u 8 C-f จะเคลื่อนไปข้างหน้าแปดตัวอักษร. ->> ,TEM'c0*i1$S0JQh1'(B C-n ,TK0CW1M(B C-p ,T;CP!M:0!Q1:05Q1G`E"MR0Cl10!T1G`A905l1(B, ,T`0>Wh1M07Uh1(P`$0EWh1M9`$M0Cl1`+M0Cl1(B - ,T`0"i1RARc!0Ei1:CC07Q1409Ui1b4Bc0*i1`0>U1B'$S0JQh1'`04U1BG(B. +>> ลองใช้คำสั่ง C-n หรือ C-p ประกอบกับตัวเลขอาร์กิวเมนต์, เพื่อที่จะเคลื่อนเคอร์เซอร์ + เข้ามาใกล้บรรทัดนี้โดยใช้เพียงคำสั่งเดียว. -,T$S0JQh1'0Jh1G9cK0-h1c0*i105Q1G`E"MR0Cl10!T1G`A905l1`K0Eh1R09Ui1JSK0CQ1:!RC;CPAGE<E$S0JQh1'0+i1S(B, ,Ta05h1:R'$S0JQh1'0!g1c0*i1(B -,Tc90EQ1!I3P0MWh19(B. 0,TAU1KERB$S0JQh1'(B (,Ta05h1d0Ah1CGA$S0JQh1'07Uh1d04i1!0Eh1RGAR06V1'5C'09Ui1(B) ,Tc0*i105Q1G`E"09Ui1`0;g1905Q1G(B -0,T:h1'0*Ui1(B--,T!RC07Uh10AU1MR0Cl10!T1G`A905l1`05T1AK09i1R(B, ,Tb4Bd0Ah1$S09V1'06V1'0$h1R"M'05Q1G`E"(B, ,T(P7Sc0Ki1$S0JQh1'09Qi197S'R9(B -0,T5h1R'MM!d;(B. +คำสั่งส่วนใหญ่ใช้ตัวเลขอาร์กิวเมนต์เหล่านี้สำหรับการประมวลผลคำสั่งซ้ำ, แต่บางคำสั่งก็ใช้ +ในลักษณะอื่น. มีหลายคำสั่ง (แต่ไม่รวมคำสั่งที่ได้กล่าวมาถึงตรงนี้) ใช้ตัวเลขนี้เป็นตัว +บ่งชี้--การที่มีอาร์กิวเมนต์เติมหน้า, โดยไม่คำนึงถึงค่าของตัวเลข, จะทำให้คำสั่งนั้นทำงาน +ต่างออกไป. -,T$S0JQh1'(B C-v ,TaEP(B M-v ,T`0;g19$S0JQh1'07Uh1B!`0Gi190MU1!;CP`@7K09Vh1'(B. 0,T6i1R0;i1M905Q1G`E"MR0Cl10!T1G`A905l104i1GBa0Ei1G(B, -,TK09i1R(M(P06Y1!`$0EWh1M90Ai1G90"Vi19K0CW1ME'`0;g19(S9G9:CC07Q14`07h1R05Q1G`E"07Uh1!SK94(B, ,Ta7907Uh1(P`$0EWh1M90Ai1G9(B -0,T7U1EPK09i1R(M(B. 0,T5Q1GM0Bh1R'`0*h19(B, ,T$S0JQh1'(B C-u 8 C-v ,T(P`$0EWh1M90Ai1G9K09i1R(M07U1EPa;4:CC07Q14(B. +คำสั่ง C-v และ M-v เป็นคำสั่งที่ยกเว้นอีกประเภทหนึ่ง. ถ้าป้อนตัวเลขอาร์กิวเมนต์ด้วยแล้ว, +หน้าจอจะถูกเคลื่อนม้วนขึ้นหรือลงเป็นจำนวนบรรทัดเท่าตัวเลขที่กำหนด, แทนที่จะเคลื่อนม้วน +ทีละหน้าจอ. ตัวอย่างเช่น, คำสั่ง C-u 8 C-v จะเคลื่อนม้วนหน้าจอทีละแปดบรรทัด. ->> ,TEM'c0*i1$S0JQh1'(B C-u 8 C-v 0,T4Y1(B. +>> ลองใช้คำสั่ง C-u 8 C-v ดู. -,T$S0JQh1'09Ui1(P`$0EWh1M90Ai1G9K09i1R(M0"Vi19d;a;4:CC07Q14(B. 0,T6i1R07h1R905i1M'!RC(P`$0EWh1M90Ai1G9!0EQ1:AR0MU1!(B, 0,T7h1R9(B -0,T!g17Sd04i1b4B!RC!S0!Q1:05Q1G`E"MR0Cl10!T1G`A905l1c0Ki10!Q1:$S0JQh1'(B M-v. +คำสั่งนี้จะเคลื่อนม้วนหน้าจอขึ้นไปแปดบรรทัด. ถ้าท่านต้องการจะเคลื่อนม้วนกลับมาอีก, ท่าน +ก็ทำได้โดยการกำกับตัวเลขอาร์กิวเมนต์ให้กับคำสั่ง M-v. -0,T6i1R07h1R9!S0EQ1'c0*i1`M!0+l10GT19b40Gl1(B (X Window) ,TM0BYh1(B, ,T(P0AU1a<'`$0EWh1M90Ai1G9(B (scroll bar) 0,T7Uh1(B -,T`0;g190>Wi1907Uh10JUh1`K0EUh1BA0<W190<i1RM0BYh17R'04i1R90+i1RB"M'0GT19b40Gl1(B (window) ,T"M'0MU1aA!0Jl1(B. 0,T7h1R9JRARC6(B -,T(P`$0EWh1M90Ai1G90"i1M$GRAb4B!RC$0ET1!`AR0Jl1(B (click mouse) ,T:9a<'`$0EWh1M90Ai1G9(B. +ถ้าท่านกำลังใช้เอกซ์วินโดว์ (X Window) อยู่, จะมีแผงเคลื่อนม้วน (scroll bar) ที่ +เป็นพื้นที่สี่เหลี่ยมผืนผ้าอยู่ทางด้านซ้ายของวินโดว์ (window) ของอีแมกส์. ท่านสามารถ +จะเคลื่อนม้วนข้อความโดยการคลิกเมาส์ (click mouse) บนแผงเคลื่อนม้วน. ->> ,TEM'!40;Xh1A!ER'07Uh10Jh1G9:90JX14"M'0>Wi1907Uh107Uh1`09i19(B (highlight) ,T@RBc9a<'`$0EWh1M90Ai1G9(B. - 0,T"i1M$GRA(P06Y1!`$0EWh1M90Ai1G9d;0BQ1'5SaK09h1'07Uh107Uh107h1R9d04i1$0ET1!(B. +>> ลองกดปุ่มกลางที่ส่วนบนสุดของพื้นที่ที่เน้น (highlight) ภายในแผงเคลื่อนม้วน. + ข้อความจะถูกเคลื่อนม้วนไปยังตำแหน่งที่ที่ท่านได้คลิก. ->> ,TEM'`$0EWh1M9`AR0Jl10"Vi19E'04Y1(B, ,T"3P07Uh10BQ1'!40;Xh1A!ER'M0BYh1(B. 0,T7h1R9(P>:0Gh1R0"i1M$GRA(P`$0EWh1M907Uh10"Vi19(B - ,TE'5RA07Uh107h1R9`$0EWh1M9`AR0Jl1d;(B. +>> ลองเคลื่อนเมาส์ขึ้นลงดู, ขณะที่ยังกดปุ่มกลางอยู่. ท่านจะพบว่าข้อความจะเคลื่อนที่ขึ้น + ลงตามที่ท่านเคลื่อนเมาส์ไป. -* ,T!C03U107Uh10MU1aA!0Jl1K0BX14*P0'Q1!(B (hang up) +* กรณีที่อีแมกส์หยุดชะงัก (hang up) ---------------------------- -0,T6i1R0MU1aA!0Jl1K0BX14aEPd0Ah15M:J9M'$S0JQh1'c4f(B, 0,T7h1R9JRARC6B!`0ET1!$S0JQh1'd04i1M0Bh1R';EM40@Q1Bb4Bc0*i1(B -,T$S0JQh1'(B C-g. 0,T7h1R9JRARC6c0*i1$S0JQh1'(B C-g ,Tc9!RCB!`0ET1!$S0JQh1'07Uh1!S0EQ1'7S'R9M0BYh1d04i1(B. +ถ้าอีแมกส์หยุดและไม่ตอบสนองคำสั่งใดๆ, ท่านสามารถยกเลิกคำสั่งได้อย่างปลอดภัยโดยใช้ +คำสั่ง C-g. ท่านสามารถใช้คำสั่ง C-g ในการยกเลิกคำสั่งที่กำลังทำงานอยู่ได้. -0,T7h1R9JRARC6c0*i1$S0JQh1'(B C-g ,T`0>Wh1MB!`0ET1!05Q1G`E"MR0Cl10!T1G`A905l1K0CW1M$S0JQh1'07Uh107h1R9!S0EQ1'0;i1M9M0BYh1d04i1(B. +ท่านสามารถใช้คำสั่ง C-g เพื่อยกเลิกตัวเลขอาร์กิวเมนต์หรือคำสั่งที่ท่านกำลังป้อนอยู่ได้. ->> ,TEM'0;i1M9$S0JQh1'(B C-u 100 ,T`0>Wh1M07Uh1(Pc0Ki10AU105Q1G`E"MR0Cl10!T1G`A905l1`0;g19(B 100, ,Ta0Ei1G0;i1M9$S0JQh1'(B C-g. - 0,T;i1M9$S0JQh1'(B C-f. ,T<E07Uh1d04i10!g10$W1M`$M0Cl1`+M0Cl1`$0EWh1M9d;`0>U1B'K09Vh1'05Q1G0MQ1!IC(B, ,T`>CRP0Gh1R07h1R9d04i1(B - ,TB!`0ET1!05Q1G`E"MR0Cl10!T1G`A905l1d;a0Ei1G04i1GB$S0JQh1'(B C-g. +>> ลองป้อนคำสั่ง C-u 100 เพื่อที่จะให้มีตัวเลขอาร์กิวเมนต์เป็น 100, แล้วป้อนคำสั่ง C-g. + ป้อนคำสั่ง C-f. ผลที่ได้ก็คือเคอร์เซอร์เคลื่อนไปเพียงหนึ่งตัวอักษร, เพราะว่าท่านได้ + ยกเลิกตัวเลขอาร์กิวเมนต์ไปแล้วด้วยคำสั่ง C-g. -0,T6i1R07h1R90;i1M9$S0JQh1'(B <ESC> ,Tb4Bd0Ah1d04i105Qi1'c((B, 0,T7h1R90!g1JRARC6(PB!`0ET1!$S0JQh1'09Qi19d04i104i1GB$S0JQh1'(B C-g. +ถ้าท่านป้อนคำสั่ง <ESC> โดยไม่ได้ตั้งใจ, ท่านก็สามารถจะยกเลิกคำสั่งนั้นได้ด้วยคำสั่ง C-g. -* ,T$S0JQh1'07Uh106Y1!0;T147R'(B (disable) +* คำสั่งที่ถูกปิดทาง (disable) ------------------------ -,T$S0JQh1':R'$S0JQh1'06Y1!0;T147R'd0Gi1(B ,T`0>Wh1M07Uh1(P0;i1M'0!Q19d0Ah1c0Ki10<Yi107Uh1`0CTh1A05i19c0*i1(B (beginning user) ,Tc0*i1d04i1(B -,Tb4Bd0Ah1d04i105Qi1'c((B. +คำสั่งบางคำสั่งถูกปิดทางไว้ เพื่อที่จะป้องกันไม่ให้ผู้ที่เริ่มต้นใช้ (beginning user) ใช้ได้ +โดยไม่ได้ตั้งใจ. -0,T6i1R07h1R90;i1M9$S0JQh1';CP`@709Ui1a0Ei1G(B, 0,TMU1aA!0Jl1(PaJ4'0"i1M$GRA0Gh1R$S0JQh1'09Qi190$W1MMPdC(B, ,TaEP(P6RA(B -0,T7h1R90Gh1R05i1M'!RC(P;CPAGE<E$S0JQh1'09Qi19K0CW1Md0Ah1(B. +ถ้าท่านป้อนคำสั่งประเภทนี้แล้ว, อีแมกส์จะแสดงข้อความว่าคำสั่งนั้นคืออะไร, และจะถาม +ท่านว่าต้องการจะประมวลผลคำสั่งนั้นหรือไม่. -0,T6i1R07h1R905i1M'!RC07Uh1(P;CPAGE<E$S0JQh1'09Qi19(0CT1'f(B, ,T!40;Xh1A(B space ,T`0>Wh1M5M:0BW190BQ19$GRA05i1M'!RC(B. -,Tb4B;C!05T1a0Ei1G(B, 0,T6i1R07h1R9d0Ah105i1M'!RC(P;CPAGE<E$S0JQh1'07Uh106Y1!0;T147R'd0Gi1(B, 0,T!g15M:(B "n" ,T`07h1R09Qi19(B. +ถ้าท่านต้องการที่จะประมวลผลคำสั่งนั้นจริงๆ, กดปุ่ม space เพื่อตอบยืนยันความต้องการ. +โดยปรกติแล้ว, ถ้าท่านไม่ต้องการจะประมวลผลคำสั่งที่ถูกปิดทางไว้, ก็ตอบ "n" เท่านั้น. ->> ,TEM'c0*i1$S0JQh1'(B C-x C-l (0,T+Vh1'`0;g19$S0JQh1'07Uh106Y1!0;T147R'd0Gi1(B), ,Ta0Ei1G0;i1M9(B "n" ,T`0>Wh1M`0;g19!RC5M:(B - ,T$S6RA(B. +>> ลองใช้คำสั่ง C-x C-l (ซึ่งเป็นคำสั่งที่ถูกปิดทางไว้), แล้วป้อน "n" เพื่อเป็นการตอบ + คำถาม. -* 0,TGT19b40Gl1(B (window) +* วินโดว์ (window) ---------------- -0,TMU1aA!0Jl1JRARC60AU1d04i1KERB0GT19b40Gl1(B, ,Ta05h1EP0GT19b40Gl10!g1(PaJ4'<E"M'0"i1M$GRA"M'59`M'(B. ,T`CR(P(B -,TM08T1:RB06V1'0GT108U1!RCc0*i1a::KERB0GT19b40Gl1K0EQ1'(R!09Ui1(B. ,T5M909Ui1(P!0Eh1RG06V1'0GT108U1!RC0;T140GT19b40Gl107Uh1d0Ah105i1M'(B -,T!RC(B, ,Ta0Ei1G!0EQ1:d;c0*i1`0>U1B'0GT19b40Gl1`04U1BG(B. 0,T+Vh1'JRARC67Sd04i104Q1'09Ui1(B: +อีแมกส์สามารถมีได้หลายวินโดว์, แต่ละวินโดว์ก็จะแสดงผลของข้อความของตนเอง. เราจะ +อธิบายถึงวิธีการใช้แบบหลายวินโดว์หลังจากนี้. ตอนนี้จะกล่าวถึงวิธีการปิดวินโดว์ที่ไม่ต้อง +การ, แล้วกลับไปใช้เพียงวินโดว์เดียว. ซึ่งสามารถทำได้ดังนี้: - C-x 1 ,TK09Vh1'0GT19b40Gl1(B (0,T$W1M!RC0;T140GT19b40Gl10MWh19f(B 0,T7Qi1'KA4(B) + C-x 1 หนึ่งวินโดว์ (คือการปิดวินโดว์อื่นๆ ทั้งหมด) -0,T9Qh190$W1M`0>U1B'0;i1M9$S0JQh1'(B C-x ,Ta0Ei1G5RA04i1GB`E"(B 1. ,T$S0JQh1'(B C-x 1 ,T(P"BRB0GT19b40Gl107Uh10AU1(B -,T`$M0Cl1`+M0Cl1M0BYh1(B ,Tc0Ki1`05g1AK09i1R(M(B. 0,T+Vh1'(P`0;g19!RC0;T140GT19b40Gl10MWh19f(B 0,T7Qi1'KA4(B. +นั่นคือเพียงป้อนคำสั่ง C-x แล้วตามด้วยเลข 1. คำสั่ง C-x 1 จะขยายวินโดว์ที่มี +เคอร์เซอร์อยู่ ให้เต็มหน้าจอ. ซึ่งจะเป็นการปิดวินโดว์อื่นๆ ทั้งหมด. ->> ,T`$0EWh1M9`$M0Cl1`+M0Cl1AR0BQ1':CC07Q1409Ui1(B ,Ta0Ei1G0;i1M9$S0JQh1'(B C-u 0 C-l. ->> 0,T;i1M9$S0JQh1'(B C-h k C-f. - ,T(P`0Kg190Gh1R0GT19b40Gl109Ui10AU1"9R40Bh1ME'(B ,T"3P07Uh10AU10GT19b40Gl1cK0Ah1`0!T140"Vi19aJ4'<E"M'`M!JRC07Uh1`0!Uh1BG0!Q1:(B - ,T$S0JQh1'"M'(B C-f. +>> เคลื่อนเคอร์เซอร์มายังบรรทัดนี้ แล้วป้อนคำสั่ง C-u 0 C-l. +>> ป้อนคำสั่ง C-h k C-f. + จะเห็นว่าวินโดว์นี้มีขนาดย่อลง ขณะที่มีวินโดว์ใหม่เกิดขึ้นแสดงผลของเอกสารที่เกี่ยวกับ + คำสั่งของ C-f. ->> 0,T;i1M9$S0JQh1'(B C-x 1 ,Ta0Ei1G(P>:0Gh1R0GT19b40Gl107Uh1aJ4'CRB!RC"M'`M!JRCKRBd;(B. +>> ป้อนคำสั่ง C-x 1 แล้วจะพบว่าวินโดว์ที่แสดงรายการของเอกสารหายไป. -,T$S0JQh1'09Ui105h1R'(R!$S0JQh1'07Uh1d04i1!0Eh1RGAR5C'07Uh10Gh1R$S0JQh1'09Ui1;CP!M:04i1GBJM'05Q1G0MQ1!IC(B. ,T$S0JQh1'09Ui1`0CTh1A05i19(B -0,T4i1GB0MQ1!"CP(B C-x. 0,TAU10*X14"M'$S0JQh1'07Uh10"Vi1905i1904i1GB0MQ1!"CP(B C-x; 0,TJh1G9cK0-h1(P`0!Uh1BG0"i1M'0!Q1:!RC(B -0,T(Q14!RC0!Q1:0GT19b40Gl1(B, ,Ta0?i1A0"i1M0AY1E(B, 0,T:Q1?`?M0Cl1(B, ,TaEP0MWh19f(B ,Tc97S9M'`04U1BG0!Q19(B. ,T$S0JQh1'`K0Eh1R09Ui1(P(B -,T;CP!M:04i1GBJM'(B, ,TJRA(B, ,TK0CW1M0JUh105Q1G0MQ1!IC(B. +คำสั่งนี้ต่างจากคำสั่งที่ได้กล่าวมาตรงที่ว่าคำสั่งนี้ประกอบด้วยสองตัวอักษร. คำสั่งนี้เริ่มต้น +ด้วยอักขระ C-x. มีชุดของคำสั่งที่ขึ้นต้นด้วยอักขระ C-x; ส่วนใหญ่จะเกี่ยวข้องกับการ +จัดการกับวินโดว์, แฟ้มข้อมูล, บัฟเฟอร์, และอื่นๆ ในทำนองเดียวกัน. คำสั่งเหล่านี้จะ +ประกอบด้วยสอง, สาม, หรือสี่ตัวอักษร. -* ,T!RCa7C!(B (inserting) ,TaEP!RCE:(B (deleting) +* การแทรก (inserting) และการลบ (deleting) ---------------------------------------------- -0,T6i1R07h1R905i1M'!RC07Uh1(Pa7C!0"i1M$GRA(B, 0,T!g1JRARC67Sd04i1b4B!RC0;i1M90"i1M$GRA09Qi19`0"i1Rd;`07h1R09Qi19(B. -0,T5Q1G0MQ1!IC07Uh107h1R9`0Kg19(B, ,T`0*h19(B A, 7, *, ,T`0;g1905i19(B, 0,T5h1R'0!g106W1M0Gh1R`0;g190"i1M$GRAaEP06Y1!a7C!`0"i1Rd;(B -0,T7Q1907U107Uh10;i1M9(B. ,T!40;Xh1A(B <Return> ,Tc9!RC07Uh1(Pa7C!0MQ1!"CP(B Newline. +ถ้าท่านต้องการที่จะแทรกข้อความ, ก็สามารถทำได้โดยการป้อนข้อความนั้นเข้าไปเท่านั้น. +ตัวอักษรที่ท่านเห็น, เช่น A, 7, *, เป็นต้น, ต่างก็ถือว่าเป็นข้อความและถูกแทรกเข้าไป +ทันทีที่ป้อน. กดปุ่ม <Return> ในการที่จะแทรกอักขระ Newline. -0,T7h1R9JRARC6E:05Q1G0MQ1!IC05Q1G0JX1407i1RB07Uh107h1R9d04i10;i1M9`0"i1Rd;d04i1b4B!RC!40;Xh1A(B <Delete>. 0,T;Xh1A(B -<Delete> ,T`0;g190;Xh1Af(B ,TK09Vh1':9a0;i190>T1A0>l1(B, 0,T+Vh1':R'$0CQi1'MR(`0;g190;Xh1A07Uh1!S0!Q1:04i1GB(B "Del". ,Tc9:R'(B -,T!C03U1(B, 0,T;Xh1A(B "Backspace" 0,T!g17SK09i1R07Uh1`0*h19`04U1BG0!Q1:0;Xh1A(B <Delete>, ,Ta05h10!g1d0Ah1`JAMd;(B. +ท่านสามารถลบตัวอักษรตัวสุดท้ายที่ท่านได้ป้อนเข้าไปได้โดยการกดปุ่ม <Delete>. ปุ่ม +<Delete> เป็นปุ่มๆ หนึ่งบนแป้นพิมพ์, ซึ่งบางครั้งอาจเป็นปุ่มที่กำกับด้วย "Del". ในบาง +กรณี, ปุ่ม "Backspace" ก็ทำหน้าที่เช่นเดียวกับปุ่ม <Delete>, แต่ก็ไม่เสมอไป. -,Tb4B07Qh1Gd;a0Ei1G(B, 0,T;Xh1A(B <Delete> ,T(Pc0*i1JSK0CQ1:E:05Q1G0MQ1!IC07Uh1M0BYh1K09i1R5SaK09h1'"M'`$M0Cl1`+M0Cl10;Q1(0(X10:Q19(B. +โดยทั่วไปแล้ว, ปุ่ม <Delete> จะใช้สำหรับลบตัวอักษรที่อยู่หน้าตำแหน่งของเคอร์เซอร์ปัจจุบัน. ->> ,TEM'7S04Y1(B--0,T;i1M905Q1G0MQ1!ICc4f(B 0,TJQ1!JM'JRA05Q1G(B, ,Ta0Ei1GE:05Q1G0MQ1!IC09Qi19MM!b4B!40;Xh1A(B - <Delete> 0,TJQ1!JM'JRA$0CQi1'(B. ,Td0Ah105i1M'0!Q1'GE0Gh1R(P7Sc0Ki10"i1M$GRAc9a0?i1A0"i1M0AY1E09Ui1`;0EUh1B9d;(B; - 0,T7h1R9(Pd0Ah17Sc0Ki10"i1M$GRAc905i19)0:Q1:"M'0$Yh10AW1M!RCc0*i1`;0EUh1B9a;E'(B. 0,T9Uh1`0;g19`0>U1B')0:Q1:JS`9R`07h1R09Qi19(B. +>> ลองทำดู--ป้อนตัวอักษรใดๆ สักสองสามตัว, แล้วลบตัวอักษรนั้นออกโดยกดปุ่ม + <Delete> สักสองสามครั้ง. ไม่ต้องกังวลว่าจะทำให้ข้อความในแฟ้มข้อมูลนี้เปลี่ยนไป; + ท่านจะไม่ทำให้ข้อความในต้นฉบับของคู่มือการใช้เปลี่ยนแปลง. นี่เป็นเพียงฉบับสำเนาเท่านั้น. -,T`0AWh1M0"i1M$GRAc9:CC07Q14BRG`0!T19!0Gh1RK09Vh1':CC07Q14"M'K09i1R(M(B, 0,T"i1M$GRAc9:CC07Q1409Qi19(P05h1M`09Wh1M'(B -,Td;0BQ1':CC07Q1406Q14d;"M'K09i1R(M(B. 0,TMQ1!"CP(B backslash ("\") 0,T7Uh1;ERB"M'"M:"GR0AW1M(P0:h1'0*Ui1(B -0,TGh1R0"i1M$GRA"M':CC07Q1409Qi1905h1M`09Wh1M'd;0BQ1':CC07Q1406Q14d;(B. +เมื่อข้อความในบรรทัดยาวเกินกว่าหนึ่งบรรทัดของหน้าจอ, ข้อความในบรรทัดนั้นจะต่อเนื่อง +ไปยังบรรทัดถัดไปของหน้าจอ. อักขระ backslash ("\") ที่ปลายของขอบขวามือจะบ่งชี้ +ว่าข้อความของบรรทัดนั้นต่อเนื่องไปยังบรรทัดถัดไป. ->> 0,T;i1M90"i1M$GRA(9!CP07Qh1'06V1'"M:"GR(B, ,Ta0Ei1G0;i1M905h1Md;0MU1!(B. 0,T7h1R9(P`0Kg19!RCaJ4'<E"M'(B - ,T:CC07Q1405h1M`09Wh1M'0!Q19(B. +>> ป้อนข้อความจนกระทั่งถึงขอบขวา, แล้วป้อนต่อไปอีก. ท่านจะเห็นการแสดงผลของ + บรรทัดต่อเนื่องกัน. ->> ,Tc0*i10;Xh1A(B <Delete> ,T`0>Wh1ME:0"i1M$GRAMM!(9!CP07Qh1'0"i1M$GRA09Qi19>M04U10!Q1:$GRA!0Gi1R'"M'K09i1R(M(B. - ,T:CC07Q1407Uh105h1M`09Wh1M'0!Q190!g1(PKRBd;(B. +>> ใช้ปุ่ม <Delete> เพื่อลบข้อความออกจนกระทั่งข้อความนั้นพอดีกับความกว้างของหน้าจอ. + บรรทัดที่ต่อเนื่องกันก็จะหายไป. -0,T7h1R9JRARC6E:0MQ1!"CP(B Newline ,TMM!d04i1`0*h19`04U1BG0!Q1:05Q1G0MQ1!IC0MWh19f(B. ,T!RCE:0MQ1!"CP(B Newline -,TCPK0Gh1R'JM':CC07Q14(P`0;g19!RCCGAJM':CC07Q1409Qi19`0"i1R`0;g19:CC07Q14`04U1BG(B. 0,T6i1R<E"M'!RCCGAJM'(B -,T:CC07Q14`0"i1R04i1GB0!Q197Sc0Ki1:CC07Q1409Qi19BRG`0!T19!0Gh1R:CC07Q14"M'K09i1R(Ma0Ei1G(B, ,T:CC07Q1409Qi190!g1(P`0;g19:CC07Q14(B -,Ta::05h1M`09Wh1M'(B. +ท่านสามารถลบอักขระ Newline ออกได้เช่นเดียวกับตัวอักษรอื่นๆ. การลบอักขระ Newline +ระหว่างสองบรรทัดจะเป็นการรวมสองบรรทัดนั้นเข้าเป็นบรรทัดเดียว. ถ้าผลของการรวมสอง +บรรทัดเข้าด้วยกันทำให้บรรทัดนั้นยาวเกินกว่าบรรทัดของหน้าจอแล้ว, บรรทัดนั้นก็จะเป็นบรรทัด +แบบต่อเนื่อง. ->> ,T`$0EWh1M9`$M0Cl1`+M0Cl1d;0BQ1'5SaK09h1'`0CTh1A05i19"M':CC07Q14(B, ,Ta0Ei1G!40;Xh1A(B <Delete>. - ,T:CC07Q140;Q1(0(X10:Q19(P06Y1!`0*Wh1MA`0"i1R0!Q1::CC07Q140!h1M9K09i1R(B. +>> เคลื่อนเคอร์เซอร์ไปยังตำแหน่งเริ่มต้นของบรรทัด, แล้วกดปุ่ม <Delete>. + บรรทัดปัจจุบันจะถูกเชื่อมเข้ากับบรรทัดก่อนหน้า. ->> ,T!40;Xh1A(B <Return> ,T`0>Wh1M07Uh1(Pa7C!0MQ1!"CP(B Newline ,T`0"i1Rd;cK0Ah1(B. +>> กดปุ่ม <Return> เพื่อที่จะแทรกอักขระ Newline เข้าไปใหม่. -,T$GC(Sd0Gi10Gh1R$S0JQh1'0Jh1G9cK0-h1"M'0MU1aA!0Jl1(PJRARC67Sc0Ki1;CPAGE<E0+i1Sd04i1KERB$0CQi1'(B; 0,T+Vh1'CGA06V1'(B -,T(S9G905Q1G0MQ1!IC04i1GB(B. ,T!RC;CPAGE<E0+i1S"M'!RC0;i1M905Q1G0MQ1!IC0$W1M!RCa7C!05Q1G0MQ1!IC`K0Eh1R09Qi19`0"i1Rd;(B. +ควรจำไว้ว่าคำสั่งส่วนใหญ่ของอีแมกส์จะสามารถทำให้ประมวลผลซ้ำได้หลายครั้ง; ซึ่งรวมถึง +จำนวนตัวอักษรด้วย. การประมวลผลซ้ำของการป้อนตัวอักษรคือการแทรกตัวอักษรเหล่านั้นเข้าไป. ->> ,TEM'7S04Y1`04Uk1BG09Ui1(B--0,T;i1M9$S0JQh1'(B C-u 8 * ,T`0>Wh1M07Uh1(P0;i1M9JRB0MQ1!"CP(B ********. +>> ลองทำดูเดี๋ยวนี้--ป้อนคำสั่ง C-u 8 * เพื่อที่จะป้อนสายอักขระ ********. -0,T7h1R9d04i1`0CU1B90CYi106V1'0GT108U1!RC`0:Wi1M'05i19c9!RC0;i1M9:R'0JTh1':R'M0Bh1R'c90MU1aA!0Jl1aEP!RCa0!i1d"(B -0,T"i1M0<T14>ER405h1R'f(B. 0,T7h1R9JRARC607Uh1(PE:07U1EP$SK0CW1M07U1EP:CC07Q14c97S9M'`04U1BG0!Q19(B. 0,T5h1Md;09Ui1`0;g19(B -,T!RCJ0CX1;!RCE:04i1GB0GT108U105h1R'f(B: +ท่านได้เรียนรู้ถึงวิธีการเบื้องต้นในการป้อนบางสิ่งบางอย่างในอีแมกส์และการแก้ไข +ข้อผิดพลาดต่างๆ. ท่านสามารถที่จะลบทีละคำหรือทีละบรรทัดในทำนองเดียวกัน. ต่อไปนี้เป็น +การสรุปการลบด้วยวิธีต่างๆ: - <Delete> ,TE:05Q1G0MQ1!IC07Uh1M0BYh1K09i1R5SaK09h1'`$M0Cl1`+M0Cl1(B - C-d ,TE:05Q1G0MQ1!IC07Uh1M0BYh106Q14d;K0EQ1'5SaK09h1'`$M0Cl1`+M0Cl1(B + <Delete> ลบตัวอักษรที่อยู่หน้าตำแหน่งเคอร์เซอร์ + C-d ลบตัวอักษรที่อยู่ถัดไปหลังตำแหน่งเคอร์เซอร์ - M-<Delete> 0,T&h1R$S07Uh1M0BYh1K09i1R5SaK09h1'`$M0Cl1`+M0Cl1(B - M-d 0,T&h1R$S07Uh1M0BYh106Q14d;K0EQ1'5SaK09h1'`$M0Cl1`+M0Cl1(B + M-<Delete> ฆ่าคำที่อยู่หน้าตำแหน่งเคอร์เซอร์ + M-d ฆ่าคำที่อยู่ถัดไปหลังตำแหน่งเคอร์เซอร์ - C-k 0,T&h1R05Q1G0MQ1!IC05Qi1'a05h15SaK09h1'`$M0Cl1`+M0Cl1d;(906V1'07i1RB:CC07Q14(B - M-k 0,T&h1R05Q1G0MQ1!IC05Qi1'a05h15SaK09h1'`$M0Cl1`+M0Cl1d;(906V1'07i1RB"M';CPbB$(B + C-k ฆ่าตัวอักษรตั้งแต่ตำแหน่งเคอร์เซอร์ไปจนถึงท้ายบรรทัด + M-k ฆ่าตัวอักษรตั้งแต่ตำแหน่งเคอร์เซอร์ไปจนถึงท้ายของประโยค -,T$GC(P0JQ1'`!5d04i10Gh1R$S0JQh1'(B <Delete> ,TaEP(B C-d, 0,T!Q1:(B M-<Delete> ,TaEP(B M-d ,T`0;g19$S0JQh1'(B -,Tc97S9M'`04U1BG0!Q1907Uh1`0CTh1A(R!$S0JQh1'(B C-f ,TaEP(B M-f (,Ta0Ai10Gh1R0;Xh1A(B <Delete> ,T(Pd0Ah1c0*h105Q1G0MQ1!IC(B -0,T!g15RA(B, ,Ta05h1d0Ah1d04i1`0;g19`0CWh1M'JS0$Q1-(B). ,T$S0JQh1'(B C-k ,TaEP(B M-k 0,T!g1`0*h19`04U1BG0!Q1:(B C-e ,TaEP(B M-e 0,T7Uh1(B -,T7S'R9c90EQ1!I3P`04U1BG0!Q19a05h1$9EPCP04Q1:(B, 0,T$W1MCP04Q1:07Uh1`0;g19:CC07Q140!Q1:;CPbB$(B. +ควรจะสังเกตได้ว่าคำสั่ง <Delete> และ C-d, กับ M-<Delete> และ M-d เป็นคำสั่ง +ในทำนองเดียวกันที่เริ่มจากคำสั่ง C-f และ M-f (แม้ว่าปุ่ม <Delete> จะไม่ใช่ตัวอักษร +ก็ตาม, แต่ไม่ได้เป็นเรื่องสำคัญ). คำสั่ง C-k และ M-k ก็เช่นเดียวกับ C-e และ M-e ที่ +ทำงานในลักษณะเดียวกันแต่คนละระดับ, คือระดับที่เป็นบรรทัดกับประโยค. -,T`0AWh1M07h1R9E:05Q1G0MQ1!ICd;AR!!0Gh1RK09Vh1'05Q1Gc9$0CQi1'K09Vh1'f(B, 0,TMU1aA!0Jl1(P0:Q1907V1!0"i1M$GRA07Uh106Y1!E:d;d0Gi1(B -,T`0>Wh1M0Gh1R07h1R9(PJRARC6`0CU1B!!0EQ1:ARd04i10MU1!(B. ,T!RC`0CU1B!!0EQ1:AR"M'0"i1M$GRA07Uh106Y1!0&h1Rd;09Qi19`0CU1B!0Gh1R(B -",T!RC`0CU1B!0$W19(B (yanking)". 0,T7h1R9JRARC6`0CU1B!0$W190"i1M$GRA07Uh106Y1!0&h1Rd;!0EQ1:ARd04i1b4Bc0Ki1(B -,T;CR!/c907Uh107Uh106Y1!0&h1Rd;(B, ,TK0CW1M;CR!/c907Uh1c4f(B ,T"M'0"i1M$GRA0!g1d04i1(B. 0,T7h1R9JRARC6`0CU1B!0$W190"i1M$GRA(B -0,T!Uh1$0CQi1'0!g1d04i1`0>Wh1M07Uh1(P7SJS`9R0"i1M$GRA(B. ,T$S0JQh1'07Uh1c0*i1c9!RC`0CU1B!0$W190$W1M(B C-y. +เมื่อท่านลบตัวอักษรไปมากกว่าหนึ่งตัวในครั้งหนึ่งๆ, อีแมกส์จะบันทึกข้อความที่ถูกลบไปไว้ +เพื่อว่าท่านจะสามารถเรียกกลับมาได้อีก. การเรียกกลับมาของข้อความที่ถูกฆ่าไปนั้นเรียกว่า +"การเรียกคืน (yanking)". ท่านสามารถเรียกคืนข้อความที่ถูกฆ่าไปกลับมาได้โดยให้ +ปรากฏในที่ที่ถูกฆ่าไป, หรือปรากฏในที่ใดๆ ของข้อความก็ได้. ท่านสามารถเรียกคืนข้อความ +กี่ครั้งก็ได้เพื่อที่จะทำสำเนาข้อความ. คำสั่งที่ใช้ในการเรียกคืนคือ C-y. -0,TJTh1'07Uh1$GC0JQ1'`!50MQ19K09Vh1'0$W1M0"i1Ma5!05h1R'CPK0Gh1R'(B ",T!RC0&h1R(B (killing)" 0,T!Q1:(B ",T!RCE:(B -(deleting)". 0,TJTh1'07Uh106Y1!(B "0,T&h1R(B (killed)" ,Td;09Qi19(B, ,TJRARC607Uh1(P`0CU1B!0$W19(B (yank) ,TARd04i1(B, -,Ta05h10JTh1'07Uh106Y1!(B ",TE:(B (deleted)" ,Td;09Qi19(B, ,Td0Ah1JRARC6(P`0CU1B!0$W19ARd04i1(B. ,Tb4B07Qh1Gd;(B, ,T$S0JQh1'07Uh1JRARC6(B -,TE:0"i1M$GRAd04i107U1EPAR!f(B ,T(P`0!g1:0"i1M$GRA09Qi19d0Gi1(B, ,T"3P07Uh1$S0JQh1'07Uh1E:d04i107U1EP05Q1G0MQ1!IC(B, ,TK0CW1M:CC07Q14(B -,T`;0Eh1RaEP`0Gi19GCC$(B, ,T(Pd0Ah1`0!g1:0"i1M$GRA07Uh106Y1!E:d;(B. +สิ่งที่ควรสังเกตอันหนึ่งคือข้อแตกต่างระหว่าง "การฆ่า (killing)" กับ "การลบ +(deleting)". สิ่งที่ถูก "ฆ่า (killed)" ไปนั้น, สามารถที่จะเรียกคืน (yank) มาได้, +แต่สิ่งที่ถูก "ลบ (deleted)" ไปนั้น, ไม่สามารถจะเรียกคืนมาได้. โดยทั่วไป, คำสั่งที่สามารถ +ลบข้อความได้ทีละมากๆ จะเก็บข้อความนั้นไว้, ขณะที่คำสั่งที่ลบได้ทีละตัวอักษร, หรือบรรทัด +เปล่าและเว้นวรรค, จะไม่เก็บข้อความที่ถูกลบไป. ->> ,T`$0EWh1M9`$M0Cl1`+M0Cl1d;0BQ1'0(X14`0CTh1A05i19"M':CC07Q1407Uh1d0Ah1c0*h1:CC07Q14`;0Eh1R(B. - ,Ta0Ei1G0;i1M9$S0JQh1'(B C-k ,T`0>Wh1M07Uh1(P0&h1R0"i1M$GRA07Uh1M0BYh1:9:CC07Q1409Qi19(B. ->> 0,T;i1M9$S0JQh1'(B C-k 0,TMU1!$0CQi1'K09Vh1'(B. 0,T7h1R9(P`0Kg190Gh1R0MQ1!"CP(B Newline 0,T7Uh1M0BYh107i1RB:CC07Q1409Qi19(P06Y1!(B - 0,T&h1Rd;(B. +>> เคลื่อนเคอร์เซอร์ไปยังจุดเริ่มต้นของบรรทัดที่ไม่ใช่บรรทัดเปล่า. + แล้วป้อนคำสั่ง C-k เพื่อที่จะฆ่าข้อความที่อยู่บนบรรทัดนั้น. +>> ป้อนคำสั่ง C-k อีกครั้งหนึ่ง. ท่านจะเห็นว่าอักขระ Newline ที่อยู่ท้ายบรรทัดนั้นจะถูก + ฆ่าไป. -,T(P0JQ1'`!5d04i10Gh1R$S0JQh1'(B C-k ,T$S0JQh1'aC!(P0&h1R`09Wi1M$GRA"M':CC07Q14(B, ,TaEP$S0JQh1'(B C-k ,T$S0JQh1'(B -0,T7Uh1JM'(P0&h1R:CC07Q1409Qi19(B, ,TaEP(P"0BQ1::CC07Q140MWh19f(B 0,T7Uh1`K0EW1M07Qi1'KA40"Vi19(B. ,T$S0JQh1'(B C-k 0,T(Q14!RC0!Q1:(B -0,T5Q1G`E"MR0Cl10!T1G`A905l1c90EQ1!I3P07Uh1a5!05h1R'MM!d;(B: ,T$S0JQh1'09Ui1(P0&h1RKERBf(B ,T:CC07Q14aEP`09Wi1MKR"M'(B -0,T"i1M$GRA04i1GB(B. 0,T9Uh1d0Ah1`K0AW1M9!RC7S0+i1Sa::;C!05T1(B. ,T$S0JQh1'(B C-u 2 C-k ,T(P0&h1R07Qi1'JM':CC07Q14(B -,T>0Ci1MA07Qi1'0MQ1!"CP(B Newline ,T"M':CC07Q1409Qi19f(B 0,T4i1GB(B; 0,T+Vh1'05h1R'(R!!RC7S$S0JQh1'(B C-k ,TJM'$0CQi1'(B. +จะสังเกตได้ว่าคำสั่ง C-k คำสั่งแรกจะฆ่าเนื้อความของบรรทัด, และคำสั่ง C-k คำสั่ง +ที่สองจะฆ่าบรรทัดนั้น, และจะขยับบรรทัดอื่นๆ ที่เหลือทั้งหมดขึ้น. คำสั่ง C-k จัดการกับ +ตัวเลขอาร์กิวเมนต์ในลักษณะที่แตกต่างออกไป: คำสั่งนี้จะฆ่าหลายๆ บรรทัดและเนื้อหาของ +ข้อความด้วย. นี่ไม่เหมือนการทำซ้ำแบบปรกติ. คำสั่ง C-u 2 C-k จะฆ่าทั้งสองบรรทัด +พร้อมทั้งอักขระ Newline ของบรรทัดนั้นๆ ด้วย; ซึ่งต่างจากการทำคำสั่ง C-k สองครั้ง. -,Tc0*i1$S0JQh1'(B C-y ,Tc9!RC07Uh1(P`0CU1B!0$W190"i1M$GRA07Uh106Y1!0&h1Rd;K0EQ1'0JX14(B. 0,T"i1M$GRA07Uh106Y1!`0CU1B!0$W1909Qi19(P(B -,T;CR!/07Uh15SaK09h1'`$M0Cl1`+M0Cl10;Q1(0(X10:Q19(B. +ใช้คำสั่ง C-y ในการที่จะเรียกคืนข้อความที่ถูกฆ่าไปหลังสุด. ข้อความที่ถูกเรียกคืนนั้นจะ +ปรากฏที่ตำแหน่งเคอร์เซอร์ปัจจุบัน. ->> ,TEM'c0*i1$S0JQh1'(B C-y ,T`0>Wh1M07Uh1(P`0CU1B!0$W190"i1M$GRA!0EQ1:AR(B. +>> ลองใช้คำสั่ง C-y เพื่อที่จะเรียกคืนข้อความกลับมา. -,T$S0JQh1'(B C-y 0,T!g1`K0AW1M9!RC`0CU1B!0$W190JTh1'"M'07Uh1c$C:R'$9d04i1`MRd;(R!07h1R9(B. 0,T7h1R9(P0JQ1'`!5d04i10Gh1R(B -0,T6i1R07h1R9c0*i1$S0JQh1'(B C-k 0,T5T1405h1M0!Q19KERBf(B ,T$0CQi1'(B, 0,T"i1M$GRA07Uh106Y1!0&h1Rd;07Qi1'KA4(P06Y1!`0!g1:d0Gi104i1GB0!Q19(B, -,T)P09Qi19!RCc0*i1$S0JQh1'(B C-y ,T`0>U1B'$0CQi1'`04U1BG0!g1(P`0CU1B!0$W190"i1M$GRA!0EQ1:ARd04i107Qi1'KA4(B. +คำสั่ง C-y ก็เหมือนการเรียกคืนสิ่งของที่ใครบางคนได้เอาไปจากท่าน. ท่านจะสังเกตได้ว่า +ถ้าท่านใช้คำสั่ง C-k ติดต่อกันหลายๆ ครั้ง, ข้อความที่ถูกฆ่าไปทั้งหมดจะถูกเก็บไว้ด้วยกัน, +ฉะนั้นการใช้คำสั่ง C-y เพียงครั้งเดียวก็จะเรียกคืนข้อความกลับมาได้ทั้งหมด. ->> ,TEM'c0*i1$S0JQh1'(B C-k ,TKERBf(B ,T$0CQi1'04Y1(B. +>> ลองใช้คำสั่ง C-k หลายๆ ครั้งดู. -,T`0>Wh1M07Uh1(P`0CU1B!0$W190"i1M$GRA07Uh106Y1!0&h1Rd;(B: +เพื่อที่จะเรียกคืนข้อความที่ถูกฆ่าไป: ->> ,TEM'c0*i1$S0JQh1'(B C-y. ,Ta0Ei1G`$0EWh1M9`$M0Cl1`+M0Cl1E'd;0JQ1!JM'JRA:CC07Q14(B, ,Ta0Ei1Gc0*i1$S0JQh1'(B C-y - 0,TMU1!$0CQi1'(B. 0,T7h1R9(P`0"i1Rc(0GT108U1!RC07Uh1(PJS`9R0"i1M$GRA(B. +>> ลองใช้คำสั่ง C-y. แล้วเคลื่อนเคอร์เซอร์ลงไปสักสองสามบรรทัด, แล้วใช้คำสั่ง C-y + อีกครั้ง. ท่านจะเข้าใจวิธีการที่จะสำเนาข้อความ. -0,T7h1R9(P7SM0Bh1R'dC06i1R07h1R905i1M'!RC(P`0CU1B!0$W190"i1M$GRA:R'M0Bh1R'(B, ,Ta0Ei1G0&h1R:R'M0Bh1R'MM!d;(B? -,T$S0JQh1'(B C-y ,T(P`0CU1B!0$W190"i1M$GRA07Uh106Y1!0&h1R0Eh1R0JX14(B. ,Ta05h10"i1M$GRA0!h1M9K09i1R09Qi190BQ1'$'`K0EW1MM0BYh1(B. 0,T7h1R9(B -,TJRARC6(P`0CU1B!0$W19ARd04i10MU1!b4Bc0*i1$S0JQh1'(B M-y. ,TK0EQ1'(R!07Uh107h1R9d04i1`0CU1B!0$W190"i1M$GRA0Eh1R0JX14a0Ei1G(B, -,Tc0*i1$S0JQh1'(B M-y ,T`0>Wh1M07Uh1(P`0CU1B!0$W190"i1M$GRA0!h1M9K09i1R09Qi19ARa7907Uh1(B. ,T!RCc0*i1$S0JQh1'(B M-y ,Ta05h1EP$0CQi1'(B -,T(P`0CU1B!0$W190"i1M$GRA07Uh106Y1!0&h1Rd;c9ES04Q1:07Uh10Bi1M9!0EQ1:0"Vi19d;(B. ,T`0AWh1M07h1R9d04i10"i1M$GRA07Uh105i1M'!RC!0EQ1:0$W19AR(B, -0,T7h1R90!g1d0Ah1(S`0;g1907Uh1(P05i1M'7SMPdC0!Q1:0"i1M$GRA09Qi190MU1!(B. ,T`0>U1B';0Eh1MBM0BYh1M0Bh1R'09Qi19(B, ,Ta0Ei1G7S!RCa0!i1d"(B -0,T"i1M$GRA0MWh1905h1Md;(B. +ท่านจะทำอย่างไรถ้าท่านต้องการจะเรียกคืนข้อความบางอย่าง, แล้วฆ่าบางอย่างออกไป? +คำสั่ง C-y จะเรียกคืนข้อความที่ถูกฆ่าล่าสุด. แต่ข้อความก่อนหน้านั้นยังคงเหลืออยู่. ท่าน +สามารถจะเรียกคืนมาได้อีกโดยใช้คำสั่ง M-y. หลังจากที่ท่านได้เรียกคืนข้อความล่าสุดแล้ว, +ใช้คำสั่ง M-y เพื่อที่จะเรียกคืนข้อความก่อนหน้านั้นมาแทนที่. การใช้คำสั่ง M-y แต่ละครั้ง +จะเรียกคืนข้อความที่ถูกฆ่าไปในลำดับที่ย้อนกลับขึ้นไป. เมื่อท่านได้ข้อความที่ต้องการกลับคืนมา, +ท่านก็ไม่จำเป็นที่จะต้องทำอะไรกับข้อความนั้นอีก. เพียงปล่อยอยู่อย่างนั้น, แล้วทำการแก้ไข +ข้อความอื่นต่อไป. -0,T6i1R07h1R9c0*i1$S0JQh1'(B M-y 0,T4i1GB(S9G9$0CQi1'07Uh1AR!>M(B, 0,T7h1R9(P0Bi1M9!0EQ1:AR0BQ1'0(X14`0CTh1A05i190MU1!$0CQi1'(B -(0,T"i1M$GRA07Uh106Y1!0&h1Rd;0Eh1R0JX14(B). +ถ้าท่านใช้คำสั่ง M-y ด้วยจำนวนครั้งที่มากพอ, ท่านจะย้อนกลับมายังจุดเริ่มต้นอีกครั้ง +(ข้อความที่ถูกฆ่าไปล่าสุด). ->> 0,T&h1RK09Vh1':CC07Q14(B, ,T`$0EWh1M9`$M0Cl1`+M0Cl1d;(B, 0,T&h1R0MU1!:CC07Q14(B. - ,Ta0Ei1Gc0*i1$S0JQh1'(B C-y ,T`0>Wh1M07Uh1(P`0CU1B!0$W19:CC07Q1407Uh106Y1!0&h1Rd;c9$0CQi1'07Uh1JM'(B. - ,Ta0Ei1Gc0*i1$S0JQh1'(B M-y 0,T+Vh1'(P`0CV1B!0$W19:CC07Q1407Uh106Y1!0&h1Rd;c9$0CQi1'aC!ARa7907Uh1(B. - ,Tc0*i1$S0JQh1'(B M-y 0,TMU1!(B, ,Ta0Ei1G04Y10Gh1R(P`0!T14MPdC0"Vi19(B. ,TEM'7Sd;`0CWh1MBf(B ,T(9!0Gh1R:CC07Q1407Uh106Y1!0&h1Rd;(B - ,Tc9$0CQi1'07Uh1JM'(P!0EQ1:0$W19AR(B, ,Ta0Ei1G7Sd;0MU1!0JQ1!CPBP(B. - 0,T6i1R07h1R905i1M'!RC(B, 0,T7h1R9MR((PEM'!S0!Q1:05Q1G`E"MR0Cl10!T1G`A905l107Qi1'07Uh1`0;g19(S9G9:G!aEPE:c0Ki10!Q1:(B - ,T$S0JQh1'(B M-y 0,T4Y1(B. +>> ฆ่าหนึ่งบรรทัด, เคลื่อนเคอร์เซอร์ไป, ฆ่าอีกบรรทัด. + แล้วใช้คำสั่ง C-y เพื่อที่จะเรียกคืนบรรทัดที่ถูกฆ่าไปในครั้งที่สอง. + แล้วใช้คำสั่ง M-y ซึ่งจะเรึยกคืนบรรทัดที่ถูกฆ่าไปในครั้งแรกมาแทนที่. + ใช้คำสั่ง M-y อีก, แล้วดูว่าจะเกิดอะไรขึ้น. ลองทำไปเรื่อยๆ จนกว่าบรรทัดที่ถูกฆ่าไป + ในครั้งที่สองจะกลับคืนมา, แล้วทำไปอีกสักระยะ. + ถ้าท่านต้องการ, ท่านอาจจะลองกำกับตัวเลขอาร์กิวเมนต์ทั้งที่เป็นจำนวนบวกและลบให้กับ + คำสั่ง M-y ดู. -* ,T!RC7S0Bi1M9(B (undo) +* การทำย้อน (undo) ------------------- -0,T6i1R07h1R9d04i1a0!i1d"0"i1M$GRAd;(B, ,TaEP0$T140Gh1Rd04i17S0<T14>ER4d;(B, 0,T7h1R9JRARC67S0Bi1M90JTh1'07Uh1d04i1(B -,T`;0EUh1B9a;E'd;a0Ei1G04i1GB$S0JQh1'!RC7S0Bi1M9(B, C-x u. +ถ้าท่านได้แก้ไขข้อความไป, และคิดว่าได้ทำผิดพลาดไป, ท่านสามารถทำย้อนสิ่งที่ได้ +เปลี่ยนแปลงไปแล้วด้วยคำสั่งการทำย้อน, C-x u. -,Tb4B;C!05T1(B, ,T$S0JQh1'(B C-x u ,T7S0Bi1M9$S0JQh1'07Uh1d04i17Sd;a0Ei1GK09Vh1'$S0JQh1'(B; 0,T6i1R07h1R97S0Bi1M90+i1S05T1405h1M0!Q19(B, -,T!RC7S0Bi1M9a05h1EP$0CQi1'(P0Bi1M9$S0JQh1'd;07U1EP$S0JQh1'(B. +โดยปรกติ, คำสั่ง C-x u ทำย้อนคำสั่งที่ได้ทำไปแล้วหนึ่งคำสั่ง; ถ้าท่านทำย้อนซ้ำติดต่อกัน, +การทำย้อนแต่ละครั้งจะย้อนคำสั่งไปทีละคำสั่ง. -,Ta05h10AU10"i1MB!`0Gi19M0BYh1JM';CP!RC(B: ,T$S0JQh1'07Uh1d0Ah1`;0EUh1B9a;E'0"i1M$GRA(Pd0Ah109Q1:CGAM0BYh104i1GB(B (0,T9Uh1CGA06V1'(B -,T$S0JQh1'!RC`$0EWh1M9`$M0Cl1`+M0Cl1aEP!RC`$0EWh1M90Ai1G9(B), ,TaEP!RCa7C!05Q1G0MQ1!IC0!g1(P06Y1!0(Q14!RCb4BCGA(B -,T`0;g19!0EXh1A07Uh1d0Ah1`0!T19(B 20 0,T5Q1G0MQ1!IC05h1M!0EXh1A(B. (0,T7Qi1'09Ui1`0>Wh1ME4(S9G9$0CQi1'"M'$S0JQh1'(B C-x u ,Tc9!RC7S(B -0,TBi1M9!RCa7C!05Q1G0MQ1!IC(B.) +แต่มีข้อยกเว้นอยู่สองประการ: คำสั่งที่ไม่เปลี่ยนแปลงข้อความจะไม่นับรวมอยู่ด้วย (นี่รวมถึง +คำสั่งการเคลื่อนเคอร์เซอร์และการเคลื่อนม้วน), และการแทรกตัวอักษรก็จะถูกจัดการโดยรวม +เป็นกลุ่มที่ไม่เกิน 20 ตัวอักษรต่อกลุ่ม. (ทั้งนี้เพื่อลดจำนวนครั้งของคำสั่ง C-x u ในการทำ +ย้อนการแทรกตัวอักษร.) ->> 0,T&h1R:CC07Q1409Ui104i1GB$S0JQh1'(B C-k, ,Ta0Ei1G0;i1M9$S0JQh1'(B C-x u. ,T:CC07Q1407Uh106Y1!0&h1Rd;(P;CR!/!0EQ1:0$W19AR(B. +>> ฆ่าบรรทัดนี้ด้วยคำสั่ง C-k, แล้วป้อนคำสั่ง C-x u. บรรทัดที่ถูกฆ่าไปจะปรากฏกลับคืนมา. -,T$S0JQh1'(B C-_ ,T`0;g190MU1!$S0JQh1'K09Vh1'JSK0CQ1:!RC7S0Bi1M9(B; ,T$S0JQh1'09Ui17S'R9`K0AW1M90!Q1:$S0JQh1'(B C-x u, -,Ta05h10Gh1RJP4G!!0Gh1Rc9!RC0;i1M9KERBf(B ,T$0CQi1'05T1405h1M0!Q19(B. 0,T"i1M`0JU1B"M'$S0JQh1'(B C-_ 0,T9Ui10$W1Mc9:R'(B -,Ta0;i190>T1A0>l1(B, ,TMR((Pd0Ah17CR:0Gh1R(P0;i1M9$S0JQh1'd04i1M0Bh1R'dC(B. 0,T9Qh190$W1M`K05X107Uh17Sc0Ki1`CR05i1M'`50CU1BA$S0JQh1'(B -C-x u ,Tc0Ki10MU1!05h1R'KR!(B. ,Tc9`$0CWh1M';ERB7R':R'*09T14(B,0,T7h1R9MR((P0;i1M9$S0JQh1'(B C-_ ,Td04i1b4B!RC!4(B -0,TMQ1!"CP(B / ,Tc9"3P07Uh1!40;Xh1A(B CONTROL. +คำสั่ง C-_ เป็นอีกคำสั่งหนึ่งสำหรับการทำย้อน; คำสั่งนี้ทำงานเหมือนกับคำสั่ง C-x u, +แต่ว่าสะดวกกว่าในการป้อนหลายๆ ครั้งติดต่อกัน. ข้อเสียของคำสั่ง C-_ นี้คือในบาง +แป้นพิมพ์, อาจจะไม่ทราบว่าจะป้อนคำสั่งได้อย่างไร. นั่นคือเหตุที่ทำให้เราต้องเตรียมคำสั่ง +C-x u ให้อีกต่างหาก. ในเครื่องปลายทางบางชนิด,ท่านอาจจะป้อนคำสั่ง C-_ ได้โดยการกด +อักขระ / ในขณะที่กดปุ่ม CONTROL. -0,T5Q1G`E"MR0Cl10!T1G`A905l1JSK0CQ1:$S0JQh1'(B C-_ ,TaEP(B C-x u ,T(P`0;g19!RC0+i1S(S9G9$0CQi1'"M'$S0JQh1'(B. +ตัวเลขอาร์กิวเมนต์สำหรับคำสั่ง C-_ และ C-x u จะเป็นการซ้ำจำนวนครั้งของคำสั่ง. -* ,Ta0?i1A0"i1M0AY1E(B (file) +* แฟ้มข้อมูล (file) ---------------- -,T`0>Wh1M07Uh1(P`0!g1:0"i1M$GRA07Uh1d04i1a0!i1d"d;09Qi19(B, 0,T7h1R9(P05i1M'`0!g1:0"i1M$GRA09Qi19d0Gi1c9a0?i1A0"i1M0AY1E(B. ,Td0Ah1`0*h1909Qi19(B -0,T"i1M$GRA0!g1(PKRBd;`0AWh1M07h1R9`0ET1!c0*i10MU1aA!0Jl1(B. ,T!RC07Uh1(P`0!g1:0"i1M$GRA09Qi19E'c9a0?i1A0"i1M0AY1E(B, 0,T7h1R9(B -,T(P05i1M'(B "0,T$i19KR(B (find)" ,Ta0?i1A0"i1M0AY1E0!h1M907Uh1(P`0"i1Rd;c90"i1M$GRA09Qi19d04i1(B. (0,T9Uh1`0CU1B!0Gh1R(B ",T!RC(B -,T`0BW1M9(B (visiting)" ,Ta0?i1A0"i1M0AY1E(B.) +เพื่อที่จะเก็บข้อความที่ได้แก้ไขไปนั้น, ท่านจะต้องเก็บข้อความนั้นไว้ในแฟ้มข้อมูล. ไม่เช่นนั้น +ข้อความก็จะหายไปเมื่อท่านเลิกใช้อีแมกส์. การที่จะเก็บข้อความนั้นลงในแฟ้มข้อมูล, ท่าน +จะต้อง "ค้นหา (find)" แฟ้มข้อมูลก่อนที่จะเข้าไปในข้อความนั้นได้. (นี่เรียกว่า "การ +เยือน (visiting)" แฟ้มข้อมูล.) -,T!RC0$i19KRa0?i1A0"i1M0AY1EKARB06V1'!RC07Uh107h1R9d04i1`0Kg19`09Wi1MKR"M'a0?i1A0"i1M0AY1E@RBc90MU1aA!0Jl1(B. ,Tc9KERBf(B -,T7R'(B, 0,T4Y1`K0AW1M90Gh1R07h1R9!S0EQ1'a0!i1d"0"i1M0AY1Ec9a0?i1A0"i1M0AY1EM0BYh1(B. ,TM0Bh1R'dC0!g15RA(B, ,T!RCa0!i1d"@RBc90MU1(B -,TaA!0Jl109Qi19(Pd0Ah1$'M0BYh1(9!0Gh1R07h1R9(P(B "0,T(Q14`0!g1:(B (save)" ,Ta0?i1A0"i1M0AY1E09Qi19(B. 0,T9Uh1`0;g19!RC0*h1GBc0Ki107h1R9(B -,TJRARC6K0EU1!`0EUh1B'!RC7Sc0Ki1a0?i1A0"i1M0AY1E06Y1!a0!i1d"d0Gi1$0CVh1'f(B ,T!ER'f(B 0,T6i1R07h1R9d0Ah1d04i105i1M'!RC(B. ,Ta0Ai10Gh1R(B -0,T7h1R9(P7S!RC0(Q14`0!g1:d;a0Ei1G0!g15RA(B, 0,TMU1aA!0Jl10!g10BQ1'$'`K0EW1Ma0?i1A0"i1M0AY1E05i19)0:Q1:d0Gi1b4B`0!g1:d0Gi1c90*Wh1M(B -,TcK0Ah1(B, ,T`0<Wh1Md0Gi1c9!C03U107Uh107h1R9a0!i1d"0<T14>ER4(B. +การค้นหาแฟ้มข้อมูลหมายถึงการที่ท่านได้เห็นเนื้อหาของแฟ้มข้อมูลภายในอีแมกส์. ในหลายๆ +ทาง, ดูเหมือนว่าท่านกำลังแก้ไขข้อมูลในแฟ้มข้อมูลอยู่. อย่างไรก็ตาม, การแก้ไขภายในอี +แมกส์นั้นจะไม่คงอยู่จนกว่าท่านจะ "จัดเก็บ (save)" แฟ้มข้อมูลนั้น. นี่เป็นการช่วยให้ท่าน +สามารถหลีกเลี่ยงการทำให้แฟ้มข้อมูลถูกแก้ไขไว้ครึ่งๆ กลางๆ ถ้าท่านไม่ได้ต้องการ. แม้ว่า +ท่านจะทำการจัดเก็บไปแล้วก็ตาม, อีแมกส์ก็ยังคงเหลือแฟ้มข้อมูลต้นฉบับไว้โดยเก็บไว้ในชื่อ +ใหม่, เผื่อไว้ในกรณีที่ท่านแก้ไขผิดพลาด. -0,T6i1R07h1R90JQ1'`!504Y10Jh1G90Eh1R'"M'K09i1R(M"M'0MU1aA!0Jl1(B, 0,T7h1R9(P`0Kg19:CC07Q1407Uh1`0CTh1A05i19aEP0JTi190JX1404i1GB(B -,T`0Ji19;CP(B. ,T:CC07Q1409Qi19MR((P`0CTh1A05i1904i1GB(B "--:-- TUTORIAL" ,TK0CW1MMPdC7S9M'09Qi19(B. 0,TJh1G909Ui1(B -,T"M'K09i1R(M(B, ,Tb4B;C!05T1a0Ei1G(B, ,T(PaJ4'0*Wh1Ma0?i1A0"i1M0AY1E07Uh107h1R9!S0EQ1'`0BW1M9M0BYh1(B. ,T"3P09Ui107h1R9!S0EQ1'(B -,T`0BW1M9a0?i1A0"i1M0AY1E07Uh10*Wh1M0Gh1R(B "TUTORIAL.th" 0,T+Vh1'`0;g19JS`9R"M'0$Yh10AW1M!RCc0*i10MU1aA!0Jl1(B. ,T`0AWh1M07h1R9d04i1(B -,T`0BW1M9a0?i1A0"i1M0AY1E04i1GB0MU1aA!0Jl1(B, 0,T*Wh1M"M'a0?i1A0"i1M0AY1E09Qi19(P;CR!/c907Uh107Uh1d04i1!0Eh1RGd0Gi1a0Ei1G(B. +ถ้าท่านสังเกตดูส่วนล่างของหน้าจอของอีแมกส์, ท่านจะเห็นบรรทัดที่เริ่มต้นและสิ้นสุดด้วย +เส้นประ. บรรทัดนั้นอาจจะเริ่มต้นด้วย "--:-- TUTORIAL" หรืออะไรทำนองนั้น. ส่วนนี้ +ของหน้าจอ, โดยปรกติแล้ว, จะแสดงชื่อแฟ้มข้อมูลที่ท่านกำลังเยือนอยู่. ขณะนี้ท่านกำลัง +เยือนแฟ้มข้อมูลที่ชื่อว่า "TUTORIAL.th" ซึ่งเป็นสำเนาของคู่มือการใช้อีแมกส์. เมื่อท่านได้ +เยือนแฟ้มข้อมูลด้วยอีแมกส์, ชื่อของแฟ้มข้อมูลนั้นจะปรากฏในที่ที่ได้กล่าวไว้แล้ว. -0,TEQ1!I3P0>T1`HI0"i1MK09Vh1'"M'$S0JQh1'`0BW1M9a0?i1A0"i1M0AY1E0$W1M(B 0,T7h1R9(P05i1M':M!0*Wh1M"M'a0?i1A0"i1M0AY1E07Uh1(P(B -,T`0BW1M9(B. ,T`CR`0CU1B!0EQ1!I3P`0*h1909Ui10Gh1R(B "0,TMh1R9MR0Cl10!T1G`A905l1(R!`$0CWh1M';ERB7R'(B" (,Tc9!C03U109Ui1(B, ,TMR0Cl1(B -0,T!T1G`A905l10!g10$W1M0*Wh1M"M'a0?i1A0"i1M0AY1E(B). ,TK0EQ1'(R!07Uh107h1R90;i1M9$S0JQh1'(B +ลักษณะพิเศษข้อหนึ่งของคำสั่งเยือนแฟ้มข้อมูลคือ ท่านจะต้องบอกชื่อของแฟ้มข้อมูลที่จะ +เยือน. เราเรียกลักษณะเช่นนี้ว่า "อ่านอาร์กิวเมนต์จากเครื่องปลายทาง" (ในกรณีนี้, อาร์ +กิวเมนต์ก็คือชื่อของแฟ้มข้อมูล). หลังจากที่ท่านป้อนคำสั่ง C-x C-f Find a file -0,TMU1aA!0Jl1(P6RA0*Wh1Ma0?i1A0"i1M0AY1E(B. 0,T*Wh1Ma0?i1A0"i1M0AY1E07Uh107h1R90;i1M9`0"i1Rd;(P;CR!/07Uh1:CC07Q140Eh1R'"M'K09i1R(M(B. -,T:CC07Q140Eh1R'"M'K09i1R(M`0CU1B!0Gh1R0AT109T10:Q1?`?M0Cl1(B (minibuffer) ,T`0AWh1M06Y1!c0*i1'R9c90EQ1!I3P09Ui1(B. -0,T7h1R9JRARC6c0*i1$S0JQh1'07Uh1c0*i1c9!RCa0!i1d";C!05T1"M'0MU1aA!0Jl1a0!i1d"0*Wh1M"M'a0?i1A0"i1M0AY1E(B. +อีแมกส์จะถามชื่อแฟ้มข้อมูล. ชื่อแฟ้มข้อมูลที่ท่านป้อนเข้าไปจะปรากฏที่บรรทัดล่างของหน้าจอ. +บรรทัดล่างของหน้าจอเรียกว่ามินิบัฟเฟอร์ (minibuffer) เมื่อถูกใช้งานในลักษณะนี้. +ท่านสามารถใช้คำสั่งที่ใช้ในการแก้ไขปรกติของอีแมกส์แก้ไขชื่อของแฟ้มข้อมูล. -,T"3P07Uh107h1R9!S0EQ1'0;i1M90*Wh1Ma0?i1A0"i1M0AY1E(B (,TK0CW1M0"i1M0AY1Ec4f(B ,Tc90AT109T10:Q1?`?M0Cl109Ui1(B), 0,T7h1R9JRARC6(B -,TB!`0ET1!$S0JQh1'04i1GB!RCc0*i1$S0JQh1'(B C-g. +ขณะที่ท่านกำลังป้อนชื่อแฟ้มข้อมูล (หรือข้อมูลใดๆ ในมินิบัฟเฟอร์นี้), ท่านสามารถ +ยกเลิกคำสั่งด้วยการใช้คำสั่ง C-g. ->> 0,T;i1M9$S0JQh1'(B C-x C-f, ,Ta0Ei1G0;i1M9$S0JQh1'(B C-g. 0,T9Uh1`0;g19!RCB!`0ET1!0AT109T10:Q1?`?M0Cl1(B, ,TaEP(B - ,TB!`0ET1!$S0JQh1'(B C-x C-f 0,T7Uh1!S0EQ1'c0*i10AT109T10:Q1?`?M0Cl1M0BYh1(B. ,T<E0EQ1>08l10$W1M07h1R9(Pd0Ah1d04i1`0BW1M9(B - ,Ta0?i1A0"i1M0AY1Ec4f(B. +>> ป้อนคำสั่ง C-x C-f, แล้วป้อนคำสั่ง C-g. นี่เป็นการยกเลิกมินิบัฟเฟอร์, และ + ยกเลิกคำสั่ง C-x C-f ที่กำลังใช้มินิบัฟเฟอร์อยู่. ผลลัพธ์คือท่านจะไม่ได้เยือน + แฟ้มข้อมูลใดๆ. -,T`0AWh1M07h1R9d04i10;i1M90*Wh1Ma0?i1A0"i1M0AY1E`J0Cg1(a0Ei1G(B, ,T!40;Xh1A(B <Return> ,T`0>Wh1M07Uh1(P0JTi190JX14$S0JQh1'(B. ,Ta0Ei1G$S0JQh1'(B -C-x C-f 0,T!g1(P7S'R9(B, ,TaEP(P`0BW1M9a0?i1A0"i1M0AY1E07Uh107h1R9d04i1`0EW1M!d0Gi1(B. 0,TAT109T10:Q1?`?M0Cl1(P(B -,TKRBd;`0AWh1M`J0Cg1(0JTi19$S0JQh1'(B C-x C-f. +เมื่อท่านได้ป้อนชื่อแฟ้มข้อมูลเสร็จแล้ว, กดปุ่ม <Return> เพื่อที่จะสิ้นสุดคำสั่ง. แล้วคำสั่ง +C-x C-f ก็จะทำงาน, และจะเยือนแฟ้มข้อมูลที่ท่านได้เลือกไว้. มินิบัฟเฟอร์จะ +หายไปเมื่อเสร็จสิ้นคำสั่ง C-x C-f. -,TK0EQ1'(R!09Qi19d0Ah19R9`09Wi1MKR"M'a0?i1A0"i1M0AY1E0!g1(P;CR!/:9K09i1R(M(B, ,TaEP07h1R90!g1(PJRARC6a0!i1d"(B -,T`09Wi1MKRd04i1(B. ,T`0AWh1M07h1R905i1M'!RC(Pa0!i1d"0"i1M$GRAM0Bh1R'6RGC(B, 0,T!g1c0Ki1c0*i1$S0JQh1'(B +หลังจากนั้นไม่นานเนื้อหาของแฟ้มข้อมูลก็จะปรากฏบนหน้าจอ, และท่านก็จะสามารถแก้ไข +เนื้อหาได้. เมื่อท่านต้องการจะแก้ไขข้อความอย่างถาวร, ก็ให้ใช้คำสั่ง C-x C-s Save the file -,T$S0JQh1'09Ui1(P7SJS`9R0"i1M$GRA07Uh1M0BYh1c90MU1aA!0Jl1`0"i1Rd;`0!g1:d0Gi1c9a0?i1A0"i1M0AY1E(B. ,Tc9!RC!CP7S`0*h1909Ui1c9(B -,T$0CQi1'aC!0JX14(B, 0,TMU1aA!0Jl1(P`;0EUh1B90*Wh1Ma0?i1A0"i1M0AY1E05i19)0:Q1:`0>Wh1M0Gh1R(Pd04i1$'d0Gi1(B. 0,T*Wh1McK0Ah109Qi1905Qi1'0"Vi19b4B(B -,T!RC`05T1A(B "~" ,T`0"i1Rd;07i1RB0*Wh1Ma0?i1A0"i1M0AY1E05i19)0:Q1:(B. +คำสั่งนี้จะทำสำเนาข้อความที่อยู่ในอีแมกส์เข้าไปเก็บไว้ในแฟ้มข้อมูล. ในการกระทำเช่นนี้ใน +ครั้งแรกสุด, อีแมกส์จะเปลี่ยนชื่อแฟ้มข้อมูลต้นฉบับเพื่อว่าจะได้คงไว้. ชื่อใหม่นั้นตั้งขึ้นโดย +การเติม "~" เข้าไปท้ายชื่อแฟ้มข้อมูลต้นฉบับ. -,T`0AWh1M7S!RC0(Q14`0!g1:`0CU1B:0Ci1MBa0Ei1G(B, 0,TMU1aA!0Jl1(P0>T1A0>l10*Wh1Ma0?i1A0"i1M0AY1E09Qi19(B. 0,T7h1R9$GC(P0(Q14`0!g1:0"i1M0AY1E(B -0,T:h1MBf(B, ,T`0>Wh1M0Gh1R07h1R9(Pd04i1d0Ah105i1M'`0JU1B'R9d;AR!09Q1!KR!CP::`0!T140"Q140"i1M'(B. +เมื่อทำการจัดเก็บเรียบร้อยแล้ว, อีแมกส์จะพิมพ์ชื่อแฟ้มข้อมูลนั้น. ท่านควรจะจัดเก็บข้อมูล +บ่อยๆ, เพื่อว่าท่านจะได้ไม่ต้องเสียงานไปมากนักหากระบบเกิดขัดข้อง. ->> 0,T;i1M9$S0JQh1'(B C-x C-s, ,T`0>Wh1M0(Q14`0!g1:JS`9R0$Yh10AW1M!RCc0*i1"M'07h1R9(B. - ,T(P;CR!/(B "Write ...TUTORIAL.th" 0,T7Uh1:CC07Q140Eh1R'0JX14"M'K09i1R(M(B. +>> ป้อนคำสั่ง C-x C-s, เพื่อจัดเก็บสำเนาคู่มือการใช้ของท่าน. + จะปรากฏ "Write ...TUTORIAL.th" ที่บรรทัดล่างสุดของหน้าจอ. -0,T7h1R9JRARC6(P`0BW1M9a0?i1A0"i1M0AY1E07Uh10AU1M0BYh1a0Ei1G(B, ,T`0>Wh1M07Uh1(P04Y1K0CW1Ma0!i1d"(B. 0,T7h1R9JRARC6(P`0BW1M9(B -,Ta0?i1A0"i1M0AY1E07Uh10BQ1'd0Ah1;CR!/0!g1d04i1(B. 0,T9Uh1`0;g19!RCJ0Ci1R'a0?i1A0"i1M0AY1EcK0Ah1"M'0MU1aA!0Jl1(B: ,T`0BW1M9a0?i1A0"i1M0AY1E(B, -0,T+Vh1'(P`0CTh1A05i1904i1GBK09i1R(M0Gh1R'`;0Eh1R(B, ,Ta0Ei1G7S!RCa7C!0"i1M$GRA`0>Wh1M07Uh1(PJ0Ci1R'`0;g19a0?i1A0"i1M0AY1E05h1Md;(B. -,T`0AWh1M07h1R90JQh1'c0Ki1(B "0,T(Q14`0!g1:(B (save)" ,Ta0?i1A0"i1M0AY1E(B, 0,TMU1aA!0Jl10(V1'(PJ0Ci1R'a0?i1A0"i1M0AY1E04i1GB0"i1M$GRA07Uh1(B -0,T7h1R9d04i10;i1M9`0"i1Rd;(B. ,T(R!09Ui1d;(B, 0,T7h1R9JRARC6(P05Q140JT19c(EM'a0!i1d"a0?i1A0"i1M0AY1E07Uh10AU1M0BYh1a0Ei1Gd04i1(B. +ท่านสามารถจะเยือนแฟ้มข้อมูลที่มีอยู่แล้ว, เพื่อที่จะดูหรือแก้ไข. ท่านสามารถจะเยือน +แฟ้มข้อมูลที่ยังไม่ปรากฏก็ได้. นี่เป็นการสร้างแฟ้มข้อมูลใหม่ของอีแมกส์: เยือนแฟ้มข้อมูล, +ซึ่งจะเริ่มต้นด้วยหน้าจอว่างเปล่า, แล้วทำการแทรกข้อความเพื่อที่จะสร้างเป็นแฟ้มข้อมูลต่อไป. +เมื่อท่านสั่งให้ "จัดเก็บ (save)" แฟ้มข้อมูล, อีแมกส์จึงจะสร้างแฟ้มข้อมูลด้วยข้อความที่ +ท่านได้ป้อนเข้าไป. จากนี้ไป, ท่านสามารถจะตัดสินใจลองแก้ไขแฟ้มข้อมูลที่มีอยู่แล้วได้. -* 0,T:Q1?`?M0Cl1(B (buffer) +* บัฟเฟอร์ (buffer) ----------------- -0,T6i1R07h1R9`0BW1M90MU1!a0?i1A0"i1M0AY1Eb4Bc0*i1$S0JQh1'(B C-x C-f, ,Ta0?i1A0"i1M0AY1EaC!(P0BQ1'$'M0BYh1c90MU1aA!0Jl1(B. 0,T7h1R9(B -,TJRARC6(PJ0EQ1:!0EQ1:d;d04i10MU1!b4Bc0*i1$S0JQh1'(B C-x C-f. 0,TGT108U109Ui1(P7Sc0Ki107h1R9JRARC6`0BW1M9a0?i1A0"i1M0AY1E(B -,T@RBc90MU1aA!0Jl1d04i1(S9G9K09Vh1'(B. +ถ้าท่านเยือนอีกแฟ้มข้อมูลโดยใช้คำสั่ง C-x C-f, แฟ้มข้อมูลแรกจะยังคงอยู่ในอีแมกส์. ท่าน +สามารถจะสลับกลับไปได้อีกโดยใช้คำสั่ง C-x C-f. วิธีนี้จะทำให้ท่านสามารถเยือนแฟ้มข้อมูล +ภายในอีแมกส์ได้จำนวนหนึ่ง. ->> ,TJ0Ci1R'a0?i1A0"i1M0AY1EaEPc0Ki10*Wh1M0Gh1R(B "foo" ,Tb4B!RC0;i1M9$S0JQh1'(B C-x C-f foo <Return>. - ,Ta0Ei1G0;i1M90"i1M$GRA(B, ,Ta0!i1d"(B, ,TaEP0(Q14`0!g1:(B "foo" ,Tb4B!RC0;i1M9$S0JQh1'(B C-x C-s. - 0,TJX1407i1RB(B, 0,T;i1M9$S0JQh1'(B C-x C-f TUTORIAL <Return> ,T`0>Wh1M(Pd04i10Bi1M9!0EQ1:AR07Uh10"i1M$GRA(B - ,T"M'0$Yh10AW1M!RCc0*i1(B. +>> สร้างแฟ้มข้อมูลและให้ชื่อว่า "foo" โดยการป้อนคำสั่ง C-x C-f foo <Return>. + แล้วป้อนข้อความ, แก้ไข, และจัดเก็บ "foo" โดยการป้อนคำสั่ง C-x C-s. + สุดท้าย, ป้อนคำสั่ง C-x C-f TUTORIAL <Return> เพื่อจะได้ย้อนกลับมาที่ข้อความ + ของคู่มือการใช้. -0,TMU1aA!0Jl1`0!g1:0"i1M$GRA"M'a05h1EPa0?i1A0"i1M0AY1E@RBc90JTh1'f(B (object) ,TK09Vh1'(B, 0,T+Vh1'`0CU1B!0Gh1R(B "0,T:Q1?`?M0Cl1(B -(buffer)". ,T!RC`0BW1M9a0?i1A0"i1M0AY1E`0;g19!RCJ0Ci1R'0:Q1?`?M0Cl1cK0Ah1@RBc90MU1aA!0Jl1(B. ,Tc9!RC07Uh1(P04Y1(B -,TCRB!RC"M'0:Q1?`?M0Cl107Uh10AU1M0BYh1c90MU1aA!0Jl109Qi19(B, ,Tc0Ki10;i1M9$S0JQh1'(B: +อีแมกส์เก็บข้อความของแต่ละแฟ้มข้อมูลภายในสิ่งๆ (object) หนึ่ง, ซึ่งเรียกว่า "บัฟเฟอร์ +(buffer)". การเยือนแฟ้มข้อมูลเป็นการสร้างบัฟเฟอร์ใหม่ภายในอีแมกส์. ในการที่จะดู +รายการของบัฟเฟอร์ที่มีอยู่ในอีแมกส์นั้น, ให้ป้อนคำสั่ง: C-x C-b List buffers ->> ,TEM'0;i1M9$S0JQh1'(B C-x C-b 0,T4Y1(B. +>> ลองป้อนคำสั่ง C-x C-b ดู. -0,T4Y10Gh1Ra05h1EP0:Q1?`?M0Cl10AU10*Wh1M0Gh1RMPdC(B, ,TaEP:R'0MQ190!g1`0;g190*Wh1M"M'a0?i1A0"i1M0AY1E07Uh10AU1`09Wi1MKR09Qi19f(B ,TM0BYh1(B. ,T:R'(B -0,T:Q1?`?M0Cl1d0Ah1d04i1`0!Uh1BG0"i1M'0!Q1:a0?i1A0"i1M0AY1E(B. 0,T5Q1GM0Bh1R'`0*h19(B, 0,T:Q1?`?M0Cl107Uh10AU10*Wh1M0Gh1R(B "*Buffer List*" -,Td0Ah10AU1a0?i1A0"i1M0AY1Ec4f(B 0,T7Qi1'0JTi19(B. 0,T9Uh1`0;g190:Q1?`?M0Cl10+Vh1':CC0(X1`09Wi1MKR"M'CRB!RC"M'0:Q1?`?M0Cl107Uh106Y1!J0Ci1R'(B -0,T4i1GB$S0JQh1'(B C-x C-b. 0,T"i1M$GRAc4f(B 0,T7Uh107h1R9`0Kg19:9K09i1R(M"M'0MU1aA!0Jl1(P;CR!/M0BYh1`0;g190Jh1G9K09Vh1'(B -,T"M'0:Q1?`?M0Cl1c40:Q1?`?M0Cl1K09Vh1'`JAM(B. +ดูว่าแต่ละบัฟเฟอร์มีชื่อว่าอะไร, และบางอันก็เป็นชื่อของแฟ้มข้อมูลที่มีเนื้อหานั้นๆ อยู่. บาง +บัฟเฟอร์ไม่ได้เกี่ยวข้องกับแฟ้มข้อมูล. ตัวอย่างเช่น, บัฟเฟอร์ที่มีชื่อว่า "*Buffer List*" +ไม่มีแฟ้มข้อมูลใดๆ ทั้งสิ้น. นี่เป็นบัฟเฟอร์ซึ่งบรรจุเนื้อหาของรายการของบัฟเฟอร์ที่ถูกสร้าง +ด้วยคำสั่ง C-x C-b. ข้อความใดๆ ที่ท่านเห็นบนหน้าจอของอีแมกส์จะปรากฏอยู่เป็นส่วนหนึ่ง +ของบัฟเฟอร์ใดบัฟเฟอร์หนึ่งเสมอ. ->> ,TEM'c0*i1$S0JQh1'(B C-x 1 ,T`0>Wh1M07Uh1(P!S0(Q14CRB!RC"M'0:Q1?`?M0Cl1(B. +>> ลองใช้คำสั่ง C-x 1 เพื่อที่จะกำจัดรายการของบัฟเฟอร์. -0,T6i1R07h1R9a0!i1d"0"i1M$GRAc9a0?i1A0"i1M0AY1EK09Vh1'(B, ,Ta0Ei1G`0BW1M90MU1!a0?i1A0"i1M0AY1EK09Vh1'(B, 0,TMU1aA!0Jl10BQ1'd0Ah1d04i10(Q14`0!g1:(B -0,T"i1M$GRA"M'a0?i1A0"i1M0AY1EaC!(B. 0,T"i1M$GRA07Uh106Y1!a0!i1d"d;(P0BQ1'$'M0BYh1c90MU1aA!0Jl1(B, ,Tc90:Q1?`?M0Cl1JSK0CQ1:(B -,Ta0?i1A0"i1M0AY1E09Qi19(B. ,T!RCJ0Ci1R'K0CW1M!RCa0!i1d""M'0:Q1?`?M0Cl1JSK0CQ1:a0?i1A0"i1M0AY1E07Uh1JM'd0Ah1d04i10AU1<E05h1M(B -0,T:Q1?`?M0Cl1JSK0CQ1:a0?i1A0"i1M0AY1E07Uh1K09Vh1'(B. 0,T9Uh1`0;g190JTh1'07Uh10AU1;CPbB*09l1AR!(B, ,Ta05h10!g1KARB$GRA0Gh1R(P05i1M'0AU1(B -0,TGT108U1!RC07Uh104U1c9!RC0(Q14`0!g1:0:Q1?`?M0Cl1"M'a0?i1A0"i1M0AY1EaC!(B. 0,T9Uh1d0Ah1d04i1KARB$GRA0Gh1R(P05i1M'J0EQ1:!0EQ1:d;(B -0,TBQ1'a0?i1A0"i1M0AY1EaC!04i1GB$S0JQh1'(B C-x C-f 0,T!h1M9(B, ,T`0>Wh1M07Uh1(Pd04i1c0*i1$S0JQh1'(B C-x C-s ,Tc9!RC0(Q14`0!g1:(B. -0,T4Q1'09Qi19`CR0(V1'`50CU1BA$S0JQh1'(B +ถ้าท่านแก้ไขข้อความในแฟ้มข้อมูลหนึ่ง, แล้วเยือนอีกแฟ้มข้อมูลหนึ่ง, อีแมกส์ยังไม่ได้จัดเก็บ +ข้อความของแฟ้มข้อมูลแรก. ข้อความที่ถูกแก้ไขไปจะยังคงอยู่ในอีแมกส์, ในบัฟเฟอร์สำหรับ +แฟ้มข้อมูลนั้น. การสร้างหรือการแก้ไขของบัฟเฟอร์สำหรับแฟ้มข้อมูลที่สองไม่ได้มีผลต่อ +บัฟเฟอร์สำหรับแฟ้มข้อมูลที่หนึ่ง. นี่เป็นสิ่งที่มีประโยชน์มาก, แต่ก็หมายความว่าจะต้องมี +วิธีการที่ดีในการจัดเก็บบัฟเฟอร์ของแฟ้มข้อมูลแรก. นี่ไม่ได้หมายความว่าจะต้องสลับกลับไป +ยังแฟ้มข้อมูลแรกด้วยคำสั่ง C-x C-f ก่อน, เพื่อที่จะได้ใช้คำสั่ง C-x C-s ในการจัดเก็บ. +ดังนั้นเราจึงเตรียมคำสั่ง C-x s Save some buffers -,T$S0JQh1'(B C-x s ,T(P6RA07h1R9`0!Uh1BG0!Q1:0:Q1?`?M0Cl107Uh1d04i10CQ1:!RCa0!i1d"a05h10BQ1'd0Ah1d04i10CQ1:!RC0(Q14`0!g1:(B. 0,TMU1(B -,TaA!0Jl1(P6RA07h1R9(B, ,TJSK0CQ1:a05h1EP0:Q1?`?M0Cl104Q1'!0Eh1RG(B, 0,TGh1R(P0(Q14`0!g1:K0CW1Md0Ah1(B. +คำสั่ง C-x s จะถามท่านเกี่ยวกับบัฟเฟอร์ที่ได้รับการแก้ไขแต่ยังไม่ได้รับการจัดเก็บ. อี +แมกส์จะถามท่าน, สำหรับแต่ละบัฟเฟอร์ดังกล่าว, ว่าจะจัดเก็บหรือไม่. ->> ,Ta7C!0"i1M$GRA0JQ1!K09Vh1':CC07Q14(B, ,Ta0Ei1G0;i1M9$S0JQh1'(B C-x s. - 0,TMU1aA!0Jl1(P6RA07h1R90Gh1R(P0(Q14`0!g1:0:Q1?`?M0Cl10*Wh1M(B TUTORIAL ,TdKA(B. - ,T5M:0Gh1Rc0*h1b4B!RC0;i1M9(B "y". +>> แทรกข้อความสักหนึ่งบรรทัด, แล้วป้อนคำสั่ง C-x s. + อีแมกส์จะถามท่านว่าจะจัดเก็บบัฟเฟอร์ชื่อ TUTORIAL ไหม. + ตอบว่าใช่โดยการป้อน "y". -* ,T!RC`0>Th1A0*X14$S0JQh1'(B +* การเพิ่มชุดคำสั่ง -------------- -0,TAU1$S0JQh1'"M'0MU1aA!0Jl1M0BYh10MU1!AR!ARB(9`0!T19!0Gh1R07Uh1(PJRARC6!S0!Q1:d04i104i1GB0MQ1!"CP;CPJA0!Q1:0MQ1!"CP(B -,T$M9b7CE(B (control character) ,TaEPM0@T10MQ1!"CP(B (meta character). 0,TMU1aA!0Jl1c0*i1!RC(B -,T;CPJA0!Q1:$S0JQh1'`J0CT1A(B (eXtend command). ,T!RC`J0CT1A09Ui1`0;g19d;d04i1JM'0EQ1!I3P(B: - - C-x ,T!RC`J0CT1A0MQ1!"CP(B (Character eXtend). ,T5RA04i1GBK09Vh1'05Q1G0MQ1!IC(B. - M-x ,T!RC`J0CT1A04i1GB0*Wh1M$S0JQh1'(B (Named command eXtend). ,T5RA04i1GB0*Wh1M`05g1A(B. - -,T$S0JQh1'`K0Eh1R09Ui1b4B07Qh1Gd;a0Ei1G(P0AU1;CPbB*09l1(B, ,Ta05h10AQ1!(P0AU1bM!RJc0*i109i1MB!0Gh1R$S0JQh1'05h1R'f(B 0,T7Uh107h1R9d04i1(B -,T`0CU1B90CYi1d;a0Ei1G(B. 0,T7h1R9d04i1>:d;a0Ei1GJM'$S0JQh1'(B: ,T$S0JQh1'JSK0CQ1:!RC0(Q14!RC0!Q1:a0?i1A0"i1M0AY1E(B C-x C-f -,TJSK0CQ1:!RC`0BW1M9(B (Find) ,TaEP(B C-x C-s ,TJSK0CQ1:!RC0(Q14`0!g1:(B (Save). 0,TMU1!05Q1GM0Bh1R'K09Vh1'0!g1(B -0,T$W1M$S0JQh1'07Uh1c0*i1c9!RC`0ET1!c0*i10MU1aA!0Jl1(B--,T$S0JQh1'(B C-x C-c. (,Td0Ah105i1M'`0;g190Kh1G'0Gh1R0"i1M0AY1E07Uh107h1R9d04i1(B -,Ta0!i1d"d;(P0JY1-KRB(B; ,T$S0JQh1'(B C-x C-c ,T(P`J9Mc0Ki10(Q14`0!g1:a0?i1A0"i1M0AY1E07Uh106Y1!a0!i1d"d;0!h1M907Uh1(P0JTi190JX14(B -0,TMU1aA!0Jl1(B.) - -,T$S0JQh1'(B C-z ,T`0;g19$S0JQh1'07Uh1c0*i1c9!RCMM!(R!0MU1aA!0Jl1`0;g19!RC0*Qh1G$CRG(B *temporarily*--,T)P09Qi19(B -0,T7h1R9JRARC6!0EQ1:d;0JYh10MU1aA!0Jl1d04i10MU1!K0EQ1'(R!09Qi19(B. - -,TJSK0CQ1:CP::07Uh1M09X1-R5c0Ki1c0*i1$S0JQh1'(B, C-z "suspends" 0,TMU1aA!0Jl1(B; 0,T9Qh190$W1M!RC!0EQ1:d;0BQ1'`*E0El1(B -(shell) ,Tb4Bd0Ah1d04i17SERB0MU1aA!0Jl1(B. ,Tc9`*E0El107Qh1Gd;(B, 0,T7h1R9JRARC60CU10+Y1A(B (resume) 0,TMU1aA!0Jl1(B -,Td04i104i1GB$S0JQh1'(B `fg' ,TK0CW1M04i1GB$S0JQh1'(B `%emacs'. - -,TJSK0CQ1:CP::07Uh1d0Ah10AU10?Q1'0!l10*Q19(B "suspend", ,T$S0JQh1'(B C-z ,T(PJ0Ci1R'0+Q1:`*E0El1(B (subshell) -,T@RBc05i10MU1aA!0Jl1`0>Wh1Mc0Ki107h1R90AU1bM!RJ4S`09T19'R9b;Ca!CA0MWh190!h1M9a0Ei1G0$h1MB!0EQ1:AR0BQ1'0MU1aA!0Jl10MU1!$0CQi1'(B; -0,T+Vh1'd0Ah1c0*h1!RC(B ",TMM!(R!(B (exit)" 0,TMU1aA!0Jl1(0CT1'(B. ,Tc9!C03U109Ui1(B, ,T$S0JQh1'`*E0El1(B `exit' ,T`0;g19$S0JQh1'(B -,T;C!05T107Uh1c0*i1c9!RC!0EQ1:d;0BQ1'0MU1aA!0Jl1(R!0+Q1:`*E0El1(B. - -,Tc0*i1$S0JQh1'(B C-x C-c 0,T!g105h1M`0AWh1M07h1R905i1M'!RC(P`0ET1!c0*i10MU1aA!0Jl1(0CT1'f(B. 0,TGT108U109Ui1`0;g190GT108U107Uh106Y1!05i1M'c9(B -,T!RC07Uh1(P`0ET1!c0*i10MU1aA!0Jl1(B, ,Td0Ah10Gh1R0MU1aA!0Jl109Qi19(P06Y1!`0CU1B!c0*i1(R!b;Ca!CA0(Q14!RC`AE0El1(B (mail -handling programs) ,TK0CW1Mb;Ca!CAMCC6;CPbB*09l1(B (utility programs) 0,T5h1R'f(B, -,T`09Wh1M'(R!0Gh1Rb;Ca!CA`K0Eh1R09Ui1d0Ah10AU10GT108U1!RC0(Q14!RC0!Q1:0MU1aA!0Jl1d04i1b4B5C'(B. ,Tc9J@R>!RC7S'R9(B -,T;C!05T1(B, 0,T6i1R07h1R9d0Ah1d04i105i1M'!RC(P`0ET1!c0*i10MU1aA!0Jl1(0CT1'f(B, 0,T7h1R90!g1$GC(P(B suspend ,Tb4B!RCc0*i1(B -,T$S0JQh1'(B C-z ,Ta79!RC`0ET1!c0*i1d;`EB(B. - -0,TBQ1'0AU1$S0JQh1'07Uh1M0BYh1c90*X14$S0JQh1'(B C-x 0,TMU1!AR!(B. 0,T5h1Md;09Ui1`0;g19CRB!RC$S0JQh1'07Uh107h1R9d04i1`0CU1B90CYi1d;a0Ei1G(B: - - C-x C-f ,T`0BW1M9a0?i1A0"i1M0AY1E(B (Find file). - C-x C-s 0,T(Q14`0!g1:a0?i1A0"i1M0AY1E(B (Save file). - C-x C-b ,T7SCRB!RC0:Q1?`?M0Cl1(B (List buffers). - C-x C-c ,T`0ET1!c0*i10MU1aA!0Jl1(B (Quit Emacs). - C-x 1 ,TE:K09i1R(M07Qi1'KA4b4B$'M0BYh1d0Gi1K09Vh1'K09i1R(M(B +มีคำสั่งของอีแมกส์อยู่อีกมากมายจนเกินกว่าที่จะสามารถกำกับได้ด้วยอักขระประสมกับอักขระ +คอนโทรล (control character) และอภิอักขระ (meta character). อีแมกส์ใช้การ +ประสมกับคำสั่งเสริม (eXtend command). การเสริมนี้เป็นไปได้สองลักษณะ: + + C-x การเสริมอักขระ (Character eXtend). ตามด้วยหนึ่งตัวอักษร. + M-x การเสริมด้วยชื่อคำสั่ง (Named command eXtend). ตามด้วยชื่อเต็ม. + +คำสั่งเหล่านี้โดยทั่วไปแล้วจะมีประโยชน์, แต่มักจะมีโอกาสใช้น้อยกว่าคำสั่งต่างๆ ที่ท่านได้ +เรียนรู้ไปแล้ว. ท่านได้พบไปแล้วสองคำสั่ง: คำสั่งสำหรับการจัดการกับแฟ้มข้อมูล C-x C-f +สำหรับการเยือน (Find) และ C-x C-s สำหรับการจัดเก็บ (Save). อีกตัวอย่างหนึ่งก็ +คือคำสั่งที่ใช้ในการเลิกใช้อีแมกส์--คำสั่ง C-x C-c. (ไม่ต้องเป็นห่วงว่าข้อมูลที่ท่านได้ +แก้ไขไปจะสูญหาย; คำสั่ง C-x C-c จะเสนอให้จัดเก็บแฟ้มข้อมูลที่ถูกแก้ไขไปก่อนที่จะสิ้นสุด +อีแมกส์.) + +คำสั่ง C-z เป็นคำสั่งที่ใช้ในการออกจากอีแมกส์เป็นการชั่วคราว *temporarily*--ฉะนั้น +ท่านสามารถกลับไปสู่อีแมกส์ได้อีกหลังจากนั้น. + +สำหรับระบบที่อนุญาตให้ใช้คำสั่ง, C-z "suspends" อีแมกส์; นั่นคือการกลับไปยังเชลล์ +(shell) โดยไม่ได้ทำลายอีแมกส์. ในเชลล์ทั่วไป, ท่านสามารถรีซูม (resume) อีแมกส์ +ได้ด้วยคำสั่ง `fg' หรือด้วยคำสั่ง `%emacs'. + +สำหรับระบบที่ไม่มีฟังก์ชัน "suspend", คำสั่ง C-z จะสร้างซับเชลล์ (subshell) +ภายใต้อีแมกส์เพื่อให้ท่านมีโอกาสดำเนินงานโปรแกรมอื่นก่อนแล้วค่อยกลับมายังอีแมกส์อีกครั้ง; +ซึ่งไม่ใช่การ "ออกจาก (exit)" อีแมกส์จริง. ในกรณีนี้, คำสั่งเชลล์ `exit' เป็นคำสั่ง +ปรกติที่ใช้ในการกลับไปยังอีแมกส์จากซับเชลล์. + +ใช้คำสั่ง C-x C-c ก็ต่อเมื่อท่านต้องการจะเลิกใช้อีแมกส์จริงๆ. วิธีนี้เป็นวิธีที่ถูกต้องใน +การที่จะเลิกใช้อีแมกส์, ไม่ว่าอีแมกส์นั้นจะถูกเรียกใช้จากโปรแกรมจัดการเมลล์ (mail +handling programs) หรือโปรแกรมอรรถประโยชน์ (utility programs) ต่างๆ, +เนื่องจากว่าโปรแกรมเหล่านี้ไม่มีวิธีการจัดการกับอีแมกส์ได้โดยตรง. ในสภาพการทำงาน +ปรกติ, ถ้าท่านไม่ได้ต้องการจะเลิกใช้อีแมกส์จริงๆ, ท่านก็ควรจะ suspend โดยการใช้ +คำสั่ง C-z แทนการเลิกใช้ไปเลย. + +ยังมีคำสั่งที่อยู่ในชุดคำสั่ง C-x อีกมาก. ต่อไปนี้เป็นรายการคำสั่งที่ท่านได้เรียนรู้ไปแล้ว: + + C-x C-f เยือนแฟ้มข้อมูล (Find file). + C-x C-s จัดเก็บแฟ้มข้อมูล (Save file). + C-x C-b ทำรายการบัฟเฟอร์ (List buffers). + C-x C-c เลิกใช้อีแมกส์ (Quit Emacs). + C-x 1 ลบหน้าจอทั้งหมดโดยคงอยู่ไว้หนึ่งหน้าจอ (Delete all but one window). - C-x u ,T7S0Bi1M9(B (Undo). + C-x u ทำย้อน (Undo). -,T$S0JQh1'07Uh10AU10*Wh1M$S0JQh1'`J0CT1A09Ui1`0;g19$S0JQh1'07Uh1c0*i1d0Ah10$h1MB0:h1MB09Q1!(B, ,TK0CW1M`0;g19$S0JQh1'07Uh1c0*i1`)>RPc9:R'bKA4(B -,T`07h1R09Qi19(B. 0,T5Q1GM0Bh1R'K09Vh1'"M'$S0JQh1'09Ui10$W1M$S0JQh1'`;0EUh1B9a79(B-,TJRB0MQ1!"CP(B (replace-string), -0,T+Vh1'`0;g19!RC`;0EUh1B9a79JRB0MQ1!"CPK09Vh1'04i1GB0MU1!JRB0MQ1!"CPK09Vh1'07Qi1'KA4(B. ,T`0AWh1M07h1R90;i1M9$S0JQh1'(B M-x, -0,TMU1aA!0Jl1aJ4'(B M-x 0,T7Uh1:CC07Q140Eh1R'0JX14"M'K09i1R(M(B, ,Tc907Uh109Ui107h1R9(P05i1M'0>T1A0>l10*Wh1M"M'$S0JQh1'(B; ,Tc9!C03U109Ui1(B -0,T$W1M(B "replace-string". 0,T7h1R9MR((P0>T1A0>l1(B "repl s<TAB>" ,Ta0Ei1G0MU1aA!0Jl1(P`05T1A0*Wh1M$S0JQh1'c0Ki1(B -,T`05g1A`M'd04i1(B. 0,TJTi190JX14$S0JQh1'04i1GB!RC!40;Xh1A(B <Return>. +คำสั่งที่มีชื่อคำสั่งเสริมนี้เป็นคำสั่งที่ใช้ไม่ค่อยบ่อยนัก, หรือเป็นคำสั่งที่ใช้เฉพาะในบางโหมด +เท่านั้น. ตัวอย่างหนึ่งของคำสั่งนี้คือคำสั่งเปลี่ยนแทน-สายอักขระ (replace-string), +ซึ่งเป็นการเปลี่ยนแทนสายอักขระหนึ่งด้วยอีกสายอักขระหนึ่งทั้งหมด. เมื่อท่านป้อนคำสั่ง M-x, +อีแมกส์แสดง M-x ที่บรรทัดล่างสุดของหน้าจอ, ในที่นี้ท่านจะต้องพิมพ์ชื่อของคำสั่ง; ในกรณีนี้ +คือ "replace-string". ท่านอาจจะพิมพ์ "repl s<TAB>" แล้วอีแมกส์จะเติมชื่อคำสั่งให้ +เต็มเองได้. สิ้นสุดคำสั่งด้วยการกดปุ่ม <Return>. -,T$S0JQh1'`;0EUh1B9a79(B-,TJRB0MQ1!"CP(B (replace-string) 0,T5i1M'!RCJM'MR0Cl10!T1G`A905l1(B--,TJRB0MQ1!"CP(B -0,T7Uh1(P06Y1!`;0EUh1B9a79(B, ,TaEPJRB0MQ1!"CP07Uh1(Pc0*i1`;0EUh1B9a79(B. 0,T7h1R9(P05i1M'0JTi190JX14!RC0;i1M9a05h1EPMR0Cl1(B -0,T!T1G`A905l104i1GB!RC!40;Xh1A(B <Return>. +คำสั่งเปลี่ยนแทน-สายอักขระ (replace-string) ต้องการสองอาร์กิวเมนต์--สายอักขระ +ที่จะถูกเปลี่ยนแทน, และสายอักขระที่จะใช้เปลี่ยนแทน. ท่านจะต้องสิ้นสุดการป้อนแต่ละอาร์ +กิวเมนต์ด้วยการกดปุ่ม <Return>. ->> ,T`$0EWh1M9`$M0Cl1`+M0Cl1d;0BQ1':CC07Q14`;0Eh1R07Uh1M0BYh1c05i1:CC07Q1409Ui1d;JM':CC07Q14(B. - ,Ta0Ei1G0;i1M9$S0JQh1'(B M-x repl s<Return>changed<Return>altered<Return>. +>> เคลื่อนเคอร์เซอร์ไปยังบรรทัดเปล่าที่อยู่ใต้บรรทัดนี้ไปสองบรรทัด. + แล้วป้อนคำสั่ง M-x repl s<Return>changed<Return>altered<Return>. - 0,TJQ1'`!504Y1!RC`;0EUh1B9a;E'"M':CC07Q1409Ui1(B: 0,T7h1R9d04i1`;0EUh1B9a79$S0Gh1R(B c-h-a-n-g-e-d - 0,T4i1GB$S0Gh1R(B "altered" ,Tc907X1!07Uh107Uh1;CR!/05Qi1'a05h15SaK09h1'07Uh1`$M0Cl1`+M0Cl1M0BYh10;Q1(0(X10:Q19(B. + สังเกตดูการเปลี่ยนแปลงของบรรทัดนี้: ท่านได้เปลี่ยนแทนคำว่า c-h-a-n-g-e-d + ด้วยคำว่า "altered" ในทุกที่ที่ปรากฏตั้งแต่ตำแหน่งที่เคอร์เซอร์อยู่ปัจจุบัน. -* 0,T(Q14`0!g1:0MQ15b90AQ105T1(B (auto save) +* จัดเก็บอัตโนมัติ (auto save) ------------------------- -,T`0AWh1M07h1R9d04i1a0!i1d"a0?i1A0"i1M0AY1Ea0Ei1G(B, ,Ta05h107h1R90BQ1'd0Ah1d04i10(Q14`0!g1:(B, ,Ta0?i1A0"i1M0AY1E`K0Eh1R09Qi19MR(0JY1-KRBd04i106i1R(B -,T`$0CWh1M'$MA0>T1G`5M0Cl1"M'07h1R9`0!T140"Q140"i1M'(B. ,T`0>Wh1M0;i1M'0!Q19`K05X1!RC03l1`0*h1909Ui1(B, 0,TMU1aA!0Jl17S!RC`0"U1B9(B -0,T"i1M$GRAJSK0CQ1:a05h1EPa0?i1A0"i1M0AY1E07Uh107h1R9!S0EQ1'7S!RCa0!i1d"M0BYh1E'c9a0?i1A0"i1M0AY1E(B "0,T(Q14`0!g1:0MQ15b90AQ105T1(B -(auto save)". 0,T*Wh1M"M'a0?i1A0"i1M0AY1E0(Q14`0!g1:0MQ15b90AQ105T1(B (auto save file) ,T(P06Y1!05Qi1'cK0Ah1c0Ki1(B -0,TAU10MQ1!"CP(B "#" ,TM0BYh107Qi1'0"i1R'K09i1RaEP0"i1R'K0EQ1'0*Wh1Ma0?i1A0"i1M0AY1E05i19)0:Q1:(B; 0,T5Q1GM0Bh1R'`0*h19(B, 0,T6i1R0*Wh1M"M'(B -,Ta0?i1A0"i1M0AY1E09Qi19`0;g19(B "hello.c", 0,T*Wh1M"M'a0?i1A0"i1M0AY1E0(Q14`0!g1:0MQ15b90AQ105T1(P`0;g19(B "#hello.c#". -,T`0AWh1M07h1R97S!RC0(Q14`0!g1:a0?i1A0"i1M0AY1E04i1GB0GT108U1!RC;C!05T1a0Ei1G(B, 0,TMU1aA!0Jl1(PE:a0?i1A0"i1M0AY1E0(Q14`0!g1:0MQ15b90AQ105T1(B -0,T9Qi19`0JU1B(B. +เมื่อท่านได้แก้ไขแฟ้มข้อมูลแล้ว, แต่ท่านยังไม่ได้จัดเก็บ, แฟ้มข้อมูลเหล่านั้นอาจสูญหายได้ถ้า +เครื่องคอมพิวเตอร์ของท่านเกิดขัดข้อง. เพื่อป้องกันเหตุการณ์เช่นนี้, อีแมกส์ทำการเขียน +ข้อความสำหรับแต่ละแฟ้มข้อมูลที่ท่านกำลังทำการแก้ไขอยู่ลงในแฟ้มข้อมูล "จัดเก็บอัตโนมัติ +(auto save)". ชื่อของแฟ้มข้อมูลจัดเก็บอัตโนมัติ (auto save file) จะถูกตั้งใหม่ให้ +มีอักขระ "#" อยู่ทั้งข้างหน้าและข้างหลังชื่อแฟ้มข้อมูลต้นฉบับ; ตัวอย่างเช่น, ถ้าชื่อของ +แฟ้มข้อมูลนั้นเป็น "hello.c", ชื่อของแฟ้มข้อมูลจัดเก็บอัตโนมัติจะเป็น "#hello.c#". +เมื่อท่านทำการจัดเก็บแฟ้มข้อมูลด้วยวิธีการปรกติแล้ว, อีแมกส์จะลบแฟ้มข้อมูลจัดเก็บอัตโนมัติ +นั้นเสีย. -0,T6i1R`$0CWh1M'$MA0>T1G`5M0Cl1`0!T140"Q140"i1M'(B, 0,T7h1R9JRARC60!Yi1(B (recover) ,T(R!a0?i1A0"i1M0AY1E0(Q14`0!g1:(B -0,TMQ15b90AQ105T109Qi19d04i104i1GB!RC`0BW1M9a0?i1A0"i1M0AY1Ea::;C!05T1(B (,Ta0?i1A0"i1M0AY1E07Uh107h1R9!S0EQ1'a0!i1d"M0BYh1(B, ,Td0Ah1c0*h1(B -,Ta0?i1A0"i1M0AY1E0(Q14`0!g1:0MQ15b90AQ105T1(B), ,Ta0Ei1G0>T1A0>l1$S0JQh1'(B M-x recover file<Return>. ,T`0AWh1M0AU1!RC(B -,T6RA`0>Wh1M!RC0BW190BQ19(B, 0,T>T1A0>l1$S0Gh1R(B yes<Return> ,T`0>Wh1M4S`09T19!RC05h1MaEP7S!RC0!Yi10"i1M0AY1E07Uh106Y1!(B -0,T(Q14`0!g1:0MQ15b90AQ105T109Qi19(B. +ถ้าเครื่องคอมพิวเตอร์เกิดขัดข้อง, ท่านสามารถกู้ (recover) จากแฟ้มข้อมูลจัดเก็บ +อัตโนมัตินั้นได้ด้วยการเยือนแฟ้มข้อมูลแบบปรกติ (แฟ้มข้อมูลที่ท่านกำลังแก้ไขอยู่, ไม่ใช่ +แฟ้มข้อมูลจัดเก็บอัตโนมัติ), แล้วพิมพ์คำสั่ง M-x recover file<Return>. เมื่อมีการ +ถามเพื่อการยืนยัน, พิมพ์คำว่า yes<Return> เพื่อดำเนินการต่อและทำการกู้ข้อมูลที่ถูก +จัดเก็บอัตโนมัตินั้น. -* ,T:0CT1`G3JP07i1M9(B (echo area) +* บริเวณสะท้อน (echo area) ------------------------ -0,TMU1aA!0Jl10Mh1R9$S0JQh1';CPJA(B (multicharacter command) ,T"3P07Uh107h1R9!S0EQ1'0>T1A0>l1`0"i1Rd;0*i1Rf(B, -0,TMU1aA!0Jl1(PaJ4'$S0JQh1'05h1R'f(B 0,T7Uh107h1R9d04i10>T1A0>l1`0"i1Rd;5C'0Jh1G90Eh1R'"M'K09i1R(M5C':0CT1`G307Uh1`0CU1B!0Gh1R(B -",T:0CT1`G3JP07i1M9(B (echo area)". ,T:0CT1`G3JP07i1M90$W1M:CC07Q140Eh1R'0JX14"M'K09i1R(M(B. +อีแมกส์อ่านคำสั่งประสม (multicharacter command) ขณะที่ท่านกำลังพิมพ์เข้าไปช้าๆ, +อีแมกส์จะแสดงคำสั่งต่างๆ ที่ท่านได้พิมพ์เข้าไปตรงส่วนล่างของหน้าจอตรงบริเวณที่เรียกว่า +"บริเวณสะท้อน (echo area)". บริเวณสะท้อนคือบรรทัดล่างสุดของหน้าจอ. -* ,T:CC07Q14aJ4'bKA4(B (mode line) +* บรรทัดแสดงโหมด (mode line) --------------------------- -,T:CC07Q1407Uh1M0BYh1`K09W1M:0CT1`G3JP07i1M909Qi19`0CU1B!0Gh1R(B "mode line". ,T:CC07Q14aJ4'bKA4(PaJ4'(B -0,T"i1M$GRA:R'M0Bh1R'c90EQ1!I3P(B: +บรรทัดที่อยู่เหนือบริเวณสะท้อนนั้นเรียกว่า "mode line". บรรทัดแสดงโหมดจะแสดง +ข้อความบางอย่างในลักษณะ: --:** TUTORIAL (Fundamental)--L670--58%---------------- -,T:CC07Q1409Ui1c0Ki10"i1M0AY1E07Uh1`0;g19;CPbB*09l1`0!Uh1BG0!Q1:J6R9@R>"M'0MU1aA!0Jl1aEP0"i1M$GRA07Uh107h1R9!S0EQ1'7S!RC(B -,Ta0!i1d"M0BYh1(B. - -0,T7h1R97CR:a0Ei1G0Gh1R0*Wh1Ma0?i1A0"i1M0AY1E0AU1$GRAKARBM0Bh1R'dC(B--0,T$W1Ma0?i1A0"i1M0AY1E07Uh107h1R9d04i1`0BW1M9M0BYh1(B. -NN%-- -0,T:h1':M!5SaK09h1'0;Q1(0(X10:Q19c90"i1M$GRA"M'07h1R9(B; 0,T9Qh19KARB$GRA0Gh1R0AU10"i1M$GRA(B NN ,T`;M0Cl1`+905l107Uh1M0BYh1(B -,T`K09W1M5SaK09h1'0JY1'0JX14"M'K09i1R(M(B. 0,T6i1R5SaK09h1'0JY1'0JX14"M'a0?i1A0"i1M0AY1EM0BYh1:9K09i1R(M(B, ,T(P;CR!/(B ---Top-- ,Ta7907Uh1(P`0;g19(B --00%--. 0,T6i1R5SaK09h1'0Eh1R'0JX14"M'0"i1M$GRAM0BYh1:9K09i1R(M(B, ,T(P;CR!/(B ---Bot--. 0,T6i1R07h1R9!S0EQ1'`0BW1M9a0?i1A0"i1M0AY1E07Uh1`0Eg1!AR!(90"i1M$GRA07Qi1'KA4M0BYh1:9K09i1R(M(B, ,T:CC07Q14(B -,TaJ4'bKA4(PaJ4'0Gh1R(B --All--. - -,T`$0CWh1M'KARB4M!0(Q19:0CT1`G305i19f(B ,T"M':CC07Q14aJ4'bKA4KARB$GRA0Gh1R07h1R9d04i17S!RC(B -,T`;0EUh1B9a;E'`09Wi1MKRc90"i1M$GRAa0Ei1G(B. ,TKR!07h1R9`0>Th1'`0BW1M9K0CW1M0(Q14`0!g1:a0?i1A0"i1M0AY1E(B, 0,TJh1G907Uh1(B -,Td04i1!0Eh1RG06V1'09Qi19(Pd0Ah10AU1`$0CWh1M'KARB4M!0(Q19;CR!/(B, ,T(P0AU1a05h1`0Ji19;CP(B (dashes). - -0,TJh1G907Uh1M0BYh1CPK0Gh1R'G'`0Eg1:@RBc9:CC07Q14aJ4'bKA4(P:M!07h1R90Gh1R07h1R9!S0EQ1'M0BYh1c9bKA4!RCa0!i1d"(B -(editing mode) ,TMPdC(B. ,TbKA4b4B;0CT1BRB(B (default mode) 0,T$W1M(B Fundamental 0,T7Uh1(B -0,T7h1R9!S0EQ1'c0*i1M0BYh1c9"3P09Ui1(B. 0,T9Uh10$W1M05Q1GM0Bh1R'"M'(B ",TbKA4K0EQ1!(B (major mode)". - -0,TMU1aA!0Jl10AU1bKA4K0EQ1!M0BYh1KERBbKA4(B. 0,T:i1R'c0*i1JSK0CQ1:!RCa0!i1d"c9@RIRaEP(B/,TK0CW1M0"i1M$GRA*09T1405h1R'f(B, -,T`0*h19(B Lisp mode, Text mode, ,T`0;g1905i19(B. 0,T7h1R9(PM0BYh1c9bKA4K0EQ1!c4bKA4K0EQ1!K09Vh1'c9`GER(B -,T`04U1BG(B, ,TaEP0*Wh1M"M'bKA4K0EQ1!09Qi19(P;CR!/M0BYh107Uh1:CC07Q14aJ4'bKA4(B, 0,T7Uh107Uh10AU1(B "Fundamental" -,T;CR!/M0BYh1c9"3P09Ui1(B. - -,Ta05h1EPbKA4K0EQ1!(P7Sc0Ki1$S0JQh1'c0Ki1<Ec90EQ1!I3P07Uh1a5!05h1R'0!Q19(B. 0,T5Q1GM0Bh1R'`0*h19(B, 0,TAU1KERB$S0JQh1'07Uh1c0*i1(B -,Tc9!RC!S0!Q1:KARB`K05X1(B (comment) ,Tc9b;Ca!CA(B, ,TaEP`09Wh1M'(R!a05h1EPb;Ca!CA0AU1$GRA0$T14(B -,Tc9!RCaJ4'<E"M'KARB`K05X107Uh1a5!05h1R'0!Q19(B, ,Ta05h1EPbKA4K0EQ1!(Pa7C!KARB`K05X1c90EQ1!I3P07Uh1(B -,Ta5!05h1R'0!Q19(B. ,Ta05h1EPbKA4K0EQ1!(P`0;g190*Wh1M"M'$S0JQh1'`J0CT1A(B, 0,T7Uh107h1R9JRARC6:M!c0Ki1J0EQ1:d;0BQ1'bKA407Uh1(B -0,T5i1M'!RCd04i1(B. 0,T5Q1GM0Bh1R'`0*h19(B, M-x fundamental-mode ,T`0;g19$S0JQh1'c9!RCJ0EQ1:d;0BQ1'(B +บรรทัดนี้ให้ข้อมูลที่เป็นประโยชน์เกี่ยวกับสถานภาพของอีแมกส์และข้อความที่ท่านกำลังทำการ +แก้ไขอยู่. + +ท่านทราบแล้วว่าชื่อแฟ้มข้อมูลมีความหมายอย่างไร--คือแฟ้มข้อมูลที่ท่านได้เยือนอยู่. -NN%-- +บ่งบอกตำแหน่งปัจจุบันในข้อความของท่าน; นั่นหมายความว่ามีข้อความ NN เปอร์เซนต์ที่อยู่ +เหนือตำแหน่งสูงสุดของหน้าจอ. ถ้าตำแหน่งสูงสุดของแฟ้มข้อมูลอยู่บนหน้าจอ, จะปรากฏ +--Top-- แทนที่จะเป็น --00%--. ถ้าตำแหน่งล่างสุดของข้อความอยู่บนหน้าจอ, จะปรากฏ +--Bot--. ถ้าท่านกำลังเยือนแฟ้มข้อมูลที่เล็กมากจนข้อความทั้งหมดอยู่บนหน้าจอ, บรรทัด +แสดงโหมดจะแสดงว่า --All--. + +เครื่องหมายดอกจันบริเวณต้นๆ ของบรรทัดแสดงโหมดหมายความว่าท่านได้ทำการ +เปลี่ยนแปลงเนื้อหาในข้อความแล้ว. หากท่านเพิ่งเยือนหรือจัดเก็บแฟ้มข้อมูล, ส่วนที่ +ได้กล่าวถึงนั้นจะไม่มีเครื่องหมายดอกจันปรากฏ, จะมีแต่เส้นประ (dashes). + +ส่วนที่อยู่ระหว่างวงเล็บภายในบรรทัดแสดงโหมดจะบอกท่านว่าท่านกำลังอยู่ในโหมดการแก้ไข +(editing mode) อะไร. โหมดโดยปริยาย (default mode) คือ Fundamental ที่ +ท่านกำลังใช้อยู่ในขณะนี้. นี่คือตัวอย่างของ "โหมดหลัก (major mode)". + +อีแมกส์มีโหมดหลักอยู่หลายโหมด. บ้างใช้สำหรับการแก้ไขในภาษาและ/หรือข้อความชนิดต่างๆ, +เช่น Lisp mode, Text mode, เป็นต้น. ท่านจะอยู่ในโหมดหลักใดโหมดหลักหนึ่งในเวลา +เดียว, และชื่อของโหมดหลักนั้นจะปรากฏอยู่ที่บรรทัดแสดงโหมด, ที่ที่มี "Fundamental" +ปรากฏอยู่ในขณะนี้. + +แต่ละโหมดหลักจะทำให้คำสั่งให้ผลในลักษณะที่แตกต่างกัน. ตัวอย่างเช่น, มีหลายคำสั่งที่ใช้ +ในการกำกับหมายเหตุ (comment) ในโปรแกรม, และเนื่องจากแต่ละโปรแกรมมีความคิด +ในการแสดงผลของหมายเหตุที่แตกต่างกัน, แต่ละโหมดหลักจะแทรกหมายเหตุในลักษณะที่ +แตกต่างกัน. แต่ละโหมดหลักจะเป็นชื่อของคำสั่งเสริม, ที่ท่านสามารถบอกให้สลับไปยังโหมดที่ +ต้องการได้. ตัวอย่างเช่น, M-x fundamental-mode เป็นคำสั่งในการสลับไปยัง Fundamental mode. -0,T6i1R07h1R9!S0EQ1'(Pa0!i1d"0"i1M$GRA07Uh1`0;g19@RIRd7B(B, ,T`0*h19c9a0?i1A0"i1M0AY1E09Ui1(B, 0,T7h1R9$GC(Pc0*i1(B +ถ้าท่านกำลังจะแก้ไขข้อความที่เป็นภาษาไทย, เช่นในแฟ้มข้อมูลนี้, ท่านควรจะใช้ Thai-text mode. >> M-x thai-text-mode<Return> -,Td0Ah105i1M'0!Q1'GE(B, ,T$S0JQh1'07Uh107h1R9!S0EQ1'0HV1!IRM0BYh109Ui1d0Ah1d04i1c0Ki1<E!CP7:AR!09Q1!(B. ,Ta05h107h1R9JRARC60JQ1'`!5d04i1(B -0,TGh1R$S0JQh1'(B M-f ,TaEP(B M-b 0,T6W1M0Gh1R0MQ1!"CP(B apostrophe ,T`0;g190Jh1G9K09Vh1'"M'$S(B. 0,T!h1M9K09i1R09Ui1(B, ,Tc9(B -Fundamental mode, ,T$S0JQh1'(B M-f ,TaEP(B M-b 0,T6W1M0Gh1R0MQ1!"CP(B apostrophe ,T`0;g1905Q1Ga0:h1'$S(B +ไม่ต้องกังวล, คำสั่งที่ท่านกำลังศึกษาอยู่นี้ไม่ได้ให้ผลกระทบมากนัก. แต่ท่านสามารถสังเกตได้ +ว่าคำสั่ง M-f และ M-b ถือว่าอักขระ apostrophe เป็นส่วนหนึ่งของคำ. ก่อนหน้านี้, ใน +Fundamental mode, คำสั่ง M-f และ M-b ถือว่าอักขระ apostrophe เป็นตัวแบ่งคำ (word-separator). -,TbKA4K0EQ1!`K0Eh1R09Ui1(Pc0Ki1<E07Uh105h1R'MM!d;`0Eg1!09i1MB04Q1'07Uh1!0Eh1RGa0Ei1G0"i1R'05i19(B: ,T$S0JQh1'0Jh1G9cK0-h1(B ",T7SK09i1R07Uh1(B -,T`K0AW1M90!Q19(B" ,Ta0Ai1(PM0BYh1c9bKA4K0EQ1!07Uh105h1R'0!Q19(B, ,Ta05h1c0Ki1<E07Uh105h1R'MM!d;0:i1R'`0Eg1!09i1MB(B. +โหมดหลักเหล่านี้จะให้ผลที่ต่างออกไปเล็กน้อยดังที่กล่าวแล้วข้างต้น: คำสั่งส่วนใหญ่ "ทำหน้าที่ +เหมือนกัน" แม้จะอยู่ในโหมดหลักที่ต่างกัน, แต่ให้ผลที่ต่างออกไปบ้างเล็กน้อย. -,Tc0*i1$S0JQh1'(B C-h m ,T`0>Wh1M0Mh1R9CRBEP`0MU1B4"M'bKA4K0EQ1!0;Q1(0(X10:Q1907Uh107h1R9M0BYh1(B. +ใช้คำสั่ง C-h m เพื่ออ่านรายละเอียดของโหมดหลักปัจจุบันที่ท่านอยู่. ->> ,Tc0*i1$S0JQh1'(B C-u C-v ,TK09Vh1'$0CQi1'K0CW1MAR!!0Gh1R09Qi19`0>Wh1M07Uh1(P"0BQ1::CC07Q1409Ui10"Vi19d;0BQ1'0Jh1G9:9"M'K09i1R(M(B. ->> 0,T;i1M9$S0JQh1'(B C-h m, ,T`0>Wh1M04Y10Gh1R(B Text mode 0,T5h1R'(R!(B Fundamental mode ,TM0Bh1R'dC(B. ->> 0,T;i1M9$S0JQh1'(B C-x 1 ,T`0>Wh1M"0(Q14`M!JRC0*Ui1a('MM!(R!K09i1R(M(B. +>> ใช้คำสั่ง C-u C-v หนึ่งครั้งหรือมากกว่านั้นเพื่อที่จะขยับบรรทัดนี้ขึ้นไปยังส่วนบนของหน้าจอ. +>> ป้อนคำสั่ง C-h m, เพื่อดูว่า Text mode ต่างจาก Fundamental mode อย่างไร. +>> ป้อนคำสั่ง C-x 1 เพื่อขจัดเอกสารชี้แจงออกจากหน้าจอ. -0,T7Uh1`0CU1B!0Gh1RbKA4K0EQ1!09Qi190!g1`>CRP0Gh1R0AU1bKA40Bh1MB(B (minor mode) 0,TMU1!(B. ,TbKA40Bh1MBd0Ah1d04i1`0;g19(B -0,T5Q1G`0EW1M!c9bKA4K0EQ1!(B, ,T`09Wh1M'(R!0Gh1R0AU1!RC`;0EUh1B9d;`0>U1B'`0Eg1!09i1MB`07h1R09Qi19(B. ,Ta05h1EPbKA40Bh1MBJRARC6(B -,T(P`0;T14K0CW1M0;T14d04i1@RBc905Q1G`M'(B, 0,T$W1Ma05h1EPbKA40Bh1MB(P7S'R9b4B0MT1JCP(R!0!Q19(B, ,TaEP(B -,T`0;g190MT1JCP(R!bKA4K0EQ1!04i1GB(B. ,T)P09Qi1907h1R9JRARC6d0Ah1c0*i1bKA40Bh1MB`EB(B, ,TK0CW1MK09Vh1'bKA40Bh1MB(B, ,TK0CW1M(B -,TbKA40Bh1MBKERBf(B ,TbKA4<JA0!Q190!g1d04i1(B. +ที่เรียกว่าโหมดหลักนั้นก็เพราะว่ามีโหมดย่อย (minor mode) อีก. โหมดย่อยไม่ได้เป็น +ตัวเลือกในโหมดหลัก, เนื่องจากว่ามีการเปลี่ยนไปเพียงเล็กน้อยเท่านั้น. แต่ละโหมดย่อยสามารถ +จะเปิดหรือปิดได้ภายในตัวเอง, คือแต่ละโหมดย่อยจะทำงานโดยอิสระจากกัน, และ +เป็นอิสระจากโหมดหลักด้วย. ฉะนั้นท่านสามารถไม่ใช้โหมดย่อยเลย, หรือหนึ่งโหมดย่อย, หรือ +โหมดย่อยหลายๆ โหมดผสมกันก็ได้. -,TbKA40Bh1MB07Uh10AU1;CPbB*09l1AR!(B, ,Tb4B`)>RPJSK0CQ1:c0*i1a0!i1d"0"i1M$GRA07Uh1`0;g19@RIR0MQ1'!DI(B, 0,T$W1M(B -,TbKA40(Q14:CC07Q140MQ15b90AQ105T1(B (Auto Fill). ,T`0AWh1MbKA409Ui17S'R9(B, 0,TMU1aA!0Jl1(Pa0:h1':CC07Q14CPK0Gh1R'(B -,T$S0MQ15b90AQ105T1(B, 0,T7Q1907U107Uh107h1R9a7C!0"i1M$GRAaEP7Sc0Ki1:CC07Q1409Qi19BRG`0!T19d;(B. +โหมดย่อยที่มีประโยชน์มาก, โดยเฉพาะสำหรับใช้แก้ไขข้อความที่เป็นภาษาอังกฤษ, คือ +โหมดจัดบรรทัดอัตโนมัติ (Auto Fill). เมื่อโหมดนี้ทำงาน, อีแมกส์จะแบ่งบรรทัดระหว่าง +คำอัตโนมัติ, ทันทีที่ท่านแทรกข้อความและทำให้บรรทัดนั้นยาวเกินไป. -0,T7h1R9JRARC6`0;T14bKA40(Q14:CC07Q140MQ15b90AQ105T1d04i1b4B!RCc0*i1$S0JQh1'(B M-x auto fill -mode<Return>. ,T`0AWh1MbKA409Ui17S'R9M0BYh1(B, 0,T7h1R9JRARC60;T14bKA409Ui1d04i1b4B!RCc0*i1$S0JQh1'(B M-x -auto fill mode<Return>. 0,T6i1RbKA409Ui10;T14M0BYh1(B, ,T$S0JQh1'09Ui1(P`0;T14bKA4c0Ki17S'R9(B, ,TaEP06i1R(B -,TbKA409Ui1`0;T14M0BYh1(B, ,T$S0JQh1'09Ui10!g1(P0;T14bKA4(B. 0,T$W1M0>Y14d04i10Gh1R$S0JQh1'09Ui1(B "toggles the mode". +ท่านสามารถเปิดโหมดจัดบรรทัดอัตโนมัติได้โดยการใช้คำสั่ง M-x auto fill +mode<Return>. เมื่อโหมดนี้ทำงานอยู่, ท่านสามารถปิดโหมดนี้ได้โดยการใช้คำสั่ง M-x +auto fill mode<Return>. ถ้าโหมดนี้ปิดอยู่, คำสั่งนี้จะเปิดโหมดให้ทำงาน, และถ้า +โหมดนี้เปิดอยู่, คำสั่งนี้ก็จะปิดโหมด. คือพูดได้ว่าคำสั่งนี้ "toggles the mode". ->> 0,T;i1M9$S0JQh1'(B M-x auto fill mode<Return> 0,T4Y1(B. ,Ta0Ei1G0;i1M9(B "asdf " 0,T+i1Sf(B 0,T!Q19d;(9(B - 0,T7h1R9`0Kg190Gh1R:CC07Q1409Qi1906Y1!a0:h1'MM!`0;g19JM':CC07Q14(B. 0,T7h1R905i1M'c0Jh1`0Gi19GCC$`>CRP0Gh1R!RC0(Q14(B - ,T:CC07Q140MQ15b90AQ105T1(Pa0:h1':CC07Q145C'`0Gi19GCC$`07h1R09Qi19(B. +>> ป้อนคำสั่ง M-x auto fill mode<Return> ดู. แล้วป้อน "asdf " ซ้ำๆ กันไปจน + ท่านเห็นว่าบรรทัดนั้นถูกแบ่งออกเป็นสองบรรทัด. ท่านต้องใส่เว้นวรรคเพราะว่าการจัด + บรรทัดอัตโนมัติจะแบ่งบรรทัดตรงเว้นวรรคเท่านั้น. -,T"M:`0<Wh1M(B (margin) ,Tb4BAR!(P05Qi1'c0Ki107Uh1(B 70 0,T5Q1G0MQ1!IC(B, ,Ta05h107h1R90!g1JRARC6`;0EUh1B904i1GB$S0JQh1'(B -C-x f. 0,T7h1R9$GC05Qi1'"M:`0<Wh1M04i1GB05Q1G`E"MR0Cl10!T1G`A905l15RA07Uh107h1R905i1M'!RC(B. +ขอบเผื่อ (margin) โดยมากจะตั้งให้ที่ 70 ตัวอักษร, แต่ท่านก็สามารถเปลี่ยนด้วยคำสั่ง +C-x f. ท่านควรตั้งขอบเผื่อด้วยตัวเลขอาร์กิวเมนต์ตามที่ท่านต้องการ. ->> 0,T;i1M9$S0JQh1'(B C-x f ,T>0Ci1MA04i1GBMR0Cl10!T1G`A905l1(B 20. (C-u 2 0 C-x f). - ,Ta0Ei1G0;i1M90"i1M$GRAaEP(P`0Kg190Gh1R0MU1aA!0Jl10(Q14:CC07Q1407Uh10AU1"9R4(B 20 0,T5Q1G0MQ1!IC(B. ,Ta0Ei1G05Qi1'"M:(B - ,T`0<Wh1M`0;g19(B 70 ,Tb4Bc0*i1$S0JQh1'(B C-x f 0,TMU1!$0CQi1'(B. +>> ป้อนคำสั่ง C-x f พร้อมด้วยอาร์กิวเมนต์ 20. (C-u 2 0 C-x f). + แล้วป้อนข้อความและจะเห็นว่าอีแมกส์จัดบรรทัดที่มีขนาด 20 ตัวอักษร. แล้วตั้งขอบ + เผื่อเป็น 70 โดยใช้คำสั่ง C-x f อีกครั้ง. -0,T6i1R07h1R97S!RC`;0EUh1B9a;E'5C'!ER'0Bh1MK09i1R(B, ,TbKA40(Q14:CC07Q140MQ15b90AQ105T1(Pd0Ah10(Q14:CC07Q14cK0Ah1(B -(re-fill) ,Tc0Ki107h1R9(B. 0,T6i1R(P0(Q14:CC07Q14cK0Ah1c0Ki10!Q1:0Bh1MK09i1R09Qi19(B, ,Tc0Ki10;i1M9$S0JQh1'(B M-q (META-q) -,Tb4BGR'5SaK09h1'`$M0Cl1`+M0Cl1d0Gi1@RBc90Bh1MK09i1R09Qi19(B. +ถ้าท่านทำการเปลี่ยนแปลงตรงกลางย่อหน้า, โหมดจัดบรรทัดอัตโนมัติจะไม่จัดบรรทัดใหม่ +(re-fill) ให้ท่าน. ถ้าจะจัดบรรทัดใหม่ให้กับย่อหน้านั้น, ให้ป้อนคำสั่ง M-q (META-q) +โดยวางตำแหน่งเคอร์เซอร์ไว้ภายในย่อหน้านั้น. ->> ,T`$0EWh1M9`$M0Cl1`+M0Cl1`0"i1Rd;0BQ1'0Bh1MK09i1R0"i1R':9(B, ,Ta0Ei1G0;i1M9$S0JQh1'(B M-q. +>> เคลื่อนเคอร์เซอร์เข้าไปยังย่อหน้าข้างบน, แล้วป้อนคำสั่ง M-q. -* ,T!RC0JW1:0$i19(B (searching) +* การสืบค้น (searching) --------------------- -0,TMU1aA!0Jl1JRARC60JW1:0$i19JRB0MQ1!"CP(B (,T!0EXh1A"M'05Q1G0MQ1!ICK0CW1M$S07Uh1M0BYh105h1M`09Wh1M'0!Q19(B) ,Td0Ah10Gh1R(Pd;(B -0,T"i1R'K09i1RK0CW1M0Bi1M9!0EQ1:(B, 0,T7Qh1G07Qi1'0"i1M$GRA(B. ,T!RC0JW1:0$i19JRB0MQ1!"CP0$W1M$S0JQh1'c9!RC`$0EWh1M95SaK09h1'(B -,T"M'`$M0Cl1`+M0Cl1(B; ,T`$M0Cl1`+M0Cl1(P`$0EWh1M9d;M0BYh107Uh15SaK09h1'06Q14d;07Uh10AU1JRB0MQ1!"CP09Qi19M0BYh1(B. - -,T$S0JQh1'0JW1:0$i19c90MU1aA!0Jl105h1R'(R!$S0JQh1'0JW1:0$i19c9b;Ca!CA:CC3R08T1!C03l1(B (editor) 0,TJh1G9cK0-h1(B, ,Tc9(B -0,TEQ1!I3P07Uh1`0;g19(B "incremental". 0,T9Uh1KARB$GRA0Gh1R!RC0JW1:0$i19`0CTh1A05Qi1'a05h107Uh107h1R9d04i10;i1M90MQ1!"CP07Uh1(B -0,T5i1M'!RC0JW1:0$i19(B. - -,T$S0JQh1'07Uh1c0*i1`0>Wh1Mc0Ki17S!RC0JW1:0$i19d;0"i1R'K09i1R0$W1M(B C-s, ,TaEP7S!RC0JW1:0$i190Bi1M9d;0"i1R'K0EQ1'0$W1M(B -C-r. ,Ta05h1$MB0!h1M9(B! ,TM0Bh1R`0>Th1'EM'(B. - -,T`0AWh1M07h1R90;i1M9$S0JQh1'(B C-s 0,T7h1R9(P0JQ1'`!5`0Kg190Gh1R0AU1$S0Gh1R(B "I-search" ,T;CR!/07Uh1:0CT1`G3JP07i1M9(B -(echo area). 0,T9Uh1aJ4'0Gh1R0MU1aA!0Jl1d04i1M0BYh1c9!RC0$i19a::(B incremental ,TaEP!S0EQ1'CM(B -0,TJTh1'07Uh107h1R9(P0>T1A0>l1`0>Wh1M0JW1:0$i19(B. ,T!40;Xh1A(B <Return> ,T`0>Wh1M0JTi190JX14$S0JQh1'0JW1:0$i19(B. - ->> 0,T;i1M9$S0JQh1'(B C-s ,T`0>Wh1M`0CTh1A!RC0JW1:0$i19(B. 0,T>T1A0>l10MQ1!IC07U1EP05Q1G0*i1Rf(B, 0,T>T1A0>l1$S0Gh1R(B 'cursor', - ,TK0BX14K0EQ1'(R!07Uh107h1R90>T1A0>l107U1EP05Q1G0MQ1!IC(B, ,Ta0Ei1G04Y10Gh1R0AU1MPdC`0!T140"Vi190!Q1:`$M0Cl1`+M0Cl1(B. - ,T"3P09Ui107h1R9d04i10JW1:0$i19$S0Gh1R(B "cursor" ,Td;K09Vh1'K9a0Ei1G(B. ->> 0,T;i1M9$S0JQh1'(B C-s 0,TMU1!$0CQi1'(B, ,T`0>Wh1M0JW1:0$i195SaK09h1'06Q14d;"M'$S0Gh1R(B "cursor". ->> ,T!40;Xh1A(B <Delete> 0,TJQ1!0JUh1$0CQi1'(B, ,Ta0Ei1G04Y10Gh1R`$M0Cl1`+M0Cl1`$0EWh1M907Uh1M0Bh1R'dC(B. ->> ,T!40;Xh1A(B <Return> ,T`0>Wh1M0JTi190JX14$S0JQh1'0JW1:0$i19(B. - -0,T7h1R9`0Kg19K0CW1Md0Ah10Gh1R0AU1MPdC`0!T140"Vi19(B? ,Tc9!RC0JW1:0$i19a::(B incremental, 0,TMU1aA!0Jl1>BRBRA(B -,T`$0EWh1M9d;5RAJRB0MQ1!"CP07Uh107h1R9d04i10>T1A0>l1E'd;c9a05h1EP$0CQi1'(B. 0,T6i1R(P`$0EWh1M9d;0BQ1'5SaK09h1'(B -0,T6Q14d;"M'$S(B, 0,T!g17Sd04i1b4B!RC0;i1M9$S0JQh1'(B C-s 0,TMU1!$0CQi1'(B. 0,T6i1Rd0Ah10AU1$S09Qi190MU1!a0Ei1G(B, 0,TMU1aA!0Jl1(P0Ci1M'(B -,T:M!(B (beep) 0,T7h1R90Gh1R!RC0JW1:0$i19$0CQi1'09Qi19(B ",T>ER4(B (failing)", ,T$S0JQh1'(B C-g 0,T!g1JRARC6c0*i1c9(B -,T!RC0JTi190JX14!RC0JW1:0$i19d04i1(B. - -0,T"i1M0JQ1'`!5(B: ,Tc9:R'CP::(B, ,T!RC0;i1M9$S0JQh1'(B C-s ,T(P7Sc0Ki1CP::"M'07h1R9*P0'Q1!aEP07h1R9(Pd0Ah1`0Kg19(B -0,T"i1M$GRAMPdC:90MU1aA!0Jl1(B. 0,TEQ1!I3P09Ui1aJ4'0Gh1R(B "feature" ,T"M'CP::;0/T10:Q105T1!RC(B, 0,T7Uh1`0CU1B!0Gh1R(B -"flow control" 0,T9Qi19(B, ,Td04i10"Q14"GR'!RC7S'R9"M'$S0JQh1'(B C-s ,TaEPd0Ah1BMAc0Ki1!0EQ1:0JYh10MU1aA!0Jl1(B -0,TMU1!(B. ,T!RC07Uh1(Pa0!i1d"!RCK0BX14*P0'Q1!09Qi19(B, ,Tc0Ki10;i1M9$S0JQh1'(B C-q. 0,THV1!IR0GT108U1!RC0(Q14!RC0!Q1:(B "feature" -0,T9Ui1d04i107Uh1:707Uh10Gh1R04i1GB(B "Spontaneous Entry to Incremental Search" ,Tc90$Yh10AW1M"M'0MU1aA!0Jl1(B. - -0,T6i1R07h1R9M0BYh1CPK0Gh1R'!RC0JW1:0$i19a::(B incremental ,TM0BYh1(B, ,Ta0Ei1G07h1R9!40;Xh1A(B <Delete>, 0,T7h1R9(P(B -0,TJQ1'`!5`0Kg190Gh1R05Q1G0MQ1!IC0JX1407i1RB07Uh107h1R90;i1M9`0"i1Rd;09Qi1906Y1!E:MM!(B, ,TaEP(P0Bi1M9!0EQ1:d;0BQ1'5SaK09h1'(B -0,T!h1M9K09i1R"M'!RC0JW1:0$i19(B. 0,T5Q1GM0Bh1R'`0*h19(B, ,TJA0AX105T10Gh1R07h1R9d04i10;i1M905Q1G0MQ1!IC(B "c", ,T`0>Wh1M07Uh1(P0JW1:0$i19(B -,T5SaK09h1'07Uh1;CR!/05Q1G0MQ1!IC(B "c" 0,T9Qi19(B. ,T5M909Ui106i1R07h1R90>T1A0>l105Q1G0MQ1!IC(B "u", ,T`$M0Cl1`+M0Cl10!g1(P(B -,T`$0EWh1M9d;M0BYh107Uh15SaK09h1'07Uh1;CR!/JRB0MQ1!"CP(B "cu" ,TaC!0JX14(B. ,T5M909Ui1c0Ki1!40;Xh1A(B <Delete>. -0,T5Q1G0MQ1!IC(B "u" ,T(P06Y1!E:MM!(R!JRB0MQ1!"CP07Uh17S!RC0JW1:0$i19M0BYh1(B, ,TaEP`$M0Cl1`+M0Cl10!g1(P`$0EWh1M9(B -,T!0EQ1:d;0BQ1'5SaK09h1'07Uh1;CR!/05Q1G0MQ1!IC(B "c" ,TaC!0JX14(B. - -0,T6i1R07h1R9M0BYh1CPK0Gh1R'!RC0JW1:0$i19(B, ,Ta0Ei1G0;i1M9$S0JQh1';CPJA"M'(B CONTROL ,TK0CW1M(B META (,T9M!(R!(B -0,T"i1MB!`0Gi19:R';CP!RC(B--,T$S0JQh1'0>T1`HI07Uh1c0*i1JSK0CQ1:!RC0JW1:0$i19(B, ,Td04i1a0!h1(B C-s ,TaEP(B C-r), ,T!RC0JW1:(B -0,T$i19(P0JTi190JX14E'(B. - -,T$S0JQh1'(B C-s ,T`0CTh1A!RC0JW1:0$i1904i1GB!RCAM'KRJRB0MQ1!"CP05Qi1'a05h15SaK09h1'0;Q1(0(X10:Q19"M'`$M0Cl1`+M0Cl1(B. -0,T6i1R07h1R905i1M'!RC0JW1:0$i19JRB0MQ1!"CP07Uh1M0BYh10!h1M9K09i1Rc90"i1M$GRA09Qi19(B, ,Tc0Ki10;i1M9$S0JQh1'(B C-r ,Ta79(B. -,T$S0JQh1'(B C-s ,T(P7S'R9`K0AW1M90!Q1:$S0JQh1'(B C-r 0,T7X1!M0Bh1R'(B, ,TB!`0Gi1907T1H7R'"M'!RC0JW1:0$i19(B -,T`07h1R09Qi19(B, 0,T7Uh15C'0"i1RA0!Q19(B. - - -* 0,TGT19b40Gl1a::KERB0GT19b40Gl1(B (multiple windows) +อีแมกส์สามารถสืบค้นสายอักขระ (กลุ่มของตัวอักษรหรือคำที่อยู่ต่อเนื่องกัน) ไม่ว่าจะไป +ข้างหน้าหรือย้อนกลับ, ทั่วทั้งข้อความ. การสืบค้นสายอักขระคือคำสั่งในการเคลื่อนตำแหน่ง +ของเคอร์เซอร์; เคอร์เซอร์จะเคลื่อนไปอยู่ที่ตำแหน่งถัดไปที่มีสายอักขระนั้นอยู่. + +คำสั่งสืบค้นในอีแมกส์ต่างจากคำสั่งสืบค้นในโปรแกรมบรรณาธิกรณ์ (editor) ส่วนใหญ่, ใน +ลักษณะที่เป็น "incremental". นี่หมายความว่าการสืบค้นเริ่มตั้งแต่ที่ท่านได้ป้อนอักขระที่ +ต้องการสืบค้น. + +คำสั่งที่ใช้เพื่อให้ทำการสืบค้นไปข้างหน้าคือ C-s, และทำการสืบค้นย้อนไปข้างหลังคือ +C-r. แต่คอยก่อน! อย่าเพิ่งลอง. + +เมื่อท่านป้อนคำสั่ง C-s ท่านจะสังเกตเห็นว่ามีคำว่า "I-search" ปรากฏที่บริเวณสะท้อน +(echo area). นี่แสดงว่าอีแมกส์ได้อยู่ในการค้นแบบ incremental และกำลังรอ +สิ่งที่ท่านจะพิมพ์เพื่อสืบค้น. กดปุ่ม <Return> เพื่อสิ้นสุดคำสั่งสืบค้น. + +>> ป้อนคำสั่ง C-s เพื่อเริ่มการสืบค้น. พิมพ์อักษรทีละตัวช้าๆ, พิมพ์คำว่า 'cursor', + หยุดหลังจากที่ท่านพิมพ์ทีละตัวอักษร, แล้วดูว่ามีอะไรเกิดขึ้นกับเคอร์เซอร์. + ขณะนี้ท่านได้สืบค้นคำว่า "cursor" ไปหนึ่งหนแล้ว. +>> ป้อนคำสั่ง C-s อีกครั้ง, เพื่อสืบค้นตำแหน่งถัดไปของคำว่า "cursor". +>> กดปุ่ม <Delete> สักสี่ครั้ง, แล้วดูว่าเคอร์เซอร์เคลื่อนที่อย่างไร. +>> กดปุ่ม <Return> เพื่อสิ้นสุดคำสั่งสืบค้น. + +ท่านเห็นหรือไม่ว่ามีอะไรเกิดขึ้น? ในการสืบค้นแบบ incremental, อีแมกส์พยายาม +เคลื่อนไปตามสายอักขระที่ท่านได้พิมพ์ลงไปในแต่ละครั้ง. ถ้าจะเคลื่อนไปยังตำแหน่ง +ถัดไปของคำ, ก็ทำได้โดยการป้อนคำสั่ง C-s อีกครั้ง. ถ้าไม่มีคำนั้นอีกแล้ว, อีแมกส์จะร้อง +บอก (beep) ท่านว่าการสืบค้นครั้งนั้น "พลาด (failing)", คำสั่ง C-g ก็สามารถใช้ใน +การสิ้นสุดการสืบค้นได้. + +ข้อสังเกต: ในบางระบบ, การป้อนคำสั่ง C-s จะทำให้ระบบของท่านชะงักและท่านจะไม่เห็น +ข้อความอะไรบนอีแมกส์. ลักษณะนี้แสดงว่า "feature" ของระบบปฏิบัติการ, ที่เรียกว่า +"flow control" นั้น, ได้ขัดขวางการทำงานของคำสั่ง C-s และไม่ยอมให้กลับสู่อีแมกส์ +อีก. การที่จะแก้ไขการหยุดชะงักนั้น, ให้ป้อนคำสั่ง C-q. ศึกษาวิธีการจัดการกับ "feature" +นี้ได้ที่บทที่ว่าด้วย "Spontaneous Entry to Incremental Search" ในคู่มือของอีแมกส์. + +ถ้าท่านอยู่ระหว่างการสืบค้นแบบ incremental อยู่, แล้วท่านกดปุ่ม <Delete>, ท่านจะ +สังเกตเห็นว่าตัวอักษรสุดท้ายที่ท่านป้อนเข้าไปนั้นถูกลบออก, และจะย้อนกลับไปยังตำแหน่ง +ก่อนหน้าของการสืบค้น. ตัวอย่างเช่น, สมมุติว่าท่านได้ป้อนตัวอักษร "c", เพื่อที่จะสืบค้น +ตำแหน่งที่ปรากฏตัวอักษร "c" นั้น. ตอนนี้ถ้าท่านพิมพ์ตัวอักษร "u", เคอร์เซอร์ก็จะ +เคลื่อนไปอยู่ที่ตำแหน่งที่ปรากฏสายอักขระ "cu" แรกสุด. ตอนนี้ให้กดปุ่ม <Delete>. +ตัวอักษร "u" จะถูกลบออกจากสายอักขระที่ทำการสืบค้นอยู่, และเคอร์เซอร์ก็จะเคลื่อน +กลับไปยังตำแหน่งที่ปรากฏตัวอักษร "c" แรกสุด. + +ถ้าท่านอยู่ระหว่างการสืบค้น, แล้วป้อนคำสั่งประสมของ CONTROL หรือ META (นอกจาก +ข้อยกเว้นบางประการ--คำสั่งพิเศษที่ใช้สำหรับการสืบค้น, ได้แก่ C-s และ C-r), การสืบ +ค้นจะสิ้นสุดลง. + +คำสั่ง C-s เริ่มการสืบค้นด้วยการมองหาสายอักขระตั้งแต่ตำแหน่งปัจจุบันของเคอร์เซอร์. +ถ้าท่านต้องการสืบค้นสายอักขระที่อยู่ก่อนหน้าในข้อความนั้น, ให้ป้อนคำสั่ง C-r แทน. +คำสั่ง C-s จะทำงานเหมือนกับคำสั่ง C-r ทุกอย่าง, ยกเว้นทิศทางของการสืบค้น +เท่านั้น, ที่ตรงข้ามกัน. + + +* วินโดว์แบบหลายวินโดว์ (multiple windows) -------------------------------------- -0,TEQ1!I3P07Uh109h1RJ9c(0MQ19K09Vh1'"M'0MU1aA!0Jl10!g10$W1M(B, 0,T7h1R9JRARC6aJ4'<Ed04i1AR!!0Gh1RK09Vh1'0GT19b40Gl1:9K09Vh1'(B -,TK09i1R(Mc9`GER`04U1BG0!Q19(B. +ลักษณะที่น่าสนใจอันหนึ่งของอีแมกส์ก็คือ, ท่านสามารถแสดงผลได้มากกว่าหนึ่งวินโดว์บนหนึ่ง +หน้าจอในเวลาเดียวกัน. ->> ,T`$0EWh1M9`$M0Cl1`+M0Cl1AR07Uh1:CC07Q1409Ui1(B, ,Ta0Ei1G0;i1M9$S0JQh1'(B C-u 0 C-l. +>> เคลื่อนเคอร์เซอร์มาที่บรรทัดนี้, แล้วป้อนคำสั่ง C-u 0 C-l. ->> 0,T5h1Md;(B, 0,T;i1M9$S0JQh1'(B C-x 2 0,T+Vh1'(Pa0:h1'K09i1R(MMM!`0;g19JM'0GT19b40Gl1(B. - 0,T7Qi1'JM'0GT19b40Gl1aJ4'0$Yh10AW1M!RCc0*i109Ui1(B. ,T`$M0Cl1`+M0Cl1;CR!/M0BYh1c90GT19b40Gl1:9(B. +>> ต่อไป, ป้อนคำสั่ง C-x 2 ซึ่งจะแบ่งหน้าจอออกเป็นสองวินโดว์. + ทั้งสองวินโดว์แสดงคู่มือการใช้นี้. เคอร์เซอร์ปรากฏอยู่ในวินโดว์บน. ->> 0,T;i1M9$S0JQh1'(B C-M-v ,T`0>Wh1M`$0EWh1M90Ai1G90GT19b40Gl10"i1R'0Eh1R'(B. - (0,T6i1R07h1R9d0Ah10AU10;Xh1A(B META, 0,T;i1M9$S0JQh1'(B ESC C-v ,Ta79(B.) +>> ป้อนคำสั่ง C-M-v เพื่อเคลื่อนม้วนวินโดว์ข้างล่าง. + (ถ้าท่านไม่มีปุ่ม META, ป้อนคำสั่ง ESC C-v แทน.) ->> 0,T;i1M9$S0JQh1'(B C-x o ("o" ,TKARB06V1'(B "other") ,T`0>Wh1M`$0EWh1M9`$M0Cl1`+M0Cl1AR0BQ1'0GT19b40Gl10Eh1R'(B. ->> ,Tc0*i1$S0JQh1'(B C-v ,TaEP(B M-v ,Tc90GT19b40Gl10Eh1R'`0>Wh1M07Uh1(P`$0EWh1M90Ai1G9(B. - 0,TMh1R9$Sa9P9S09Ui104i1GB0GT19b40Gl1:9(B. +>> ป้อนคำสั่ง C-x o ("o" หมายถึง "other") เพื่อเคลื่อนเคอร์เซอร์มายังวินโดว์ล่าง. +>> ใช้คำสั่ง C-v และ M-v ในวินโดว์ล่างเพื่อที่จะเคลื่อนม้วน. + อ่านคำแนะนำนี้ด้วยวินโดว์บน. ->> 0,T;i1M9$S0JQh1'(B C-x o 0,TMU1!$0CQi1'`0>Wh1M07Uh1(P`$0EWh1M9`$M0Cl1`+M0Cl1!0EQ1:d;0GT19b40Gl1:9(B. - ,T`$M0Cl1`+M0Cl1c90GT19b40Gl1:9(P;CR!/5C'07Uh107Uh1`$B;CR!/(B. +>> ป้อนคำสั่ง C-x o อีกครั้งเพื่อที่จะเคลื่อนเคอร์เซอร์กลับไปวินโดว์บน. + เคอร์เซอร์ในวินโดว์บนจะปรากฏตรงที่ที่เคยปรากฏ. -0,T7h1R9JRARC6c0*i1$S0JQh1'(B C-x o ,T`0>Wh1MJ0EQ1:d;ARCPK0Gh1R'0GT19b40Gl1(B. ,Ta05h1EP0GT19b40Gl10AU15SaK09h1'"M'(B -,T`$M0Cl1`+M0Cl1"M'05Q1G`M'(B, ,Ta05h1(P0AU1`0>U1B'0GT19b40Gl1`04U1BG`07h1R09Qi1907Uh1aJ4'05Q1G`$M0Cl1`+M0Cl1(B. 0,T7X1!$S0JQh1'0!g1(P(B -0,TAU1<E05h1M0GT19b40Gl107Uh10AU1`$M0Cl1`+M0Cl1;CR!/M0BYh1`07h1R09Qi19(B. ,T`CR`0CU1B!0GT19b40Gl109Ui10Gh1R(B "0,TGT19b40Gl107Uh106Y1!`0EW1M!(B +ท่านสามารถใช้คำสั่ง C-x o เพื่อสลับไปมาระหว่างวินโดว์. แต่ละวินโดว์มีตำแหน่งของ +เคอร์เซอร์ของตัวเอง, แต่จะมีเพียงวินโดว์เดียวเท่านั้นที่แสดงตัวเคอร์เซอร์. ทุกคำสั่งก็จะ +มีผลต่อวินโดว์ที่มีเคอร์เซอร์ปรากฏอยู่เท่านั้น. เราเรียกวินโดว์นี้ว่า "วินโดว์ที่ถูกเลือก (selected window)". -,T$S0JQh1'(B C-M-v 0,TAU1;CPbB*09l1AR!`0AWh1M07h1R9!S0EQ1'a0!i1d"0"i1M$GRA:90GT19b40Gl1K09Vh1'(B, ,TaEP04Y10MU1!0GT19b40Gl1K09Vh1'(B -,T`0>Wh1M!RC0Mi1R'0MT1'(B. 0,T7h1R9JRARC6c0Ki1`$M0Cl1`+M0Cl1;CR!/:90GT19b40Gl107Uh107h1R9!S0EQ1'a0!i1d"M0BYh15EM4`GER(B, -,Ta0Ei1G`$0EWh1M95SaK09h1'"M'0MU1!0GT19b40Gl1K09Vh1'04i1GB$S0JQh1'(B C-M-v. +คำสั่ง C-M-v มีประโยชน์มากเมื่อท่านกำลังแก้ไขข้อความบนวินโดว์หนึ่ง, และดูอีกวินโดว์หนึ่ง +เพื่อการอ้างอิง. ท่านสามารถให้เคอร์เซอร์ปรากฏบนวินโดว์ที่ท่านกำลังแก้ไขอยู่ตลอดเวลา, +แล้วเคลื่อนตำแหน่งของอีกวินโดว์หนึ่งด้วยคำสั่ง C-M-v. -,T$S0JQh1'(B C-M-v ,T`0;g1905Q1GM0Bh1R'K09Vh1'"M'$S0JQh1';CPJA(B CONTROL-META. 0,T6i1R07h1R90AU10;Xh1A(B META, -0,T7h1R9JRARC60;i1M9$S0JQh1'(B C-M-v ,Tb4B!RC!40;Xh1A(B CONTROL ,TaEP(B META ,T"3P07Uh1!40;Xh1A0MQ1!"CP(B -v. ,Td0Ah10Gh1R(P!40;Xh1A(B CONTROL ,TK0CW1M(B META 0,T!h1M90!g1d0Ah10AU10;Q1-KRMPdC(B, ,T`>CRP0Gh1R07Qi1'JM'0;Xh1A`0;g190;Xh1A(B -,T"BRB"M'0;Xh1A0MQ1!"CP07Uh107h1R9(P!4(B. +คำสั่ง C-M-v เป็นตัวอย่างหนึ่งของคำสั่งประสม CONTROL-META. ถ้าท่านมีปุ่ม META, +ท่านสามารถป้อนคำสั่ง C-M-v โดยการกดปุ่ม CONTROL และ META ขณะที่กดปุ่มอักขระ +v. ไม่ว่าจะกดปุ่ม CONTROL หรือ META ก่อนก็ไม่มีปัญหาอะไร, เพราะว่าทั้งสองปุ่มเป็นปุ่ม +ขยายของปุ่มอักขระที่ท่านจะกด. -0,T6i1R07h1R9d0Ah10AU10;Xh1A(B META, ,TaEP07h1R9c0*i10;Xh1A(B ESC ,Ta79(B, ,TES04Q1:"M'!RC!40;Xh1A(P0AU1<E05h1M!RC7S'R9(B: -0,T7h1R905i1M'!40;Xh1A(B ESC ,Ta0Ei1G5RA04i1GB$S0JQh1'(B CONTROL-v, ,T`>CRP0Gh1R$S0JQh1'(B CONTROL-ESC v ,T(Pd0Ah1(B -,T7S'R9(B. 0,T7Qi1'09Ui1`>CRP0Gh1R0;Xh1A(B ESC ,T`0;g190MQ1!"CP05Q1GK09Vh1'(B, ,Td0Ah1c0*h10;Xh1A"BRB(B. +ถ้าท่านไม่มีปุ่ม META, และท่านใช้ปุ่ม ESC แทน, ลำดับของการกดปุ่มจะมีผลต่อการทำงาน: +ท่านต้องกดปุ่ม ESC แล้วตามด้วยคำสั่ง CONTROL-v, เพราะว่าคำสั่ง CONTROL-ESC v จะไม่ +ทำงาน. ทั้งนี้เพราะว่าปุ่ม ESC เป็นอักขระตัวหนึ่ง, ไม่ใช่ปุ่มขยาย. ->> 0,T;i1M9$S0JQh1'(B C-x 1 (,Tc90GT19b40Gl1:9(B) ,T`0>Wh1M!S0(Q140GT19b40Gl10Eh1R'(B. +>> ป้อนคำสั่ง C-x 1 (ในวินโดว์บน) เพื่อกำจัดวินโดว์ล่าง. -(0,T6i1R07h1R90;i1M9$S0JQh1'(B C-x 1 ,Tc90GT19b40Gl10Eh1R'(B, 0,TGT19b40Gl1:90!g1(PKRBd;(B. 0,T7h1R9JRARC6(S(B -,T$S0JQh1'09Ui1d04i1b4B0$T140Gh1R(B ",T`K0EW1Md0Gi1`0>U1B'K09Vh1'0GT19b40Gl1(B--0,TGT19b40Gl107Uh1M0BYh1c9"3P09Ui1(B.") +(ถ้าท่านป้อนคำสั่ง C-x 1 ในวินโดว์ล่าง, วินโดว์บนก็จะหายไป. ท่านสามารถจำ +คำสั่งนี้ได้โดยคิดว่า "เหลือไว้เพียงหนึ่งวินโดว์--วินโดว์ที่อยู่ในขณะนี้.") -0,T7h1R9d0Ah1(S`0;g1905i1M'aJ4'<E"M'0:Q1?`?M0Cl1`04U1BG0!Q19:907Qi1'JM'0GT19b40Gl1(B. 0,T6i1R07h1R9c0*i1$S0JQh1'(B C-x C-f -,T`0>Wh1M0$i19KRa0?i1A0"i1M0AY1Ec90GT19b40Gl1K09Vh1'(B, 0,TMU1!0GT19b40Gl1K09Vh1'(Pd0Ah1`;0EUh1B9a;E'(B. 0,T7h1R9JRARC60$i19KR(B -,Ta0?i1A0"i1M0AY1Ec9a05h1EP0GT19b40Gl1d04i10MT1JCP05h1M0!Q19(B. +ท่านไม่จำเป็นต้องแสดงผลของบัฟเฟอร์เดียวกันบนทั้งสองวินโดว์. ถ้าท่านใช้คำสั่ง C-x C-f +เพื่อค้นหาแฟ้มข้อมูลในวินโดว์หนึ่ง, อีกวินโดว์หนึ่งจะไม่เปลี่ยนแปลง. ท่านสามารถค้นหา +แฟ้มข้อมูลในแต่ละวินโดว์ได้อิสระต่อกัน. -0,T5h1Md;`0;g190MU1!0GT108U1K09Vh1'"M'!RCc0*i1JM'0GT19b40Gl1JSK0CQ1:aJ4'<E"M'JM'0JTh1'07Uh105h1R'0!Q19(B: +ต่อไปเป็นอีกวิธีหนึ่งของการใช้สองวินโดว์สำหรับแสดงผลของสองสิ่งที่ต่างกัน: ->> 0,T;i1M9$S0JQh1'(B C-x 4 C-f ,Ta0Ei1G5RA04i1GB0*Wh1Ma0?i1A0"i1M0AY1E(B. 0,TJTi190JX14$S0JQh1'04i1GB!RC!40;Xh1A(B - <Return>. ,T(P`0Kg190Gh1R0AU1a0?i1A0"i1M0AY1E07Uh105i1M'!RC;CR!/M0BYh1c90GT19b40Gl10Eh1R'(B. ,T`$M0Cl1`+M0Cl10!g1(Pd;(B - ,T;CR!/07Uh10GT19b40Gl109Qi1904i1GB(B. +>> ป้อนคำสั่ง C-x 4 C-f แล้วตามด้วยชื่อแฟ้มข้อมูล. สิ้นสุดคำสั่งด้วยการกดปุ่ม + <Return>. จะเห็นว่ามีแฟ้มข้อมูลที่ต้องการปรากฏอยู่ในวินโดว์ล่าง. เคอร์เซอร์ก็จะไป + ปรากฏที่วินโดว์นั้นด้วย. ->> 0,T;i1M9$S0JQh1'(B C-x o ,T`0>Wh1M!0EQ1:d;0BQ1'0GT19b40Gl1:9(B, ,Ta0Ei1G0;i1M9$S0JQh1'(B C-x 1 ,T`0>Wh1M!S0(Q140GT19b40Gl10Eh1R'(B. +>> ป้อนคำสั่ง C-x o เพื่อกลับไปยังวินโดว์บน, แล้วป้อนคำสั่ง C-x 1 เพื่อกำจัดวินโดว์ล่าง. -* ,TCP04Q1:"M'!RCa0!i1d"a::`0CU1B!0+i1S(B (recursive editing levels) +* ระดับของการแก้ไขแบบเรียกซ้ำ (recursive editing levels) ------------------------------------------------------- -,T:R'$0CQi1'07h1R9MR((P`0"i1Rd;M0BYh1c9(B ",TCP04Q1:"M'!RCa0!i1d"a::!RC`0CU1B!0+i1S(B (recursive editing -level)". ,TJ@R>04Q1'!0Eh1RG`0*h1909Ui1aJ4'04i1GBG'`0Eg1:0!i1RA0;Y1c9:CC07Q14aJ4'bKA4(B, 0,TEi1MACM:G'`0Eg1:07Uh1(B -,TaJ4'0*Wh1M"M'bKA4K0EQ1!(B. 0,T5Q1GM0Bh1R'`0*h19(B, 0,T7h1R9MR((P`0Kg19(B [(Fundamental)] ,Ta7907Uh1(P`0;g19(B +บางครั้งท่านอาจจะเข้าไปอยู่ใน "ระดับของการแก้ไขแบบการเรียกซ้ำ (recursive editing +level)". สภาพดังกล่าวเช่นนี้แสดงด้วยวงเล็บก้ามปูในบรรทัดแสดงโหมด, ล้อมรอบวงเล็บที่ +แสดงชื่อของโหมดหลัก. ตัวอย่างเช่น, ท่านอาจจะเห็น [(Fundamental)] แทนที่จะเป็น (Fundamental). -,Tc9!RC07Uh1(PMM!(R!CP04Q1:"M'!RCa0!i1d"a::`0CU1B!0+i1S(B, ,T!40;Xh1A(B ESC ESC ESC. 0,T9Uh1`0;g19(B -,T$S0JQh1'07Uh1c0*i1d04i107Qh1Gd;c9!RCMM!(R!CP04Q1:c4f(B ,T"M'!RC;CPAGE<E(B. 0,T7h1R9JRARC6c0*i1$S0JQh1'09Ui1c9(B -,T!RC!S0(Q140GT19b40Gl10>T1`HI0MWh19f(B, ,TCGA07Qi1'!RCMM!(R!0AT109T10:Q1?`?M0Cl1(B (minibuffer). +ในการที่จะออกจากระดับของการแก้ไขแบบเรียกซ้ำ, กดปุ่ม ESC ESC ESC. นี่เป็น +คำสั่งที่ใช้ได้ทั่วไปในการออกจากระดับใดๆ ของการประมวลผล. ท่านสามารถใช้คำสั่งนี้ใน +การกำจัดวินโดว์พิเศษอื่นๆ, รวมทั้งการออกจากมินิบัฟเฟอร์ (minibuffer). ->> 0,T;i1M9$S0JQh1'(B M-x ,T`0>Wh1M`0"i1Rd;c90AT109T10:Q1?`?M0Cl1(B; ,T!40;Xh1A(B ESC ESC ESC ,T`0>Wh1MMM!(R!(B - 0,TAT109T10:Q1?`?M0Cl109Qi19(B. +>> ป้อนคำสั่ง M-x เพื่อเข้าไปในมินิบัฟเฟอร์; กดปุ่ม ESC ESC ESC เพื่อออกจาก + มินิบัฟเฟอร์นั้น. -0,T7h1R9d0Ah1JRARC6c0*i1$S0JQh1'(B C-g ,T`0>Wh1MMM!(R!CP04Q1:"M'!RCa0!i1d"a::`0CU1B!0+i1S(B. -,T`>CRP0Gh1R$S0JQh1'(B C-g ,Tc0*i1`0>Wh1MB!`0ET1!$S0JQh1'aEPMR0Cl10!T1G`A905l1@RBc9CP04Q1:"M'!RCa0!i1d"a::(B -,T`0CU1B!0+i1S(B. +ท่านไม่สามารถใช้คำสั่ง C-g เพื่อออกจากระดับของการแก้ไขแบบเรียกซ้ำ. +เพราะว่าคำสั่ง C-g ใช้เพื่อยกเลิกคำสั่งและอาร์กิวเมนต์ภายในระดับของการแก้ไขแบบ +เรียกซ้ำ. -* ,T!RC`0CU1B!04Y10"i1M$GRA0*h1GB`K0EW1M`0>Th1A`05T1A(B (getting more help) +* การเรียกดูข้อความช่วยเหลือเพิ่มเติม (getting more help) ------------------------------------------------- -,Tc90$Yh10AW1M09Ui1`CR>BRBRA07Uh1(Pc0Ki10"i1M0AY1E07Uh1`0>U1B'>MJSK0CQ1:!RC`0CTh1Ac0*i10MU1aA!0Jl1(B. 0,TBQ1'$'0AU10"i1M0AY1E0MU1!AR!c9(B -0,TMU1aA!0Jl10+Vh1'`CRd0Ah1JRARC607Uh1(P9SARM08T1:RBd0Gi1c907Uh109Ui1d04i107Qi1'KA4(B. ,TM0Bh1R'dC0!g15RA(B, 0,T7h1R9MR(05i1M'!RC(B -,T`0CU1B90CYi1`0!Uh1BG0!Q1:0MU1aA!0Jl1`0>Th1A`05T1A`>CRP0MU1aA!0Jl10BQ1'0AU10$X13JA0:Q105T10MU1!AR!ARB(B. 0,TMU1aA!0Jl1d04i1`50CU1BA$S0JQh1'(B -,TJSK0CQ1:`0CU1B!04Y1`09Wi1MKR`0!Uh1BG0!Q1:$S0JQh1'"M'0MU1aA!0Jl1(B. ,T$S0JQh1'(B "0,T*h1GB`K0EW1M(B (help)" 0,T7Qi1'KA4`0CTh1A04i1GB(B -0,TMQ1!"CP(B CONTROL-h, 0,T+Vh1'`0CU1B!0Gh1R(B "0,TMQ1!"CP0*h1GB`K0EW1M(B (the Help character)". +ในคู่มือนี้เราพยายามที่จะให้ข้อมูลที่เพียงพอสำหรับการเริ่มใช้อีแมกส์. ยังคงมีข้อมูลอีกมากใน +อีแมกส์ซึ่งเราไม่สามารถที่จะนำมาอธิบายไว้ในที่นี้ได้ทั้งหมด. อย่างไรก็ตาม, ท่านอาจต้องการ +เรียนรู้เกี่ยวกับอีแมกส์เพิ่มเติมเพราะอีแมกส์ยังมีคุณสมบัติอีกมากมาย. อีแมกส์ได้เตรียมคำสั่ง +สำหรับเรียกดูเนื้อหาเกี่ยวกับคำสั่งของอีแมกส์. คำสั่ง "ช่วยเหลือ (help)" ทั้งหมดเริ่มด้วย +อักขระ CONTROL-h, ซึ่งเรียกว่า "อักขระช่วยเหลือ (the Help character)". -,Tc9!RC07Uh1(Pc0*i10$X13JA0:Q105T10*h1GB`K0EW1M(B, 0,T;i1M90MQ1!"CP(B C-h, ,Ta0Ei1G5RA04i1GB0MU1!K09Vh1'0MQ1!"CP`0>Wh1M:M!0Gh1R(B -0,T7h1R905i1M'!RC$S0*h1GB`K0EW1MMPdC(B. 0,T6i1R07h1R9d0Ah17CR:0Gh1R(P7SMPdC05h1Md;(B, 0,T;i1M9$S0JQh1'(B C-h ? ,Ta0Ei1G(B -0,TMU1aA!0Jl1(P:M!07h1R90Gh1R0AU1$S0*h1GBMPdC07Uh10MU1aA!0Jl1JRARC6(Pc0Ki1d04i1(B. 0,T6i1R07h1R90;i1M9$S0JQh1'(B C-h ,Ta0Ei1G(B -0,T5i1M'!RCB!`0ET1!07h1R9(B, 0,T!g1JRARC6B!`0ET1!d04i1b4Bc0*i1$S0JQh1'(B C-g. +ในการที่จะใช้คุณสมบัติช่วยเหลือ, ป้อนอักขระ C-h, แล้วตามด้วยอีกหนึ่งอักขระเพื่อบอกว่า +ท่านต้องการคำช่วยเหลืออะไร. ถ้าท่านไม่ทราบว่าจะทำอะไรต่อไป, ป้อนคำสั่ง C-h ? แล้ว +อีแมกส์จะบอกท่านว่ามีคำช่วยอะไรที่อีแมกส์สามารถจะให้ได้. ถ้าท่านป้อนคำสั่ง C-h แล้ว +ต้องการยกเลิกท่าน, ก็สามารถยกเลิกได้โดยใช้คำสั่ง C-g. -(,Tc9:R'CP::09Qi19(B, ,T$GRAKARB"M'0MQ1!"CP(B C-h ,Td04i106Y1!`;0EUh1B9d;(B. 0,T+Vh1'b4B$GRA`0;g19(0CT1'a0Ei1Gd0Ah1(B -,T$GC(P7S`0*h1909Ui1(B, 0,T7Qi1'09Ui107h1R9MR((P0*Ui1a('05h1M0<Yi104Y1aECP::d04i1(B. ,TJSK0CQ1:!RCa0!i10;Q1-KR`)>RPK09i1R(B, 0,T6i1R(B -,T$S0JQh1'(B C-h ,Td0Ah1d04i1aJ4'0"i1M$GRA`0!Uh1BG0!Q1:$S0*h1GB`K0EW1M07Uh10Jh1G90Eh1R'"M'K09i1R(M09Qi19(B, ,Tc0Ki1EM'!40;Xh1A(B F1 -,TK0CW1M(B M-x help<Return> ,Ta79(B.) +(ในบางระบบนั้น, ความหมายของอักขระ C-h ได้ถูกเปลี่ยนไป. ซึ่งโดยความเป็นจริงแล้วไม่ +ควรจะทำเช่นนี้, ทั้งนี้ท่านอาจจะชี้แจงต่อผู้ดูแลระบบได้. สำหรับการแก้ปัญหาเฉพาะหน้า, ถ้า +คำสั่ง C-h ไม่ได้แสดงข้อความเกี่ยวกับคำช่วยเหลือที่ส่วนล่างของหน้าจอนั้น, ให้ลองกดปุ่ม F1 +หรือ M-x help<Return> แทน.) -0,T$X13JA0:Q105T1`0:Wi1M'05i19"M'$S0JQh1'0*h1GB`K0EW1M0$W1M$S0JQh1'(B C-h c. ,TEM'0;i1M9$S0JQh1'(B C-h, 0,TMQ1!"CP(B c, ,Ta0Ei1G(B -,T5RA04i1GB0MQ1!"CPK0CW1MJRB0MQ1!"CP(B; ,Ta0Ei1G0MU1aA!0Jl1(PaJ4'$SM08T1:RB"M'$S0JQh1'09Qi19b4B0JQ1'`";(B. +คุณสมบัติเบื้องต้นของคำสั่งช่วยเหลือคือคำสั่ง C-h c. ลองป้อนคำสั่ง C-h, อักขระ c, แล้ว +ตามด้วยอักขระหรือสายอักขระ; แล้วอีแมกส์จะแสดงคำอธิบายของคำสั่งนั้นโดยสังเขป. ->> 0,T;i1M9$S0JQh1'(B C-h c CONTROL-p. - 0,T"i1M$GRA07Uh1;CR!/(P`0;g1904Q1'05h1Md;09Ui1(B +>> ป้อนคำสั่ง C-h c CONTROL-p. + ข้อความที่ปรากฏจะเป็นดังต่อไปนี้ C-p runs the command previous-line -0,T9Uh1`0;g19!RC:M!(B "0,T*Wh1M0?Q1'0!l10*Q19"M'$S0JQh1'(B" 0,T9Qi19(B. 0,T*Wh1M"M'0?Q1'0!l10*Q19c0*i1`0>Wh1M!RC;0CQ1:aEPa05h1'`05T1A0MU1aA!0Jl1(B. -,Ta05h1`09Wh1M'(R!0*Wh1M"M'0?Q1'0!l10*Q1909Qi1905Qi1'`0>Wh1M0*Ui1:M!0Gh1R$S0JQh1'09Qi197S'R9M0Bh1R'dC(B, 0,T+Vh1'MR(`0;g1905Q1G0*h1GB:M!(B -,T$SM08T1:RBb4B0JQ1'`";d04i1(B--,TMR(`0>U1B'>M07Uh1(P`05W1M9c0Ki107h1R909V1!06V1'$S0JQh1'07Uh105i1M'!RCd04i1(B. +นี่เป็นการบอก "ชื่อฟังก์ชันของคำสั่ง" นั้น. ชื่อของฟังก์ชันใช้เพื่อการปรับและแต่งเติมอีแมกส์. +แต่เนื่องจากชื่อของฟังก์ชันนั้นตั้งเพื่อชี้บอกว่าคำสั่งนั้นทำงานอย่างไร, ซึ่งอาจเป็นตัวช่วยบอก +คำอธิบายโดยสังเขปได้--อาจเพียงพอที่จะเตือนให้ท่านนึกถึงคำสั่งที่ต้องการได้. -,T$S0JQh1'07Uh1;CP!M:04i1GBKERB0MQ1!"CP(B ,T`0*h19$S0JQh1'(B C-x C-s ,TaEP(B (0,T6i1R07h1R9d0Ah10AU10;Xh1A(B META ,TK0CW1M(B -EDIT ,TK0CW1M(B ALT) ,T$S0JQh1'(B <ESC>v ,TJRARC6c0*i15RAK0EQ1'$S0JQh1'(B C-h c. +คำสั่งที่ประกอบด้วยหลายอักขระ เช่นคำสั่ง C-x C-s และ (ถ้าท่านไม่มีปุ่ม META หรือ +EDIT หรือ ALT) คำสั่ง <ESC>v สามารถใช้ตามหลังคำสั่ง C-h c. -,T!RC07Uh1(P`0CU1B!04Y10"i1M0AY1E`0>Th1A`0!Uh1BG0!Q1:$S0JQh1'(B, ,Tc0Ki1c0*i1$S0JQh1'(B C-h k ,Ta79$S0JQh1'(B C-h c. +การที่จะเรียกดูข้อมูลเพิ่มเกี่ยวกับคำสั่ง, ให้ใช้คำสั่ง C-h k แทนคำสั่ง C-h c. ->> 0,T;i1M9$S0JQh1'(B C-h k CONTROL-p. +>> ป้อนคำสั่ง C-h k CONTROL-p. -0,T9Uh1`0;g19!RCaJ4'<E$SM08T1:RB"M'0?Q1'0!l10*Q19(B, ,T>0Ci1MA0!Q1:0*Wh1M"M'$S0JQh1'09Qi19(B, ,Tc90GT19b40Gl1K09Vh1'"M'0MU1aA!0Jl1(B. -,T`0AWh1M07h1R90Mh1R9`J0Cg1(a0Ei1G(B, 0,T;i1M9$S0JQh1'(B C-x 1 ,T`0>Wh1M!S0(Q140"i1M$GRA"M'$S0*h1GB`K0EW1M(B. 0,T7h1R9d0Ah1(B -,T(S`0;g1907Uh1(P05i1M'7S07Q1907U1(B. 0,T7h1R9MR(7S!RCa0!i1d""3P07Uh104Y10"i1M$GRA$S0*h1GB`K0EW1M09Qi19M0BYh1(B, ,Ta0Ei1G(B -0,T$h1MB0;i1M9$S0JQh1'(B C-x 1. +นี่เป็นการแสดงผลคำอธิบายของฟังก์ชัน, พร้อมกับชื่อของคำสั่งนั้น, ในวินโดว์หนึ่งของอีแมกส์. +เมื่อท่านอ่านเสร็จแล้ว, ป้อนคำสั่ง C-x 1 เพื่อกำจัดข้อความของคำช่วยเหลือ. ท่านไม่ +จำเป็นที่จะต้องทำทันที. ท่านอาจทำการแก้ไขขณะที่ดูข้อความคำช่วยเหลือนั้นอยู่, แล้ว +ค่อยป้อนคำสั่ง C-x 1. -0,T5h1Md;09Ui1`0;g1905Q1G`0EW1M!07Uh1`0;g19;CPbB*09l1(B: +ต่อไปนี้เป็นตัวเลือกที่เป็นประโยชน์: - C-h f ,TM08T1:RB0?Q1'0!l10*Q19(B. 0,T>T1A0>l10*Wh1M0?Q1'0!l10*Q1907Uh105i1M'!RC7CR:5RAE'd;(B. + C-h f อธิบายฟังก์ชัน. พิมพ์ชื่อฟังก์ชันที่ต้องการทราบตามลงไป. ->> ,TEM'0;i1M9$S0JQh1'(B C-h f previous-line<Return>. - 0,T9Uh1`0;g19!RC07Uh1(P7Sc0Ki10MU1aA!0Jl10>T1A0>l10"i1M0AY1E07Qi1'KA407Uh10AU1`0!Uh1BG0!Q1:0?Q1'0!l10*Q19"M'$S0JQh1'(B C-p. +>> ลองป้อนคำสั่ง C-h f previous-line<Return>. + นี่เป็นการที่จะทำให้อีแมกส์พิมพ์ข้อมูลทั้งหมดที่มีเกี่ยวกับฟังก์ชันของคำสั่ง C-p. - C-h a ,T$S0JQh1'$GRA07Uh1`KARPJA(B (Command Apropos). 0,T;i1M9$SK0EQ1!(B (keyword) - ,Ta0Ei1G0MU1aA!0Jl1(PaJ4'CRB!RC"M'$S0JQh1'07Qi1'KA407Uh10AU1$SK0EQ1!;CP!M:M0BYh1(B. - ,T$S0JQh1'`K0Eh1R09Ui1(P`0CU1B!c0*i1d04i104i1GB$S0JQh1'(B META-x. - ,TJSK0CQ1::R'$S0JQh1'(B, ,T$S0JQh1'$GRA07Uh1`KARPJA(B (Command Apropos) ,T(P(B - ,TaJ4'CRB!RC"M'$S0JQh1'07Uh1;CP!M:04i1GBK09Vh1'K0CW1MJM'JRB0MQ1!"CP07Uh1c0*i1`0CU1B!(B - ,T$S0JQh1'`04U1BG0!Q1904i1GB(B. + C-h a คำสั่งความที่เหมาะสม (Command Apropos). ป้อนคำหลัก (keyword) + แล้วอีแมกส์จะแสดงรายการของคำสั่งทั้งหมดที่มีคำหลักประกอบอยู่. + คำสั่งเหล่านี้จะเรียกใช้ได้ด้วยคำสั่ง META-x. + สำหรับบางคำสั่ง, คำสั่งความที่เหมาะสม (Command Apropos) จะ + แสดงรายการของคำสั่งที่ประกอบด้วยหนึ่งหรือสองสายอักขระที่ใช้เรียก + คำสั่งเดียวกันด้วย. ->> 0,T;i1M9$S0JQh1'(B C-h a file<Return>. +>> ป้อนคำสั่ง C-h a file<Return>. -0,T9Uh1`0;g19!RCaJ4'CRB!RC"M'$S0JQh1';CP!M:"M'(B M-x 0,T!Q1:(B "file" ,Tc90*Wh1M"M'$S0JQh1'(B -0,T7Qi1'KA4c90MU1!K09i1R(M(B. 0,T7h1R9(P`0Kg19$S0JQh1';CP!M:0MQ1!"CP(B (character-command) ,T`0*h19(B C-x -C-f ,TaJ4'M0BYh10!Q1:0*Wh1M"M'$S0JQh1'09Qi19f(B ,T`0*h19(B find-file. +นี่เป็นการแสดงรายการของคำสั่งประกอบของ M-x กับ "file" ในชื่อของคำสั่ง +ทั้งหมดในอีกหน้าจอ. ท่านจะเห็นคำสั่งประกอบอักขระ (character-command) เช่น C-x +C-f แสดงอยู่กับชื่อของคำสั่งนั้นๆ เช่น find-file. ->> 0,T;i1M9$S0JQh1'(B C-M-v ,T`0>Wh1M`$0EWh1M90Ai1G90GT19b40Gl1$S0*h1GB`K0EW1M(B (help window). ,TEM'7S04Y10JQ1!(B - ,TJM'JRA$0CQi1'(B. +>> ป้อนคำสั่ง C-M-v เพื่อเคลื่อนม้วนวินโดว์คำช่วยเหลือ (help window). ลองทำดูสัก + สองสามครั้ง. ->> 0,T;i1M9$S0JQh1'(B C-x 1 ,T`0>Wh1M!S0(Q140GT19b40Gl1$S0*h1GB`K0EW1M(B. +>> ป้อนคำสั่ง C-x 1 เพื่อกำจัดวินโดว์คำช่วยเหลือ. -* ,TJ0CX1;(B +* สรุป ----- -0,TJTh1'$GC(Sd0Gi10$W1M(B, ,T$S0JQh1'(B C-x C-c ,Tc0*i1JSK0CQ1:MM!(R!0MU1aA!0Jl1M0Bh1R'6RGC(B. 0,T6i1R05i1M'!RCMM!d;0BQ1'(B -,T`*E0El10*Qh1G$CRG(B, ,TaEPJRARC6!0EQ1:AR0BQ1'0MU1aA!0Jl1d04i10MU1!09Qi19(B, ,Tc0Ki1c0*i1$S0JQh1'(B C-z. +สิ่งควรจำไว้คือ, คำสั่ง C-x C-c ใช้สำหรับออกจากอีแมกส์อย่างถาวร. ถ้าต้องการออกไปยัง +เชลล์ชั่วคราว, และสามารถกลับมายังอีแมกส์ได้อีกนั้น, ให้ใช้คำสั่ง C-z. -0,T$Yh10AW1M!RCc0*i109Ui10AU1`(59Rc0Ki10<Yi107Uh1`0>Th1'`0CTh1Ac0*i107Qi1'KERBJRARC6`0"i1Rc(d04i1(B, 0,T4Q1'09Qi1906i1R07h1R9>::R'0JTh1'07Uh1d0Ah1(B -0,T*Q14`(9(B, ,Td0Ah105i1M'09Qh1'5SK09T105Q1G`M'(B - ,TJM:6RAARd04i1`EB(B! +คู่มือการใช้นี้มีเจตนาให้ผู้ที่เพิ่งเริ่มใช้ทั้งหลายสามารถเข้าใจได้, ดังนั้นถ้าท่านพบบางสิ่งที่ไม่ +ชัดเจน, ไม่ต้องนั่งตำหนิตัวเอง - สอบถามมาได้เลย! -* ,T!RC7SJS`9R(B (copying) +* การทำสำเนา (copying) ---------------------- -0,T$Yh10AW1M09Ui1d04i10CQ1:!RC0>Q129RAR`0;g19CPBP`GER9R9(B, ,T`0CTh1A05Qi1'a05h105i19)0:Q1:07Uh1`0"U1B9b4B(B Stuart Cracraft. +คู่มือนี้ได้รับการพัฒนามาเป็นระยะเวลานาน, เริ่มตั้งแต่ต้นฉบับที่เขียนโดย Stuart Cracraft. -0,T$Yh10AW1M`GM0Cl10*Q1909Ui1(B, ,T`0*h19`04U1BG0!Q1:(B GNU Emacs, ,Td04i10CQ1:!RCJ'G90JT1708Tl1(B, ,TaEP<9G!d0Gi1c9`0'Wh1M9d"c9(B -,T!RC`<Ba>0Ch104i1GB(B: +คู่มือเวอร์ชันนี้, เช่นเดียวกับ GNU Emacs, ได้รับการสงวนสิทธิ์, และผนวกไว้ในเงื่อนไขใน +การเผยแพร่ด้วย: -,TJ'G90ET1"0JT1708Tl1(B ,T>(B.,TH(B. 2528, 2529 ,Tb4B?0CU1+M?05l1aG0Cl1?RG09l1`40*Q19(B (Free Software Foundation) +สงวนลิขสิทธิ์ พ.ศ. 2528, 2529 โดยฟรีซอฟต์แวร์ฟาวน์เดชัน (Free Software Foundation) - 0,T7X1!07h1R90AU10JT1708Tl1c9!RC7SJS`9RK0CW1M`<Ba>0Ch1`M!JRC09Ui1(B, ,Tc907X1!0JWh1M(B, ,Tb4B05i1M'a9:0"i1M$GRAaJ4'(B - 0,TJT1708Tl1aEP!RCM09X1-R509Ui1d;>0Ci1MA04i1GB(B. 0,T7Qi1'09Ui1`0>Wh1M0*Ui1c0Ki1`0Kg190Gh1R0<Yi1`<Ba>0Ch1d04i1M09X1-R5c0Ki10<Yi107Uh1d04i10CQ1:(B - ,TJRARC67S!RC`<Ba>0Ch105h1Md;d04i1b4BMR0HQ1B0"i1M$GRAc9`M!JRC09Ui1(B. + ทุกท่านมีสิทธิ์ในการทำสำเนาหรือเผยแพร่เอกสารนี้, ในทุกสื่อ, โดยต้องแนบข้อความแสดง + สิทธิ์และการอนุญาตนี้ไปพร้อมด้วย. ทั้งนี้เพื่อชี้ให้เห็นว่าผู้เผยแพร่ได้อนุญาตให้ผู้ที่ได้รับ + สามารถทำการเผยแพร่ต่อไปได้โดยอาศัยข้อความในเอกสารนี้. - ,T!RCM09X1-R509Qi19d04i1CGA06V1'0JT1708Tl1c9!RC`<Ba>0Ch1`GM0Cl10*Q1907Uh1;0CQ1:;0CX1'a0Ei1G(B, ,TK0CW1M0Jh1G9K09Vh1'"M'(B - ,T`M!JRC09Ui1(B, ,T@RBc05i1`0'Wh1M9d"0"i1R':9(B, ,T5EM4(90JT1708Tl1c9!RC:M!0Gh1Rc$C`0;g190<Yi1;0CQ1:;0CX1'0Eh1R0JX14(B. + การอนุญาตนั้นได้รวมถึงสิทธิ์ในการเผยแพร่เวอร์ชันที่ปรับปรุงแล้ว, หรือส่วนหนึ่งของ + เอกสารนี้, ภายใต้เงื่อนไขข้างบน, ตลอดจนสิทธิ์ในการบอกว่าใครเป็นผู้ปรับปรุงล่าสุด. -,T`0'Wh1M9d""M'!RC7SJS`9R0MU1aA!0Jl1(P0+Q1:0+i1M9AR!!0Gh1R09Ui1(B, ,Ta05h10AU1`(59RCA03l107Uh1`K0AW1M90!Q19(B. ,T!0CX13R(B -0,TMh1R9a0?i1A0"i1M0AY1E(B COPYING ,Ta0Ei1G`<Ba>0Ch1JS`9R"M'(B GNU Emacs ,Td;0BQ1'`0>Wh1M9f(B ,T"M'07h1R904i1GB(B. -0,T*h1GB0!Q197SERBCP::KG'+M?05l1aG0Cl1(B (",TaJ4'$GRA`0;g19`0(i1R0"i1RG`0(i1R"M'(B") 0,T4i1GB!RCc0*i1(B, -,T!RC`0"U1B9(B, ,TaEP!RC`0;g19`0(i1R"M'0Ch1GA0!Q19"M'+M?05l1aG0Cl1`J0CU1(B (free software). +เงื่อนไขของการทำสำเนาอีแมกส์จะซับซ้อนมากกว่านี้, แต่มีเจตนารมณ์ที่เหมือนกัน. กรุณา +อ่านแฟ้มข้อมูล COPYING แล้วเผยแพร่สำเนาของ GNU Emacs ไปยังเพื่อนๆ ของท่านด้วย. +ช่วยกันทำลายระบบหวงซอฟต์แวร์ ("แสดงความเป็นเจ้าข้าวเจ้าของ") ด้วยการใช้, +การเขียน, และการเป็นเจ้าของร่วมกันของซอฟต์แวร์เสรี (free software). -* 0,T5i19)0:Q1:0Gh1R04i1GB`0CWh1M'!RC7SJS`9R(B +* ต้นฉบับว่าด้วยเรื่องการทำสำเนา -------------------------- -0,T5h1Md;09Ui1`0;g19`M!JRC0Gh1R04i1GB`0CWh1M'!RC7SJS`9R07Uh1`0;g1905i19)0:Q1:(B. ,T`M!JRC09Ui1;CR!/M0BYh1c90$Yh10AW1M!RCc0*i1(B -0,TMU1aA!0Jl1)0:Q1:@RIR0MQ1'!DI(B, 0,T+Vh1'`0;g1905i19)0:Q1:"M'`M!JRCa;E)0:Q1:09Ui104i1GB(B. +ต่อไปนี้เป็นเอกสารว่าด้วยเรื่องการทำสำเนาที่เป็นต้นฉบับ. เอกสารนี้ปรากฏอยู่ในคู่มือการใช้ +อีแมกส์ฉบับภาษาอังกฤษ, ซึ่งเป็นต้นฉบับของเอกสารแปลฉบับนี้ด้วย. This tutorial descends from a long line of Emacs tutorials starting with the one written by Stuart Cracraft for the original Emacs. @@ -983,24 +983,24 @@ GNU Emacs to your friends. Help stamp out software obstructionism ("ownership") by using, writing, and sharing free software! -* ,T$S0Jh1'07i1RB(B +* คำส่งท้าย --------- -0,T$Yh10AW1M)0:Q1:09Ui1d04i1a;E(R!05i19)0:Q1:07Uh1`0;g19@RIR0MQ1'!DI(B, 0,T+Vh1'(P;CR!/M0BYh1c90MU1aA!0Jl1`GM0Cl10*Q19(B 20.4. -0,T<Yi1a;Ed04i17S!RCa;E0"Vi19ARcK0Ah1`09Wh1M'(R!)0:Q1:`0!h1R07Uh1`0;g19@RIRd7B(B, 0,T+Vh1'a;Eb4B(B ,T4C(B.,TAR9>(B ,TG'0Hl1(B -,TJRB0JX1GCC3(B, ,Td04i10MT1'0$Yh10AW1M"M'0MU1aA!0Jl1`GM0Cl10*Q19`0!h1R(B, ,TaEP"3P09Ui10MU1aA!0Jl1`GM0Cl10*Q19(B 20.4 0,T!g1d04i1(B -,T`;0EUh1B9a;E'd;AR!a0Ei1G(B. ,T9M!(R!09Ui1(B, 0,T<Yi1a;E0BQ1'd04i19S`$0CWh1M'KARBGCC$5M9ARc0*i1c907Uh109Ui104i1GB(B, -0,T7Qi1'09Ui10!g1`0>Wh1M07Uh1(P`0"U1B9c0Ki1d04i1$GRA07Uh10*Q14`(9(B. ,TK0GQ1'`0;g19M0Bh1R'0BTh1'0Gh1R0$Yh10AW1M)0:Q1:09Ui1(P`0;g19;CPbB*09l1(B -,TaEP(Pd04i10CQ1:!RCa0!i1d"c0Ki104U10BTh1'f(B 0,T"Vi190MU1!05h1Mf(B ,Td;(B. ,T"M"M:0$X13(B 0,T$X1307Q1H09U10Bl1(B ,T`(0CT1->C(B 0,T7Uh1c0Ki1$GRA(B -0,T*h1GB`K0EW1M5CG(JM:05i19)0:Q1:(B. +คู่มือฉบับนี้ได้แปลจากต้นฉบับที่เป็นภาษาอังกฤษ, ซึ่งจะปรากฏอยู่ในอีแมกส์เวอร์ชัน 20.4. +ผู้แปลได้ทำการแปลขึ้นมาใหม่เนื่องจากฉบับเก่าที่เป็นภาษาไทย, ซึ่งแปลโดย ดร.มานพ วงศ์ +สายสุวรรณ, ได้อิงคู่มือของอีแมกส์เวอร์ชันเก่า, และขณะนี้อีแมกส์เวอร์ชัน 20.4 ก็ได้ +เปลี่ยนแปลงไปมากแล้ว. นอกจากนี้, ผู้แปลยังได้นำเครื่องหมายวรรคตอนมาใช้ในที่นี้ด้วย, +ทั้งนี้ก็เพื่อที่จะเขียนให้ได้ความที่ชัดเจน. หวังเป็นอย่างยิ่งว่าคู่มือฉบับนี้จะเป็นประโยชน์ +และจะได้รับการแก้ไขให้ดียิ่งๆ ขึ้นอีกต่อๆ ไป. ขอขอบคุณ คุณทัศนีย์ เจริญพร ที่ให้ความ +ช่วยเหลือตรวจสอบต้นฉบับ. -22 ,TA!CR$A(B 2542 -0,TGT10CQ1*(B ,THC`0ET1H0Ei1SGR03T1*(B +22 มกราคม 2542 +วิรัช ศรเลิศล้ำวาณิช virach@nectec.or.th Translate - January 1999 by Virach Sornlertlamvanich ;;; Local Variables: ;;; sentence-end-double-space: nil -;;; coding: iso-2022-7bit +;;; coding: utf-8 ;;; End: |