aboutsummaryrefslogtreecommitdiffstats
path: root/etc/tutorials
diff options
context:
space:
mode:
authorMohsen Banan2023-04-23 21:26:06 -0700
committerEli Zaretskii2023-04-25 12:19:24 +0300
commit76f50df15391a20f1889f189627b16e73b5358ce (patch)
tree95d56e923a955129b77a1373ab5d6fd5f7bd199a /etc/tutorials
parent8eacfaea6d83391e1ddc0921cbbb7ed9de0f4009 (diff)
downloademacs-76f50df15391a20f1889f189627b16e73b5358ce.tar.gz
emacs-76f50df15391a20f1889f189627b16e73b5358ce.zip
Add Farsi/Persian translation of the tutorial
* etc/tutorials/TUTORIAL.fa: New file. * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Fix typo in doc string.
Diffstat (limited to 'etc/tutorials')
-rw-r--r--etc/tutorials/TUTORIAL.fa1169
1 files changed, 1169 insertions, 0 deletions
diff --git a/etc/tutorials/TUTORIAL.fa b/etc/tutorials/TUTORIAL.fa
new file mode 100644
index 00000000000..5c9c0e1941a
--- /dev/null
+++ b/etc/tutorials/TUTORIAL.fa
@@ -0,0 +1,1169 @@
1آموزش Emacs «ایمکس». برای شرایط کپی به پایان مراجعه کنید.
2
3فرمانهای Emacs عموماً شامل کلید CONTROL (گاهی اوقات با برچسب CTRL)
4یا کلید META (معمولا با برچسب ALT) هستند. به جای هر بار بطور کامل نوشتن،
5از خلاصه زیر استفاده خواهیم کرد:
6
7‏ ‪C-<chr>‬ به معنای نگه داشتن کلید CONTROL در حین تایپ کاراکترِ <chr> است.
8 بنابراین، C-f خواهد بود: کلید CONTROL را نگه دارید و f را تایپ کنید.
9‏ ‪M-<chr>‬ یعنی کلید META یا ALT را هنگام تایپ حرفِ <chr> پایین نگه دارید.
10 اگر کلید META، یا ALT وجود ندارد، به جای آن کلید ESC را فشار
11 داده و رها کنید، سپس <حرف> را تایپ کنید.
12 برای کلید ESC می نویسیم <ESC>.
13
14نکته مهم: برای پایان دادن به جلسه Emacs، دو حرف C-x C-c را تایپ کنید.
15برای خروج از یک فرمانِ ناکامل، C-g را تایپ کنید.
16برای توقف آموزش، C-x k و سپس در پاسخ به نشانگر <Return> را تایپ کنید.
17کاراکترهای ">>" در حاشیه سمت راست فرمانهایی را برای شمامشخص می کند. برای مثال:
18
19
20
21[وسط صفحه برای اهداف آموزشی خالی مانده است. ادامه متن در زیر]
22
23
24
25>> اکنون C-v را تایپ کنید (نمایش صفحه بعدی) تا یک صفحه کامل به پایین بروید.
26 (این کار را با نگه داشتن کلید CONTROL و فشار کلید v انجام دهید).
27 از این پس، لطفاً هر زمان که به انتهای صفحه رسیدید، این کار را انجام دهید.
28
29توجه داشته باشید که وقتی یک صفحه کامل را اسکرول می کنید، دو خط همپوشانی دارند؛
30این مقداری تداوم را فراهم می کند تا بتوانید به خواندن متن ادامه دهید.
31
32این یک کپی از متن آموزشی Emacs است که کمی برای شما شخصی سازی شده است.
33بعداً به شما آموزش خواهیم داد که فرمانهای مختلفی را برای تغییر این متن استفاده
34کنید. اگر قبل از اینکه به شماگفته باشیم، این متن را تغییر داده اید،
35نگران نباشید. این کار «ویرایش» نامیده می شود و Emacs برای همین است.
36
37اولین چیزی که باید بدانید این است که چگونه از یک مکان به اطراف حرکت کنید.
38شما از قبل می دانید که با C-v چگونه یک صفحه به جلو حرکت میکند.
39برای حرکت یک صفحه به سمت عقب، M-v را تایپ کنید (کلید META را نگه دارید
40و v را تایپ کنید، یا اگر کلید META، یا ALT را ندارید، ‪ <ESC>v‬را تایپ کنید).
41
42>> چند بار M-v و سپس C-v را تایپ و امتحان کنید.
43
44شما می توانید این متن را با روش های دیگری که میدانید اسکرول کنید.
45
46* خلاصه
47---------
48
49فرمانهای زیر برای مشاهده کل صفحه نمایش مفید هستند:
50
51‏ C-v یک صفحه نمایش به جلو حرکت کنید.
52‏ M-v یک صفحه نمایش به عقب حرکت کنید.
53‏ C-l پاک کردن صفحه و نمایش مجدد تمام متن،
54 جابجایی مکان نما و متن به مرکز صفحه نمایش
55 (این CONTROL-L است، نه CONTROL-1.)
56
57>> مکان‌نما را پیدا کنید و توجه داشته باشید که چه متنی در نزدیکی آن است.
58 سپس C-l را تایپ کنید. دوباره مکان نما را پیدا کنید وتوجه کنید که هنوز
59 نزدیک همان متن است. اما مکان نما، اکنون در مرکز صفحه است.
60 اگر دوباره C-l را فشار دهید، این قطعه متن به بالای صفحه منتقل می شود.
61 مجددا C-l را فشار دهید، صفحه نمایش دوباره به پایین حرکت می کند.
62
63اگر ترمینال شما کلیدهای PageUp و PageDn را دارد، میتوانید برای جابه‌جایی یک
64صفحه کامل از آنها استفاده کنید.
65اما در صورت استفاده از C-v و M-v شما می توانید کارآمدتر ویرایش کنید.
66
67* کنترل مکان نما
68----------------------
69
70حرکت از یک صفحه نمایش به صفحه نمایش دیگر مفید است، اما چگونه
71به مکان خاصی در متنِ روی صفحه حرکت کنید؟
72
73چندین راه وجود دارد که می توانید این کار را انجام دهید. می توانید از
74کلیدهای جهت دار استفاده کنید، اما کارآمدتر است که دستان خود را در وضعیت
75استاندارد نگه دارید. از فرمانهایِ C-p، C-b، C-f و C-n استفاده کنید. این فرمان ها
76معادل چهار کلید جهت دار هستند، مانند:
77
78 سطر قبل، C-p
79 :
80 :
81 به عقب، C-b .... موقعیت مکان نما فعلی .... به جلو، C-f
82 :
83 :
84 خط بعدی، C-n
85
86>> با استفاده از C-n یا C-p مکان نما را به خط وسط نمودار بالا حرکت دهید.
87 سپس C-l را تایپ کنید تا کل نمودار را در مرکز صفحه نمایش ببینید.
88
89
90به راحتی می توانید این حروف را با کلماتی که مخفف آنها هستند به خاطر بسپارید:
91Previous) p) برای قبلی، Next) n) برای بعدی, Backward) b) برای عقب و
92Forward) f) برای جلو. شما همیشه از این فرمانهایِ اصلی تعیین موقعیت مکان نما
93استفاده خواهید کرد.
94
95>> برای پایین آوردن مکان نما به این خط، چند C-n انجام دهید.
96
97>> حرکت به جلو، روی خط با C-f و سپس به بالا با C-p.
98 ببینید C-p وقتی مکان نما در وسط خط قرار دارد چه می کند.
99
100هر خط از متن با یک کاراکترِ Newline به پایان می رسد، که
101آن را از خط زیر جدا میکند. (به طور معمول،یک فایل در پایان دارای
102یک Newline خواهد بود، اما Emacs به آن نیاز ندارد.)
103
104>> هنگامی که نشانگر در ابتدای خط است، از C-b استفاده کنید. باید به انتهای
105 خط قبلی حرکت کند. به این دلیل است که این حرکت از سراسر Newline میگذرد.
106
107فرمان C-f می تواند مانند C-b روی خط جدید حرکت کند.
108
109>> چند C-b دیگر انجام دهید، بنابراین می توانید نشانگر را در مکان مورد
110 نظر قرار دهید. سپس C-f را انجام دهید تا به انتهای خط برگردید.
111 سپس یک C-f دیگر انجام دهید تا به خط زیر بروید.
112
113
114وقتی از بالا یا پایین صفحه عبور می کنید، متن فراتر می رود
115لبه روی صفحه نمایش جابجا می شود. به این "پیمایش یا اسکرول" می گویند. این
116Emacs را قادر می سازد تا مکان نما را به مکان مشخص شده در متن منتقل کند
117بدون اینکه آن را از صفحه نمایش جدا کنید.
118
119>> سعی کنید مکان نما را از پایین صفحه با C-n حرکت دهید و
120 ببیند چه اتفاقی می افتد.
121
122اگر حرکت بر اساس کاراکترها خیلی کند است، می توانید با کلمات حرکت کنید. M-f
123(META-f) یک کلمه را جلو می برد و M-b یک کلمه را به عقب می برد.
124
125>> چند M-f و M-b تایپ کنید.
126
127وقتی در وسط یک کلمه هستید، M-f به انتهای کلمه می رود.
128هنگامی که در فضای خالی بین کلمات قرار دارید، M-f به انتهای کلمه بعدی منتقل
129می شود. M-b نیز در جهت مخالف کار می کند.
130
131>> فرمان M-f و M-b را چند بار با C-f و C-b در هم آمیخته تایپ کنید،
132 تا عمل M-f و M-b را از انواع مکان های درون و بین کلمات مختلف مشاهده کنید.
133
134
135به موازات بین C-f و C-b از یک طرف و M-f و M-b از طرف دیگر توجه کنید.
136
137عملیات مربوط به واحدهای تعریف شده توسط زبان (کلمات، جملات، پاراگراف ها)
138اغلب با کاراکترهای متا انجام می شود،
139در حالی که کاراکترهای Control بر روی واحدهای اصلی، مستقل از آنچه در حال
140ویرایش هستید (حروف، خطوط و غیره) عمل می کنند.
141
142این توازی بین خطوط و جملات اعمال می شود: C-a و C-e حرکت به
143ابتدا یا انتهای یک خط، و M-a و M-e به ابتدا یا پایان یک جمله حرکت می کنند.
144
145
146>>دو C-a، و سپس دو C-e را امتحان کنید.
147 چند M-a و سپس چند M-e را امتحان کنید.
148
149
150ببینید چگونه C-a های تکراری هیچ کاری انجام نمی دهند، اما M-a های تکراری به
151حرکت خود ادامه می دهند. اگرچه اینها کاملاً مشابه نیستند، اما هر یک طبیعی
152به نظر می رسد.
153
154
155به مکانِ مکان نما در متن "نقطه" نیز می گویند.
156به عبارت دیگر، مکان نما روی صفحه نشان می دهد که نقطه در کجای متن قرار دارد.
157
158
159در اینجا خلاصه ای از عملیات ساده حرکت مکان نما، از جمله
160فرمانهایِ حرکت کلمه و جمله نشان داده می شود:
161
162‏ C-f یک کاراکتر را به جلو حرکت دهید
163‏ C-b یک کاراکتر را به عقب حرکت دهید
164
165‏ M-f یک کلمه را به جلو حرکت دهید
166‏ M-b یک کلمه را به عقب حرکت دهید
167
168‏ C-n به خط بعدی بروید
169‏ C-p به خط قبلی بروید
170
171‏ C-a حرکت به ابتدای خط
172‏ C-e حرکت به انتهای خط
173
174‏ M-a به ابتدای جمله برگردید
175‏ M-e حرکت به جلو تا پایان جمله
176
177>> همه این فرمانها را اکنون چند بار برای تمرین امتحان کنید.
178 این فرمانها بیشترین استفاده را دارند.
179
180دو فرمان مهم دیگر حرکت مکان نما عبارتند از‪ M-< :‬ (META کمتر از)،
181که به ابتدای کل متن حرکت می کند و ‪M->‬ (META بزرگتر از)،
182که به انتهای کل متن می رود.
183
184در اکثر ترمینالها، ">" بالای کاما است، بنابراین باید با استفاده از کلید
185shift آن را تایپ کنید.
186در این ترمینالها باید از کلید shift برای تایپ >-M نیز استفاده کنید.
187بدون کلید shift، شما کاما، M را تایپ می کنید.
188
189>> اکنون >-M را امتحان کنید تا به ابتدای آموزش بروید.
190 سپس از C-v مکرراً برای بازگشت به اینجا استفاده کنید.
191
192>> اکنون <-M را امتحان کنید تا به انتهای آموزش بروید.
193 سپس از M-v مکرراً برای بازگشت به اینجا استفاده کنید.
194
195همچنین می توانید مکان نما را با کلیدهای جهت دار حرکت دهید، اگر ترمینال شما
196آن را داشته باشد. ما استفاده از C-b، C-f، C-n و C-p را به سه دلیل توصیه میکنیم.
197
198اول، آنها بر روی انواع ترمینالها کار می کنند.
199دوم, هنگامی که مهارت شما در استفاده از Emacs بیشتر شود، متوجه خواهید شد که
200تایپ با کنترل کاراکترها، سریعتر از تایپ کلیدهای جهت دار است.
201(زیرا احتیاج نیست که شما دستان خود را از موقعیت تایپ لمسی دور کنید).
202سوم، وقتی شما عادت به استفاده از فرمانهایِ کاراکتر Control را دارید، می توانید
203به راحتی یاد بگیرید که از دیگر فرمانهایِ پیشرفته حرکت مکان نما نیز استفاده کنید.
204
205اکثر فرمانهایِ Emacs یک آرگومان عددی را می پذیرند. برای اکثر فرمانها، این
206به عنوان یک شمارش تکرار عمل می کند.
207نحویِ تحویل تعداد تکرار، با تایپ C-u و سپس اعداد قبل از تایپ فرمان است. اگر
208شما یک کلید META (یا ALT) دارید، راه جایگزینی دیگری برای وارد کردن
209آرگومان عددی وجود دارد: ارقام را در حالی که کلید META را نگه داشته‌اید
210تایپ کنید. ما توصیه می کنیم استفاده از C-u را یاد بگیرید زیرا در هر ترمینال
211کار می کند. آرگومان عددی "آرگومان پیشوند" نیز نامیده می شود.
212زیرا آرگومان را قبل از فرمانی که روی آن اعمال می شود تایپ می کنید.
213
214به عنوان مثال، C-u 8 C-f هشت کاراکتر به جلو حرکت می کند.
215
216>> سعی کنید فقط با یک فرمان، C-n یا C-p با آرگومان عددی برای حرکت مکان نما
217 از خط نزدیک به این خط استفاده کنید.
218
219اکثر فرمانها از آرگومان عددی به عنوان تعداد تکرار استفاده می کنند،
220اما برخی فرمانها از آن به روش دیگری استفاده می کنند.
221چندین فرمان که از آن به عنوان یک علامت تعغیر استفاده میشود.
222(اما هیچ کدام از فرمانهایِی که تا به حال آموخته اید نیستند.)
223وجود یک آرگومان پیشوند، صرف نظر از مقدار آن، فرمان متفاوتی را انجام می دهد.
224
225‏C-v و M-v استثناهای دیگری هستند. با تحویل آرگومان،
226آنها متن را با این تعداد خط به بالا یا پایین اسکرول می کنند نه با یک
227صفحه نمایش. برای مثال، C-u 8 C-v هشت خط پیمایش می کند.
228
229>> اکنون C-u 8 C-v را تایپ کنید.
230
231این فرمان باید متن را 8 خط به بالا اسکرول کند. اگر مایل باشید
232دوباره به پایین برگردید، می توانید یک آرگومان به M-v بدهید.
233
234اگر از یک سیستم نمایشِ گرافیکی مانند X یا MS-Windows استفاده می کنید،
235باید یک ناحیه مستطیل شکل بلند به نام نوار پیمایش در یک طرف پنجره Emacs
236وجود داشته باشد. با کلیک کردن بر روی نوار، متن را اسکرول کنید.
237
238اگر ماوس شما دگمه چرخ دارد، می توانید از آن برای اسکرول نیز استفاده کنید.
239
240
241* اگر EMACS پاسخ نمی دهد.
242---------------------------
243
244اگر Emacs به فرمانهایِ شما پاسخ نمی دهد، می توانید با خیال راحت با
245تایپ کردن C-g آن را متوقف کنید. می توانید از C-g برای متوقف کردن فرمانی که
246انجامش طولانی شده است استفاده کنید.
247
248همچنین می‌توانید از C-g برای حذف یک آرگومان عددی یا ابتدای فرمانی که
249نمی خواهید آن را تمام کنید استفاده کنید.
250
251>> با عمل C-u 100 یک آرگومان عددی 100 بسازید، سپس C-g وبعد از آن
252 C-f را تایپ کنید. بااین فرمانها فقط یک حرف به جلو حرکت می کنید، زیرا شما
253 آرگومان را با C-g لغو کرده اید.
254
255اگر یک <ESC> را اشتباه تایپ کرده اید، می توانید با یک C-g از شر آن خلاص شوید.
256
257
258* فرمانهایِ غیر فعال
259-------------------
260
261برخی از فرمانهایِ Emacs "غیرفعال" هستند تا کاربران مبتدی نتوانند
262از آنها به طور تصادفی استفاده کنند.
263
264اگر یکی از فرمانهایِ غیرفعال را تایپ کنید، Emacs پیامی را نمایش می دهد
265که فرمان چیست و از شما می پرسد که آیامایل به اجرای آن هستید؟
266
267اگر واقعاً می خواهید فرمان را اجرا کنید، <SPC> (نوار فاصله) را در پاسخ به
268سوال تایپ کنید. به طور معمول، اگر نمی خواهید آن را اجرا کنید، به سوال با
269"n" پاسخ دهید.
270
271>> عمل C-x C-l (که یک فرمان غیرفعال است) را انجام دهید،
272 سپس n را در پاسخ به سوال تایپ کنید.
273
274
275* پنجره ها
276----------
277
278با Emacs می تواند چندین "پنجره" داشته باشد که هر کدام متن خاص خود را نشان
279می دهد. ما بعداً در مورد نحوه استفاده از چندین پنجره توضیح خواهیم داد. در
280حال حاضر می خواهیم برای نحوه حذف پنجره های اضافی و بازگشت به حالت اولیه
281ویرایش یک پنجره توضیح دهیم. این عمل آسان است:
282
283‏ C-x 1 یک پنجره (یعنی تمام پنجره های دیگر را حذف کنید).
284
285فرمان C-x 1 پنجره ای تمام صفحه، که حاوی مکان نما است را باز می کند.
286این فرمان تمام پنجره های دیگر را حذف میکند.
287
288
289>> مکان نما را به این خط ببرید و C-u 0 C-l را تایپ کنید.
290>> C-h k C-f را تایپ کنید.
291 ببینید چگونه این پنجره کوچک می شود، در حالی که یک پنجره جدید برای نمایش
292 اطلا عات در فرمان C-f ظاهر می شود.
293
294
295>> با تایپ C-x 1 پنجره فهرست اسناد ناپدید می شود.
296
297یک سری کامل از فرمانها با CONTROL-x شروع می شوند. بسیاری از
298آنها با ویندوز، فایل ها، بافرها و موارد وابسته ارتباط دارند.
299این فرمانها دو، سه یا چهار کاراکتر هستند.
300
301
302* درج و حذف
303------------
304
305اگر می خواهید متن را وارد کنید، فقط متن را تایپ کنید. حروف معمولی،
306مانند A، 7، *، و غیره، هنگام تایپ آنها نوشته می شوند. برای انجام نوشتن
307 خط جدید، <Return> را تایپ کنید (این کلید روی صفحه کلید است
308که گاهی اوقات با عنوان "Enter" شناخته می شود).
309
310برای حذف کاراکترِ قبل از مکان نمای فعلی ، <DEL> را تایپ کنید. این کلید روی
311صفحه کلید است که معمولاً با برچسب "Backspace"است −− همان که معمولاً در خارج
312از Emacs نیز برای حذف آخرین حرفِ نوشته شده استفاده می کنید.
313
314
315همچنین ممکن است کلید دیگری روی صفحه کلید شما با عنوان <Delete> وجود داشته
316باشد، اما این چیزی نیست که ما در Emacs به آن <DEL> می گوییم.
317
318>> اکنون این کار را انجام دهید - چند کاراکتر را تایپ کنید، سپس آنها را حذف
319 کنید. چند بار <DEL> را تایپ کنید. نگران این فایل نباشید در حال تغییر؛
320 شما آموزش اصلی را تغییر نمی دهید. این کپی شخصی شما از آن است.
321
322وقتی نوشتن یک خط در متن بیش از حد طولانی می شود، خط بر روی سطر دوم صفحه
323"ادامه" می یابد. اگر از یک صفحه نمایش گرافیکی استفاده می کنید برای نشان
324دادن جایی که یک خط ادامه یافته است فلش های منحنی کوچکی در فضاهای باریک در
325دو طرف ناحیه متن (حاشیه‌های چپ و راست ) ظاهر می شوند. اگر از ترمینال متنی
326استفاده می کنید، خطِ ادامه یافته با علامت معکوس ('\') در سمت راست ستون
327صفحه نمایش نشان داده می شود.
328
329
330>> به نوشتن متن پس از رسیدن به انتهای خط ادامه دهید.
331خواهید دید که یک خطِ ادامه ظاهر می شود.
332
333>> از <DEL > برای حذف متن استفاده کنید تا زمانی که نوشته مجدداً روی یک خط
334 صفحه قرار گیرد. خط ادامه از بین می رود.
335
336شما می توانید حروف خط جدید را مانند هر حرف دیگری حذف کنید. حذف کاراکتر
337Newline بین دو خط آنها را با هم ادغام می کند. اگر خط ترکیبی به دست آمده
338بیش از حد طولانی باشد که در آن جا نمی شود، عرض صفحه نمایش، با یک خط ادامه،
339نمایش داده می شود.
340
341>> مکان نما را به ابتدای یک خط ببرید و <DEL> را تایپ کنید. این فرمان
342 آن خط را با خط قبلی ادغام می کند.
343
344>> حالا <Return> را تایپ کنید تا خط جدیدی را که حذف کرده اید دوباره وارد کنید.
345
346کلید <Return> ویژه است، زیرا با فشار دادن آن ممکن است بیش از این کار انجام شود.
347فقط یک کاراکتر Newline وارد کنید. بسته به متن اطراف،
348ممکن است بعد از کاراکتر Newline فضای خالی را وارد کند، به طوری که وقتی
349شما شروع به تایپ کردن در خط جدید می کنید، متن با خط قبلی آن ردیف می شود.
350ما به این رفتار (که در آن فشار دادن یک
351کلید چیزی بیش از وارد کردن کاراکتر مربوطه انجام می دهد) می گوییم "electric".
352
353>> در اینجا مثالی از الکتریکی بودن <Return> آورده شده است.
354 <Return> را در انتهای این خط تایپ کنید.
355
356باید ببینید که بعد از درج Newline فاصله ها هم درج می شوند،
357به طوری که مکان نمابه جای مناسب حرکت می کند.
358
359به یاد داشته باشید که به اکثر فرمانهایِ Emacs می توان تعداد تکرار، داده شود.
360این شامل کاراکترهای متنی نیز است. تکرار درج کاراکتر متنی برای چندین بار.
361
362
363>> اکنون آن را امتحان کنید - ‪ C-u 8 *‬ را برای درج ******** تایپ کنید.
364
365شما اکنون ابتدایی ترین راه را برای تایپ با Emacs و تصحیح خطاها یاد گرفته اید.
366شما می توانید کلمات یا خطوط را نیز حذف کنید.
367در اینجا خلاصه ای از عملیات حذف آمده است:
368
369 ‏ <DEL> کاراکتر را درست قبل از مکان نما حذف می کنید.
370 ‏ C−d کاراکتر بعدی، بعد از مکان نما را حذف می کنید.
371
372 ‏ <M-<DEL کلمه را بلافاصله قبل از مکان نما حذف می کنید.
373 ‏ M-d کلمه بعدی را بعد از مکان نما حذف می کنید.
374
375 ‏ C-k از موقعیت مکان نما تا انتهای خط را حذف می کنید.
376 ‏ M-k از موقعیت مکان نما تا انتهای جمله را حذف میکنِید.
377
378توجه داشته باشید که <DEL> و C-d در مقابل <M-<DEL و M-d موازاتی را گسترش می دهند
379که با C-f و M-f شروع شده است (خوب، <DEL> واقعاً یک کاراکتر کنترلی نیست، اما
380بیایید نگران این نباشیم). C-k و M-k مانند C-e و M-e هستند، به نوعی، در آن
381خطوط با جملات جفت می شوند.
382
383شما همچنین می توانید یک بخش از متن را با یک روش یکسان حذف کنید . به انتهای
384یک قسمت حرکت کنید، و سپس <C-<SPC را تایپ کنید. (<SPC> کلید نوار Space
385است.) سپس مکان نما را به انتهای دیگر متنی که قصد دارید حذف کنید، ببرید.
386با انجام این کار، Emacs متن بین مکان نما وموقعیتی که با <C-<SPC تایپ کرده اید
387را مشخص می کند. در نهایت C-w را تایپ کنید. با این عمل متنِ بین دو موقعیت
388را حذف میکنید.
389
390
391>> مکان نما را در ابتدای پاراگراف قبلی به «ش» حرکت دهید.
392
393>> با تایپ <C-<SPC، در پایین صفحه نمایش Emacs باید یک پیام "Mark set" را
394 نمایش دهد.
395
396>> در خط دوم ازمتن، مکان نما را به «ی» در "یک"، حرکت دهید.
397
398‏>> C-w را تایپ کنید. با این کار متنی که از «ش» شروع می شود و درست قبل از
399«ی» به پایان می رسد را از بین می برید.
400
401تفاوت بین "کشتن" و "حذف" در همان متن این است که "کشته" را می توان دوباره
402درج کرد (در هر موقعیتی)، در حالی که چیزهای "حذف شده" را نمی توانید به این
403روش دوباره درج کنید (اما می توانید حذف را لغو کنید - در زیر ببینید.) درج
404مجدد متن کشته شده "yanking" نامیده می شود. ( به عنوان عقب نشینی یا عقب
405کشیدن متنی که برداشته شده است به آن فکرکن.)
406
407به طور کلی، فرمانهایِی که می توانند متن زیادی را حذف کنند، متن را «میکشند».
408(آنها به گونه ای تنظیم شده اند که بتوانید متن را باز گردانند)، در حالی که
409فرمانهایِی که فقط یک کاراکتر را حذف می کند، یا فقط خطوط و فاصله های خالی را
410حذف می کند، حذف را انجام می دهند (بنابراین نمی توانید آن متن را برگرداند).
411<DEL> و C-d در ساده ترین حالت، بدون هیچ آرگومان حذف را انجام می دهند.وقتی
412آرگومان به آنها داده می شود درعوض مکشند.
413
414>> مکان نما را به ابتدای خطی که خالی نیست حرکت دهید.
415سپس C-k را تایپ کنید تا متن روی آن خط حذف شود.
416
417>> بار دوم C-k را تایپ کنید. خواهید دید که Newline را می کشد که بعد از آن
418 خط است.
419
420توجه داشته باشید که یک C-k محتویات خط را می کشد و یک C-k ثانوی خود خط را
421می کشد و همه خطوط دیگر را به سمت بالا حرکت می دهد. C-kبه طور خاص با یک
422آرگومان عددی برخورد می کند: این تعداد خطوط و محتویات آنهارا میکشد. این
423صرفا یک تکرار نیست. C-u 2 C-k دو خط و Newline آنها را می کشد. دو بار تایپ
424کردن C-k این کار را نمی کند.
425
426می‌توانید متن کشته‌شده را در همان مکانی که در آن قرار داشت، باز گردانید.
427یا در جای دیگری از متنی که در حال ویرایش آن هستید، یا حتی در
428یک فایل متفاوت می‌توانید یک متن را چندین بار باز گردانید. که
429چندین کپی از آن می سازد. با مراجعه به کتابچه راهنمایِ Emacs در موارد "کشتن" و
430انحرافِ "برش" و "چسباندن" میتوانید اطلاعات بیشتری کسب کنید.
431
432
433فرمانِ‪"yank" ,C-y ‬ است. آخرین متن کشته شده را در موقعیت مکان نما فعلی دوباره
434درج می کند.
435
436
437>> آن را امتحان کنید. C-y را تایپ کنید تا متن را به عقب برگردانید.
438
439اگر چندین C-k را پشت سر هم انجام دهید، تمام متن کشته شده ذخیره می شود،
440 به طوری که یک C-y همه خطوط را به یکباره انحراف می دهد.
441
442>> اکنون این کار را انجام دهید، C-k را چندین بار تایپ کنید.
443
444حال برای بازیابی آن متن کشته شده:
445
446‏>> C-y را تایپ کنید. سپس مکان نما را چند خط پایین ببرید و دوباره C-y را
447تایپ کنید اکنون نحوه کپی کردن متن را مشاهده می کنید.
448
449اگر متنی داشته باشید که می خواهید به عقب برگردید، چه کار می کنید چیز دیگری
450می کشید؟ C-y کشتن اخیر را از بین می برد. ولی متن قبلی گم نمی شود می توانید
451با استفاده از M-y به آن برگردید فرمان بعد از اینکه C-y را برای دریافت
452آخرین kill انجام دادید، تایپ کنید M-y آن متن یاک شده را با kill قبلی
453جایگزین می کند. تایپ کردن M-y بارها و بارها کشتارهای قبلی و قبلی را به
454ارمغان می آورد. وقتی به متن مورد نظر رسیدید، لازم نیست کاری انجام دهید تا
455نگهش دارید. فقط به ویرایش خود ادامه دهید و متن انحرافی را رها کنید.
456
457اگر تعداد M-y به دفعات کافی داشته باشید، به نقطه شروع باز می گردید
458(بیشترین کشتن اخیر).
459
460>> یک خط را بکشید، در اطراف حرکت کنید، یک خط دیگر را بکشید.
461 سپس C-y را انجام دهید تا دومین خط کشته شده را برگردانید.
462 سپس M-y را انجام دهید تا اولین خط کشته شده جایگزین آن شود.
463 M-y های بیشتری انجام دهید و ببینید چه چیزی به دست می آورید. به انجام
464 آنها ادامه دهید تا زمانی که خط کشتن دوم برمی گردد، و سپس چند بار دیگر.
465 اگر دوست دارید، می‌توانید امتحان کنیدو به M-y آرگومانهای مثبت و منفی
466 بدهید.
467
468
469
470* لغو
471------
472
473اگر تغییری در متن ایجاد کنید و سپس تصمیم به برگرداندن آن تغییر بگیرید،
474شما می توانید تغییر را با فرمان ‪(undo) C-/‬ لغو کنید.
475
476به طور معمول، ‪ C-/‬ تغییرات ایجاد شده توسط یک فرمان را خنثی می کند.
477اگر ‪ C-/‬ را چندین بار پشت سر هم، تکرار کنید هر تکرار یک فرمان دیگر
478را خنثی می کند.
479
480اما دو استثنا وجود دارد: فرمانهایِی که متن را تغییر نمی دهند
481به حساب نمی آیند (این شامل فرمانهایِ حرکت مکان نما و فرمانهایِ اسکرول می شود.)
482و کاراکترهای خود درج معمولاً در گروهای، تا ۲۰ تایی رسیدگی می شوند.
483(این برای کاهش تعداد‪ C-/ ‬ هایی است که باید برای لغو درج متن) تایپ کنید.
484
485
486>> این خط را با C-k بکشید، سپس /-C را تایپ کنید تا دوباره ظاهر شود. ـ-C یک
487 فرمان لغو جایگزین است. دقیقاً مانند‪ C-/ ‬ کار می کند. در برخی از پایانه
488 های متنی، تایپ‪ C-/ ‬ در واقع _-C را به Emacs ارسال می کند. از طرف
489 دیگر، C-x u نیز دقیقاً مانند‪ C-/ ‬ کار می کند، اما کمی کمتر است و راحتر
490 تایپ میشود.
491
492
493یک آرگومان عددی /-C-_ ، C, یا C-x u به عنوان یک تعداد تکرار عمل می کند.
494
495همانطور که می توانید حذف متن را لغو کنید، می توانید کشتن متن رانیز لغو کنید.
496تمایز بین کشتن چیزی و حذف آن در مورد C-y تأثیر می گذارد، برای لغو فرقی نمی کند.
497
498
499* فایل ها
500---------
501
502برای اینکه متنی را که ویرایش می کنید دائمی کنید، باید آن را در یک فایل
503قرار دهید. در غیر این صورت، با خروج از Emacs از بین می رود. برای اینکه متن
504خود را در یک فایل قرار دهید، قبل از وارد کردن فایل باید آن را "پیدا کنید".
505(به این "بازدید از فایل" نیز گفته می شود.)
506
507پیدا کردن یک فایل به این معنی است که شما محتویات فایل را در داخل Emacs
508می بینید از بسیاری جهات، گویی در حال ویرایش خود فایل هستید. با این حال،
509تغییراتی که با استفاده از Emacs ایجاد می کنید دائمی نمی شوند تا زمانی که
510فایل را "ذخیره" کنید. این به این دلیل است که شما بتوانید از ذخیره کردن
511فایل نیمه کامل اجتناب کنید. حتی هنگامی که فایل را ذخیره کردید Emacs فایل
512اصلی را با نام دیگری برایتان نگه میدارد، چون ممکن است بعداً تصمیم بگیرید که
513تغییرات شما اشتباه بوده است.
514
515اگر به پایین صفحه نگاه کنید، خطی را خواهید دید که
516با حروف "−" شروع می شود و چیزی مانند: "TUTORIAL ---:-" در آن را نشان می دهد.
517این قسمت از صفحه نمایش معمولاً نام فایلی که در حال حاضر از آن بازدید می
518کنید را نشان میدهد. شما اکنون در حال بازدید از کپی شخصی آموزش Emacs خود که
519"TUTORIAL" نام دارد هستید. وقتی شما یک فایل را با Emacs پیدا کردید، نام آن
520فایل بطور دقیق در همان نقطه ظاهر می شود.
521
522یک مورد خاص در مورد فرمان برای یافتن یک فایل این است که شما باید بگویید چه
523نام فایلی را می خواهید. ما می گوییم فرمان "خواندن یک ارگومان"
524(در این مورد، آرگومان نام فایل است.)بعد از تایپ فرمان.
525
526
527با C-x C-f یک فایل را پیدا کنید. Emacs از شما می خواهد که نام فایل را تایپ
528کنید. نام فایلی که تایپ می کنید در خط پایین صفحه نمایش ظاهر می شود. خط
529پایین زمانی که برای این نوع ورودی استفاده می شود، «مینی بافر» نامیده می
530شود. شما می توانید ازفرمانهایِ ویرایش معمولی Emacs برای ویرایش نام فایل
531استفاده کنید.
532
533در حالی که نام فایل (یا هر ورودی مینی بافر دیگر) را وارد می کنید،
534می توانید با C-g فرمان را لغو کنید.
535
536>> فرمانِ C-x C-f را تایپ کنید، سپس C-g را تایپ کنید. این فرمانِ مینی بافر
537 را لغو می کند، و همچنین فرمان C-x C-f را که مینی بافر از آن استفاده می
538 کرد را لغو می کند، بنابراین شما هیچ فایلی را پیدا نمی کنید.
539
540وقتی نام فایل را وارد کردید، <Return> را تایپ کنید تا
541آن را خاتمه دهید. مینی بافر ناپدید می شود و فرمان C-x C-f
542برای یافتن فایلی که انتخاب کرده اید اعمال میشود.
543
544محتویات فایل اکنون روی صفحه ظاهر می شود و می توانید آن را ویرایش کنید.
545هنگامی که می خواهید تغییرات خود را دائمی کنید، فرمان
546
547‏ C-x C-s فایل را ذخیره کنید
548
549این فرمان متن را در فایل درون Emacs کپی می کند. اولین باری که این
550کار را انجام دهید، Emacs نام فایل اصلی را به نام جدید تغییر می دهد بنابر این
551گم نمی شود. نام جدید با افزودن "~" به انتهای نام فایل اصلی ساخته می شود.
552هنگامی که ذخیره به پایان رسید، Emacs نام فایل نوشته شده را نمایش می دهد.
553
554
555‏>> <C-x C-s TUTORIAL <Return را تایپ کنید.
556 این فرمان باید این آموزش را در فایلی به نام TUTORIAL ذخیره کند و
557 و " Wrote...TUTORIAL " را در پایین صفحه نشان دهد.
558
559می توانید یک فایل موجود را پیدا کنید، آن را مشاهده یا ویرایش کنید. شما
560همچنین می توانید فایلی را پیدا کنید که قبلاً وجود ندارد. این راه ایجاد یک
561فایل با Emacs است: فایل را پیدا کنید که خالی شروع می شود و سپس شروع به درج
562متن در آن کنید، وقتی شما درخواست ذخیره فایل را می کنید، Emacs در واقع فایل
563را با متنی که شما درج کرده اید ایجاد می کند. از آن به بعد، می توانید خود
564را در حال ویرایش فایل موجود بدانید.
565
566
567
568* بافرها
569---------
570
571اگر فایل دومی را با C-x C-f پیدا کردید، فایل اول داخل Emacs باقی می ماند.
572برای برگشت مجدد به آن شما می‌توانید با C-x C-f ، دو باره آن را پیدا کنید.
573با این روش می توانید تعداد زیادی فایل را در داخل Emacs باز کنید.
574
575ایمکس متن هر فایل را در یک مکان به نام "بافر" ذخیره می کند.
576پیدا کردن یک فایل، یک بافر جدید در Emacs ایجاد می کند. برای دیدن لیستی از
577بافرهایی که در حال حاضر وجود دارند، تایپ کنید
578
579‏ C-x C-b لیست بافرها
580
581>> اکنون C-x C-b را امتحان کنید.
582
583ببینید که چگونه هر بافر یک نام دارد و همچنین ممکن است نام فایلی که محتویات
584آن را نگه می دارد داشته باشد. هر متنی که در پنجره Emacs می بینید همیشه
585بخشی از یک بافر است.
586
587>> با تایپ C-x 1 میتوانید از شر لیست بافر خلاص شوید.
588
589هنگامی که چندین بافر دارید، در هر زمان تنها یکی از آنها "جاری" است. آن
590بافر همان بافری است که شما ویرایش می کنید. اگر می خواهید بافر دیگری را
591ویرایش کنید، باید به آن "سوئیچ" کنید. اگر می خواهید به یک بافر سوئیچ کنید
592که مربوط به یک فایل است، می توانید با مراجعه مجدد به آن فایل با C-x C-f
593این کار را انجام دهید. اما یک راه ساده تر وجود دارد: از فرمان C-x b
594استفاده کنید. در آن فرمان باید نام بافر را تایپ کنید.
595
596>> با تایپ ‪C-x C-f foo <Return> ‬ فایلی به نام "foo" ایجاد کنید.
597 سپس ‪ C-x b TUTORIAL <Return>‬ را تایپ کنید تا به این آموزش بازگردید.
598
599اغلب اوقات، نام بافر با نام فایل یکی است(بدون قسمت پوشه فایل). به هر حال،
600این همیشه درست نیست. لیست بافری که با C-x C-b ایجاد می کنید، نام هر دو
601بافر و نام فایل هر بافر را به شما نشان می دهد.
602
603برخی از بافرها با فایل ها مطابقت ندارند. بافری با نام "*Buffer List*" که
604حاوی لیست بافری است که شما آن را با C-x C-b ساخته اید هیچ فایلی ندارد. این
605‪TUTORIAL buffer‬ که در ابتدا انجام شد فایلی ندارد، اما اکنون دارد، زیرا
606قبلا شما C-x C-s را تایپ کردید و آن را در یک فایل ذخیره کرده اید.
607
608بافر ی با نام "*Messages*" نیز با هیچ فایلی مطابقت ندارد. این بافر حاوی
609پیام هایی است که در در طول جلسه Emacs شما، در خط پایین ظاهر شده اند.
610
611>> حالا < C-x b *Messages* <Return را تایپ کنید تا به بافر پیام ها نگاه کنید.
612 سپس < C-x b TUTORIAL <Return را تایپ کنید تا به این آموزش بازگردید.
613
614اگر در متن یک فایل تغییراتی ایجاد کردید و سپس فایل دیگری را پیدا کنید، این
615فایل اول را ذخیره نمی کند. آن تغییرات در Emacs در بافر آن فایل باقی می ماند.
616ایجاد یا ویرایش فایل دوم بافر، هیچ تاثیری روی بافر فایل اول ندارد.
617این بسیار مفید است، اما این بدان معناست که شما به یک راه راحت برای ذخیره
618بافر فایل اول نیاز دارید. نیاز به برگشت به بافِر اول برای ذخیره آن توسط
619C-x C-s کمی دردسرامیز است. بنابراین فرمانِ زیر را داریم.
620
621‏ C-x s برخی از بافرها را ذخیره کنید
622
623فرمان C-x s در مورد هر بافری که حاوی تغییراتی که ذخیرِه
624نشده است از شما می پرسد.
625
626>> یک خط متن وارد کنید، سپس C-x s را تایپ کنید.
627 باید از شما بپرسد که آیا بافر با نام TUTORIAL را ذخیره می کنید یا خیر.
628 با تایپ "y" به سوال پاسخ مثبت دهید.
629
630
631* گسترش مجموعه فرمانها
632---------------------------
633
634فرمانهایِ Emacs بسیار بسیار بیشتر است از آنچه که امکان قراردادن همه آنها
635با کاراکترها ی کنترل و متا باشد.
636 Emacs با فرمان( X (eXtend این کار را میسر میکند.
637دو حالت برای این وجود دارد:
638
639‏ C-x کاراکتر برای eXtend. بعد از یک کاراکتر.
640‏ M-x فرمانی با نام eXtend. بعد از یک نام طولانی.
641
642اینها فرمانهایی هستند که عموما مفید هستند، اما کمتر ازفرمانهایی که قبلاً در
643مورد آنها آموخته اید استفاده می شوند. شما قبلاً چند مورد از انها را
644دیده‌اید: برای مثال فرمان فایل C-x C-f را برای یافتن و C-x C-s را برای
645ذخیره کردن در نظر بگیرید. مثال دیگر، فرمان C-x C-c فرمان پایان دادن به جلسه
646Emacs است. (نگران از دست دادن تغییراتی که ایجاد کرده اید نباشید C-x C-c
647پیشنهاد می کند هر فایل تغییر یافته را ذخیره کنید قبل از اتمام جلسه Emacs.)
648
649
650اگر از صفحه نمایش گرافیکی استفاده می کنید، نیازی به فرمان خاصی برای انتقال
651از Emacs به برنامه دیگر ندارید. شما می توانید این کار رابا ماوس یا با
652فرمانهای مدیر پنجره انجام دهید. با این حال،اگر شمااز ترمینال متنی که می
653تواند تنها یک برنامه را در یک زمان نشان دهد، استفاده می کنیدباید Emacs را
654"تعلیق" کنید تا به هر برنامه دیگری بروید.
655
656فرمان C-z خروج *موقت*--- از Emacs است تا بتوانید به همان جلسه Emacs
657برگردید. هنگامی که Emacs روی یک ترمینال متنی اجرا می شود، C-z، Emacs را به
658حالت تعلیق در می آورد. یعنی به shell برمی گردد اما کار Emacs را از بین نمی
659برد. در رایج ترین shell ها، شما می تواند Emacs را با فرمان "fg" یا با‪
660"%emacs"‬ از سر بگیرد.
661
662زمان استفاده از C-x C-c زمانی است که می خواهید از سیستم خارج شوید. همچنین
663برای خروج از Emacs و ویرایش سریع استفاده می شود، همانند یک ابزار مدیریت
664ایمیل.
665
666فرمانهای C-x زیادی وجود دارد. در اینجا لیستی از مواردی که یاد گرفته اید است:
667
668‏ C-x C-f فایل را پیدا کنید
669‏ C-x C-s ذخیره فایل
670‏ C-x s برخی از بافرها را ذخیره کنید
671‏ C-x C-b لیست بافرها
672‏ C-x b سوئیچ بافر
673‏ C-x C-c از Emacs خارج شوید
674‏ C-x 1 تمام پنجره ها را به جز یک حذف کنید
675‏ C-x u لغو فرمان
676
677فرمانهایی با نام eXtended فرمانهایی هستند که به طور مکرر کمتر مورد استفاده
678قرار می گیرند یا فرمانهایی که فقط در حالت های خاصی استفاده می شوند.
679به عنوان یک مثال فرمان replace-string است که یک رشته حروف را جایگزین رشته
680حروف دیگری در بافر می کند. وقتی M-x را تایپ می‌کنید، Emacs درپایین صفحه با
681نشان دادنِ M-x از شما می‌خواهد نام فرمان را تایپ کنید؛ در اینجا یعنی
682"replace-string". فقط " <repl s<TAB" را تایپ کنید و Emacs نام فرمان را
683تکمیل می کند. (<TAB> کلید Tab است که معمولاً جایگاهش بالای کلید CapsLock یا
684Shift نزدیک لبه سمت چپ کیبورد است.) نام کامل شده فرمان را با <Return>
685ارسال کنید.
686
687فرمان replace-string به دو آرگومان نیاز دارد -- رشته جایگزین شونده
688و رشته ای که جایگزین آن شود.شما باید هر آرگومان رابا <Return> پایان دهید.
689
690
691>> مکان نما را به خط خالی دو خط زیر این یکی ببرید.
692 سپس < M-x repl s<Return>changed<Return>altered<Return را تایپ کنید.
693
694
695 توجه کنید که این خط چگونه تغییر کرده است: شما کلمه "changed" را با"altered"
696 جایگزین کرده اید. هر جایی که بعد از موقعیت اولیه مکان نما رخ داد.
697
698
699* ذخیره خودکار
700---------------
701
702وقتی تغییراتی در فایلی ایجاد کرده اید، اما هنوز آنها را ذخیره نکرده اید،
703اگر کامپیوتر شما خراب شود، ممکن است از بین بروند. برای محافظت شما از آن،
704Emacs به صورت دوره ای برای هر فایلی که شما در حال ویرایش آن هستید یک فایل
705"ذخیره خودکار" می نویسد. نام فایل ذخیره خودکار دارای یک # در ابتدا و در
706پایان است؛ به عنوان مثال، اگر فایل شما "hello.c" نام دارد، ذخیره خودکار نام
707فایل "#hello.c#" است.وقتی فایل را به روش عادی ذخیره می کنید، Emacs فایل
708ذخیره خودکار خود را حذف می کند.
709
710اگر رایانه خراب شد، می‌توانید ویرایش ذخیره‌شده خودکار خود را توسط
711یافتن فایل به طور معمول (فایلی که در حال ویرایش آن بودید، نه ذخیره فایل خودکار)
712و سپس تایپ M-x recover-this-file <Return> بازیابی کنید . هنگامی که
713تأیید آن را می خواهد،< yes<Return را تایپ کنید تابه ذخیره خودکار داده ها
714ادامه دهید و آن را بازیابی کنید.
715
716
717
718* منطقه اکو
719-----------
720
721اگر Emacs ببیند که به آرامی فرمانهای چند کاراکتری را تایپ می کنید، آن را
722انجام می دهد آنها را در پایین صفحه در ناحیه ای به نام "منطقه اکو" به شما
723نشان می دهد. ناحیه اکو حاوی خط پایین صفحه نمایش است.
724
725
726* خط حالت ( MODE LINE)
727-----------------------
728
729خط بلافاصله بالای ناحیه اکو "mode line" نامیده می شود.
730خط حالت چیزی شبیه به این می گوید:
731
732‏ TUTORIAL 63% L749 (Fundamental) −**:−
733
734این خط، اطلاعات مفیدی در مورد وضعیت Emacs
735و متنی که در حال ویرایش آن هستید می دهد.
736
737شما از قبل می دانید که نام فایل به چه معناست -- این فایلی است که شما دارید.
738 NN% موقعیت فعلی شما را در متن بافر نشان می دهد. این
739به این معنی است که NN درصد از بافر بالای صفحه نمایش است.
740اگر بالای بافر روی صفحه باشد، به آن "Top" بجای "0٪" می گوید.
741اگر پایین بافر روی صفحه باشد، "Bot" می گوید.
742اگر به بافری نگاه می کنید که آنقدر کوچک است که همه آن روی صفحه جا می شود,
743خط مد می گوید, "All".
744
745حرف L و ارقام، موقعیت را به طریق دیگری نشان می دهند: آنها شماره خط فعلیِ
746نقطه را نشان می دهند.
747
748ستاره های نزدیک به جلو به این معنی است که شما تغییراتی در متن ایجاد کرده
749اید. درست پس از بازدید یا ذخیره یک فایل، آن قسمت از خط حالت، با خطوط تیره
750و بدون ستاره نمایش داده می شود.
751
752آن بخشی از خط حالت که در داخل پرانتز است گویایِ
753حالت‌های ویرایشی فعلی هستند. حالتی که الان استفاده می کنید Fundamental است.
754این نمونه ای از "مد ماژر (major mode)" است.
755
756ایمکس حالت های اصلی مختلف فراوان دارد. برخی از آنها برای
757ویرایش زبان های برنامه ریزی مختلف مثل Lisp هستند و برخی برای
758ویرایش متن هستند، و غیره.
759
760در هر زمان یک و تنها یک مد ماژر فعال است، و نام آن را همیشه می توان در خط
761حالت، دقیقاً در جایی که اکنون "Fundamental" است، یافت.
762
763هر مد ماژر باعث می شود که برخی از فرمانها متفاوت عمل کنند. مثلا، فرمانهایی
764برای ایجاد comment در یک برنامه وجود دارد و از آنجایی که هر کدام از
765زبانهای برنامه نویسی ایده متفاوتی در مورد آنچه که یک comment باید باشد
766دارند هر مد ماژر باید comment رابه طور متفاوتی درج کند. هر یک از مدهای
767ماژر نام یک فرمان توسعه یافته است، که چگونه می توانید به آن حالت تغییر
768دهید. برای مثال، M-x fundamental-mode فرمانی است که به حالت اساسی بروید.
769
770اگر قرار است متنی به زبان انسانی مانند: این فایل را ویرایش کنید، شما
771احتمالا باید از حالت متن استفاده کنید.
772
773>> تایپ کنید < M-x text-mode <Return
774
775نگران نباشید، هیچ یک از فرمانهایِ Emacs که یاد گرفته اید تغییر نمی کند اما
776می توانید مشاهده کنید که M-f و M-b اکنون آپاستروف ها به عنوان بخشی از
777کلمات رفتارمی کنند.قبلاً در حالت بنیادی، M-f و M-b مانند آپاستروف ها به عنوان
778جداکننده کلمات رفتار می کردند.
779
780
781اکثر فرمانها در هر مد ماژر "همان کار" را انجام می دهند، امادرمواردی مانند
782مثال بالا کمی متفاوت عمل می کنند.
783
784
785برای مشاهده اطلاعات امدادی در مد ماژر فعلی خود، C-h m را تایپ کنید.
786
787>> مکان نما را به خط زیر این خط ببرید.
788>> C-l C-l را تایپ کنید تا این خط به بالای صفحه نمایش داده شود.
789>> C-h m را تایپ کنید تا ببینید مدِ Text با مدِ Fundamental چه تفاوتی دارد.
790>> C-x 1 را تایپ کنید تا اطلاعات امدادی را از روی صفحه حذف کنید.
791
792مد ماژور را ماژر می نامند زیرا مد ماینور نیز وجود دارد. مدهای ماینور
793جایگزینی برای مدهای ما‍‍‍ژور نیستند، فقط آنها را تغیر و تبدیل می کنند. هر مد
794ماینور می تواند خودش مستقلانه روشن یا خاموش گردد، مستقل ازتمام مدهای
795ماینور دیگر،و مستقل از مد ماژر فعلی شما. بنابراین می توانید از هیچ مد
796ماینور، یک مد ماینور و یاترکیبی از چند مد ماینور استفاده کنید.
797
798
799یک مد ماینور که بسیار مفید است، به خصوص برای ویرایش متن به زبان انسانی
800(human-language)، مد ماینورِ خود−پر کن (Auto Fill mode) است. وقتی این مد
801روشن است, و شما با نوشتن متن، خطی بوجود می آورد که خیلی طولانی است،Emacs
802خط بین کلمات را به طور خودکار می شکند.
803
804
805شما می توانید با انجام <M-x auto-fill-mode <Return, مد ماینور خودکار را
806روشن کنید. وقتی مد روشن است، می توانید با انجام < M-x auto-fill-mode
807<Return دوباره آن را خاموش کنید. اگر مد خاموش باشد، با این فرمان روشن می
808شود واگر مد روشن است، این فرمان آن را خاموش می کند. ما به این فرمان "تغییر
809مد" می گوییم.
810
811
812>>اکنون <M-x auto-fill-mode <Return را تایپ کنید.
813 سپس یک خط "asdf" را وارد کنید،آن را تکرار کنید تا زمانی که ببینید که به
814 دو خط تقسیم شده است. شماباید فاصله (spaces) بین آنها بوجود آورید، زیرا
815 Auto Fill خطوط را فقط درفواصل می شکند.
816
817حاشیه معمولاً از 70 کاراکتر تشکیل می شود، اما شما می توانید آن را با فرمان
818C-x f تغییر دهید. شما باید تنظیمات حاشیه ای را که می خواهید بدهید،همراه با
819استدلال عددی باشد.
820
821‏> C-x f را با آرگومان 20 تایپ کنید. (C-u 2 0 C-x f).
822 سپس مقداری متن را تایپ کنید و سپس ببینید Emacs، خطوط 20 کاراکتری را با
823 آن پر می کنید. سپس با استفاده از C-x f، دوباره حاشیه را به 70
824 برگردانید.
825
826
827اگر در وسط پاراگراف تغییراتی ایجاد کردید، حالت پر کردن خودکار دوباره آن را
828برای شماپر نمی کند. برای پر کردن مجدد پاراگراف، M-q (META-q) رابا مکان نما
829در داخل آن پاراگراف تایپ کنید.
830
831
832>> مکان نما را به پاراگراف قبلی ببرید و M-q را تایپ کنید.
833
834
835* جستجوکردن
836-----------
837
838با Emacs می توانید رشته ها را جستجو کند («رشته:string » گروهی از
839کاراکترهای به هم پیوسته است). جستجو به جلو در متن یا به عقب در متن.
840جستجوی برای یک string یک فرمان حرکت مکان نما است. آن مکان نما را به مکان
841بعدی که آن رشته ظاهر می شود حرکت می دهد.
842
843فرمان جستجوی Emacs "افزایشی" است. این بدان معنی است که
844جستجو زمانی اتفاق می افتد که رشته مورد نظر را برای جستجو تایپ می کنید.
845
846فرمان شروع جستجو C-s برای جستجوی جلو و C-r برای جستجوی معکوس است.
847اما صبر کنید! اکنون آنها را امتحان نکنید.
848
849وقتی C-s را تایپ می کنید متوجه خواهید شد که رشته "I-search" به صورت یک
850اعلان در ناحیه اکو ظاهر می شود. این به شما می گوید که Emacs مشغول کاری است
851که یک جستجوی افزایشی نامیده می شود و در آن حالت منتظر شماست تامورد جستجو
852را تایپ کنید. <Return> یک جستجو را خاتمه می دهد.
853
854>> اکنون C-s را برای شروع جستجو تایپ کنید
855 کلمه"مکان نما" را به آرامی، با تک تک حروف تایپ کنید، پس از تایپ
856 هر کاراکتر مکث کنید, تا متوجه آنچه برای مکان نما اتفاق می افتد شوید.
857 اکنون یک بار "مکان نما" را جستجو کرده اید.
858>> دوباره تایپ کنید C-s، برای جستجوی رخداد بعدی "مکان نما".
859>> اکنون <DEL> را چهار بار تایپ کنید و ببینید مکان نما چگونه حرکت می کند.
860>> برای پایان یافتن جستجو، <Return> را تایپ کنید.
861
862دیدید چه اتفاقی افتاد؟ Emacs، در یک جستجوی افزایشی، سعی می کند
863به رخداد رشته ای که تاکنون تایپ کرده اید بروید.
864برای رفتن به رخداد بعدی "مکان نما"، فقط C-s را دوباره تایپ کنید. اگر چنین
865رخدادی وجود ندارد، Emacs بوق می‌زند و به شما می‌گوید جستجو در حال حاضر
866"شکست" خرده است. C-g نیز جستجو را خاتمه می دهد.
867
868اگر در وسط یک جستجوی افزایشی هستید و <DEL> را تایپ کنید،
869جستجو، "عقب نشینی" به مکان قبلی میکند. اگر برای پیشرفت جستجوی رشته ای بعدی،
870بعد از اینکه C-s را تایپ کردید <DEL> را تایپ کنید،
871<DEL> مکان نما را به یک اتفاق قبلی برمی گرداند. اگر
872هیچ مورد قبلی در رشته جستجو وجود نداشته باشد، <DEL> آخرین کاراکتر را
873در رشته جستجوپاک می کند.
874 برای مثال، فرض کنید "م" را تایپ کرده اید
875برای اولین بار "م" را جستجو کنید. حالا اگر "ک" را تایپ کنید،
876مکان نما به اولین رخداد "مک" حرکت می کند. حالا <DEL> را تایپ کنید.
877این "ک" را از رشته جستجو پاک می کند و مکان نما به به اولین وقوع "م" در
878رشته جستجو به عقب برمی گردد.
879
880اگر در وسط یک جستجو هستید و کاراکتر کنترل یا متا را تایپ کنید،
881شخصیت (به استثنای معدود کاراکتر هایی که در یک جستجو خاص هستند،
882مانند C-s و C-r)، جستجو خاتمه می یابد.
883
884با C-s جستجو را بعد از موقعیت مکان نمای فعلی شروع می کنید و هر رخدادی از رشته
885بعد از مکان نما جستجو می شود. اگر می خواهید چیزی در متن قبل از مکان نما جستجو
886شود، به جای آن، C-r را تایپ کنید. همه چیزهایی که ما در مورد C-s
887گفته ایم برای C-r نیز صدق می کند، با این تفاوت که جهت جستجو معکوس می شود.
888
889
890* پنجره های چندگانه
891--------------------
892
893یکی از ویژگی های خوب Emacs این است که می توانید در یک زمان بیشتر ازیک
894پنجره روی صفحه نمایش نشان دهید. (توجه داشته باشید که Emacs ازاصطلاح
895"frames"-- که در بخش بعدی توضیح داده شده است -- برای برخی کاربرد دیگر
896"windows" گفته می شود. کتابچه راهنمای Emacs حاوی واژه نامه ای ازشرایط
897استفاده Emacs.)
898
899>> مکان نما را به این خط ببرید و C-l C-l را تایپ کنید.
900
901>> حالا C-x 2 را تایپ کنید که صفحه را به دو پنجره تقسیم می کند. هر دو
902 پنجره این آموزش را نمایش می دهند. مکان نمای ویرایش در پنجره بالا باقی
903 می ماند.
904
905>> تایپ C-M-v برای رفتن به پایین پنجره .
906 (اگر کلید META واقعی ندارید، <ESC> C-v را تایپ کنید.)
907
908>> تایپ کنید C-x o ("o" برای "other"دیگر ) برای حرکت مکان نما به پنجره پایین.
909>> از C-v و M-v در پنجره پایین برای پیمایش استفاده کنید.
910 به خواندن این فرمانهای عمل، در پنجره بالا ادامه دهید.
911
912>> دوباره C-x o را تایپ کنید تا مکان نما را به پنجره بالا برگردانید.
913 مکان نما در پنجره بالا دقیقاً همان جایی است که قبلا بود.
914
915می توانید از C-x o برای جابجایی بین پنجره ها استفاده کنید. "پنجره انتخاب
916شده" جایی که بیشترین ویرایش در آن صورت می گیرد، همان پنجره ای است که مکان
917نما برجسته است، و زمانی که تایپ نمی کنید چشمک می زند. پنجره های دیگر
918موقعیت مکان نمای خود را دارند. اگر Emacs را به صورت گرافیکی اجرا می کنید،
919آن مکان نماها به صورت کادرهای توخالی بدون چشمک‌زن ترسیم می‌شوند.
920
921
922فرمان C-M-v هنگامی که متن را در یک پنجره ویرایش می کنید و از پنجره دیگر
923فقط برای مرجع استفاده میکند، بدون ترک پنجره انتخاب شده، بسیار مفید است.
924می توانید متن را باC-M-v در پنجره دیگر پیمایش کنید.
925
926مثال C-M-v نمونه ای از یک کاراکتر CONTROL-META است. اگر یک کلید META
927‪(Alt یا)‬ دارید با نگه داشتن هر دو کلید CONTRO و META و تایپ v,
928میتوانید C-M-v را تایپ کنید. مهم نیست که CONTROL اول باشد یا META.
929زیرا هر دوی این کلیدها با تغییر کاراکترهای شما عمل می کنند.
930
931
932اگر کلید META ندارید و به جای آن از <ESC> استفاده می کنید، مهم است که
933ترتیب را انجام دهید: باید <ESC> و سپس CONTROL-v را تایپ کنید، زیرا
934CONTROL-<ESC> v کار نخواهد کرد. این به این دلیل است که <ESC> در نوع خود
935یک کاراکتر است، نه یک کلید اصلاح کننده.
936
937>> با تایپ C-x 1 (در پنجره بالا) از شر پنجره پایین خلاص شوید.
938
939(اگر C-x 1 را در پنجره پایین تایپ کرده بودید، پنجره بالا خلاص می شد. این
940فرمان را به صورت «فقط یک پنجره را -- هم آنکه هم اکنون در آن هستم نگه دار»
941در نظر بگیرید.
942
943
944شما مجبور نیستید یک بافر را در هر دو پنجره نمایش دهید. اگر شما از C-x C-f
945برای پیدا کردن فایل در یک پنجره استفاده کنید، در پنجره دیگر تغییر ایجاد
946نمی شود. شما می توانید یک فایل را در هر پنجره به طور مستقل پیدا کنید.
947
948در اینجا روش دیگری برای استفاده از دو پنجره برای نمایش دو چیز مختلف وجود دارد:
949
950>> فرمان C-x 4 C-f و سپس نام یکی از فایل های خود را تایپ کنید.
951 با <Return> خاتمه دهید. ببینید فایل مشخص شده در پایین ظاهر می شود و
952 پنجره مکان نما نیز به آنجا می رود.
953
954>> برای بازگشت به پنجره بالا C-x o و برای حذف پنجره پایین C-x 1 را تایپ کنید.
955
956
957*فریم های چندگانه (MULTIPLE FRAMES)
958----------------------------------
959
960با Emacs همچنین می توانید چندین "فریم" ایجاد کنید. یک فریم، مجموعه ای
961ازپنجره ها است که فهرست آن: اسکرول بارها، اکو بار، و غیره است. در
962نمایشگرهای گرافیکی، چیزی که Emacs آن را "فریم" می نامد همان چیزی است که
963اکثر برنامه های کاربردی دیگر "پنجره" می نامند. فریم های گرافیکی متعدد را
964می توان همزمان بر روی صفحه نمایش نشان داد. در یک ترمینال متنی فقط یک فریم
965را می توان در یک زمان نشان داد.
966
967‏ >> C-x 5 2 را تایپ کنید.
968 مشاهده می کنید که یک فریم جدید روی صفحه نمایش شما ظاهر می شود.
969
970شما می توانید هر کاری را که در فریم اصلی انجام داده اید در فریم جدید
971انجام دهید. هیچ چیز خاصی در فریم اول وجود ندارد.
972
973‏>> C-x 5 0 را تایپ کنید.
974 این فریم انتخاب شده را حذف می کند.
975
976شما همچنین می توانید یک فریم را با استفاده از روش معمولی ارائه شده توسط
977سیستم گرافیکی (اغلب با کلیک روی دکمه ای با نشان "X" در گوشه بالای فریم)بردارید.
978اگر آخرین فریمِ کار Emacs را به این ترتیب حذف کنید،از Emacs خارج می شود.
979
980
981* سطوح ویرایش بازگشتی
982----------------------
983
984گاهی اوقات وارد چیزی می شوید که«سطوح ویرایش بازگشتی» نامیده می شود.
985این با کروشه های مربع در خط حالت اطراف پرانتزهای نام مد ماژر
986نشان داده می شود. برای مثال، ممکن است [(اساسی)] را به جای (اساسی) ببینید.
987
988برای خارج شدن از سطح ویرایش بازگشتی، <ESC> <ESC> <ESC> را تایپ کنید.
989این یک فرمان همه منظوره "برو بیرون" است. همچنین می توانید از آن برای
990حذف پنجره های اضافی و خارج شدن از مینی بافر استفاده کنید.
991
992>> تایپ M-x، تا وارد یک مینی بافر شوید. سپس برای بیرون رفتن
993‏ <ESC> <ESC> <ESC> را تایپ کنید.
994
995شما نمی توانید از C-g برای خارج شدن از یک سطح ویرایش بازگشتی استفاده کنید.
996زیرا C-g برای لغو فرمانها و آرگومان ها در داخل سطح ویرایش بازگشتی
997استفاده می شود.
998
999
1000
1001* دریافت کمک بیشتر
1002-------------------
1003
1004در این آموزش سعی شده است اطلاعات کافی برای شروع به استفاده از Emacs در
1005اختیار شما قرار گیرد. اطلاعات موجود در مورد Emacs آنقدر زیاد است که توضیح
1006همه چیز در اینجا غیرممکن است. با این حال، ممکن است بخواهید اطلاعات بیشتری
1007در مورد Emacs کسب کنید زیرا Emacs دارای بسیاری از ویژگی های مفید دیگر است.
1008Emacs فرمانهایی رابرای خواندن اسناد در مورد Emacs ارائه می دهد. فرمانهای
1009"help" همه با کاراکتر CONTROL-h که " کارکتر Help" نامیده می شود شروع
1010می شوند.
1011
1012
1013برای استفاده از ویژگی های Help، کاراکتر C-h و سپس کارکتری که می گوید شما
1014چه نوع کمکی می خواهید را تایپ کنید. اگر شما واقعاً گم شده اید، ? C-h را
1015تایپ کنید و Emacs به شما خواهد گفت که چه نوع کمکی می تواند ارائه دهد. اگر
1016C-h را تایپ کرده اید و به این نتیجه رسیده اید که هیچ کمکی نمی خواهید، فقط
1017برای لغو آن، C-g را تایپ کنید.
1018
1019(اگر C-h پیامی در مورد راهنما در پایین صفحه نمایش نمی دهد،
1020روی صفحه به جای آن کلید F1 یا< M-x help <Return را تایپ کنید.)
1021
1022اساسی ترین ویژگی HELP یا کمک، C-h c است. تایپ کنید C-h، کاراکتر c و یک
1023کاراکتر یا دنباله فرمان؛ سپس Emacs یک خلاصه بسیار کوتاه از شرح فرمان نمایش
1024می دهد.
1025
1026‏ >> C-h c C-p را تایپ کنید.
1027
1028پیام باید چیزی شبیه این باشد:
1029
1030‏ C-p runs the command previous-line
1031
1032این "نام فرمان -- function" را به شما می گوید. نام فرمان از بابت کاری که
1033فرمان انجام می دهد انتخاب می شود. نام فرمان می تواند به عنوان اطلاعات
1034امدادی بسیار مختصر باشد - برای یادآوری فرمانهایی که شما قبلا یاد گرفته اید.
1035
1036
1037فرمانهایی چند کاراکتری مانند C-x C-s و ESC>v> (به جای M-v،اگر کلید META یا
1038ALT ندارید) همچنین پس از C-h c نیز مجاز هستند.
1039
1040
1041برای دریافت اطلاعات بیشتر در مورد یک فرمان، به جای C-h c از C-h k استفاده
1042کنید.
1043
1044
1045‏>> C-h k C-p را تایپ کنید.
1046
1047این مستندات تابع و همچنین نام آن را در یک پنجره ایمکس نمایش می دهد.
1048وقتی خواندن خروجی تمام شد، برای خلاص شدن از شر آن پنجره C-x 1 را تایپ کنید.
1049شما مجبور نیستید این کار را به سرعت انجام دهید.
1050می توانید در حین مراجعه به متن راهنما مقداری ویرایش انجام دهید
1051و سپس C-x 1 را تایپ کنید.
1052
1053در اینجا چند گزینه مفید دیگر C-h وجود دارد:
1054
1055‏ C-h x یک فرمان را توصیف کنید. شما نام آن فرمان را تایپ می کنید.
1056
1057
1058>> فرمانِ <C-h x previous-line <Return را تایپ کنید.
1059 این تمام اطلاعات ایمکس را در مورد آن نمایش می دهد.
1060 تابعی که فرمان C-p را پیاده سازی می کند.
1061
1062یک فرمان مشابه C-h v اطلاعات امدادیِ متغیرها "variables" را نمایش می دهد, و
1063گاهی اجازه میدهد تا بتوانید مقادیر متغیرها را برای خاص کردن رفتار ایمکس
1064تنظیم کنید. زمانی که ایمکس از آن درخواست کرد، باید نام متغیر را تایپ کنید.
1065
1066‏ C-h a فرمان Apropos.
1067 یک کلمه کلیدی را تایپ کنید و ایمکس تمام فرمانهایی که نام
1068 آنها حاوی آن کلمه کلیدی است لیست میکند. همه این فرمانها
1069 را می توان با META-x احضار کرد. برای برخی از فرمانها،
1070 Command Apropos نیز یک فهرست دنباله ای است از یک یا چند
1071 کاراکتر که بافرمان یکسان اجرا می شود.
1072
1073
1074>> فرمان <c-h a file <Return راتایپ کنید.
1075
1076در پنجره ای دیگر لیستی از تمام فرمانهایی M-x با "file" به نام آنها نمایش
1077داده می شود. شما فرمانهای کاراکتر را در کنار آن نام فرمانهای مربوطه (مانند
1078C-x C-f در کنار find-file) خواهید دید.
1079
1080
1081>> برای پیمایش پنجره راهنما، C-M-v را تایپ کنید. این را چند بار انجام دهید.
1082
1083‏>> C-x 1 را تایپ کنید تا پنجره راهنما را حذف کنید.
1084
1085‏ C-h i خواندن کتابچه راهنمای همراه (با نام مستعار اطلاعات Info).
1086 این فرمان شما را به یک بافر ویژه به نام "*info*" یا
1087 اطلاعات قرار می دهد که در آن شما می توانید کتابچه
1088 راهنمای بسته های نصب شده روی سیستم خود را بخوانید. برای
1089 خواندن کتابچه راهنما < m emacs<Return را تایپ کنید. اگر
1090 قبلاً از Info استفاده نکرده‌اید، Emacs و h را تایپ کنید,
1091 آن شما را به یک راهنمای تور از امکانات حالت info می برد.
1092 پس از اتمام این آموزش، باید به کتابچه راهنمای
1093 Emacs Info به عنوان مستندات اصلی خود مراجعه کنید.
1094
1095
1096* ویژگی های بیشتر
1097------------------
1098
1099شما می‌توانید با مطالعه کتابچه راهنمای ایمکس اطلاعات بیشتری کسب کنید. مانند
1100یک کتاب چاپ شده، یا داخل Emacs (از منوی Help یا C-h r استفاده کنید). دو
1101ویژگی که ممکن است به خصوص دوست داشته باشید، توانایی تکمیل "Completion" که
1102باعث کمتر تایپ کردن میشود و dired، که مدیریت رسیدگی به فایل را ساده می کند.
1103
1104تکمیل راهی برای جلوگیری از تایپ غیر ضروری است. به عنوان مثال، اگر شما
1105می‌خواهید به بافر *Messages* بیاید، می‌توانید< C-x b *M<Tab را تایپ کنید، و
1106Emacs بقیه نام بافر را تا جایی که می تواند از آنچه قبلاً تایپ کرده اید پر
1107می کند. تکمیل کردن هم چنین برای نام فرمانها ونام فایل ها به کار می آید. در
1108کتابچه راهنمای ایمکس، در بخشی به نام "تکمیل Completion " توضیح داده شده
1109است.
1110
1111
1112با Dired شما قادر هستید تا فایل ها (و به صورت اختیاری زیر شاخه های آن) را
1113در یک فهرست کنید. در اطراف آن لیست حرکت کنید، بازدید کنید، نام خود را
1114تغییر دهید، حذف کنید و به صورت دیگر روی فایل ها کار کنید. در کتابچه
1115راهنمای ایمکس در بخشی به نام "Dired" توضیح داده شده است.
1116
1117
1118این کتابچه راهنمای بسیاری از ویژگی های دیگر ایمکس را نیز توضیح می دهد.
1119
1120
1121* جمع بندی
1122------------
1123
1124برای خروج از Emacs از C-x C-c استفاده کنید.
1125
1126این آموزش برای همه کاربران جدید باید قابل درک باشد، بنابراین اگر
1127چیز مبهمی پیدا کردید، ننشینید و تو سر خودتان نزنید - شکایت کنید!
1128
1129
1130* کپی برداری
1131--------------
1132
1133این آموزش حاصل زنجیره ای طولانی از آموزش های Emacs است که با کتابی به نوشته
1134Stuart Cracraft سر چشمه گرفت.
1135
1136این نسخه از آموزش بخشی از GNU Emacs است. دارای حق چاپ است
1137و با مجوز برای توزیع کپی در شرایط خاص همراه است:
1138
1139 Copyright (C) 1985, 1996, 1998, 2001-2022 Free Software Foundation, Inc.
1140
1141 This file is part of GNU Emacs.
1142
1143 GNU Emacs is free software: you can redistribute it and/or modify
1144 it under the terms of the GNU General Public License as published by
1145 the Free Software Foundation, either version 3 of the License, or
1146 (at your option) any later version.
1147
1148 GNU Emacs is distributed in the hope that it will be useful,
1149 but WITHOUT ANY WARRANTY; without even the implied warranty of
1150 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1151 GNU General Public License for more details.
1152
1153 You should have received a copy of the GNU General Public License
1154 along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
1155
1156لطفاً فایل COPYING را بخوانید و سپس کپی هایی از GNU Emacs را به دوستانتان بدهید.
1157کمک کنید تا از شر قاعدیِ اشتباهِ کپی رایت غربی راحت شویم.
1158
1159
1160
1161--- end of TUTORIAL.fa ---
1162
1163;;; Local Variables:
1164;;; coding: utf-8
1165;;; bidi-display-reordering: t
1166;;; sentence-end-double-space: nil
1167;;; bidi-paragraph-direction: nil
1168;;; fill-column: 74
1169;;; End: