88155
|
1 Въведение в Emacs. Условията за копиране са в края на текста.
|
48672
|
2
|
88155
|
3 Командите на Emacs най-често включват клавишите CONTROL (понякога
|
|
4 отбелязван с CTRL или CTL) и META (понякога отбелязван с EDIT или
|
|
5 ALT). Вместо да се изписват с пълно име всеки път, ние ще използваме
|
|
6 следните съкращения:
|
48672
|
7
|
88155
|
8 C-<знак> означава задържане на клавиша CONTROL, докато се
|
|
9 натиска знака <знак>. Така C-f ще означава: докато
|
|
10 се задържа натиснат клавиша CONTROL, се натиска f.
|
|
11 M-<знак> означава задържане натиснат на клавиша META (или EDIT,
|
|
12 или ALT), докато се натиска <знак>. Ако няма клавиш
|
|
13 META, EDIT или ALT, вместо него натиснете и отпуснете
|
|
14 клавиша ESC и след това въведете <знак>. Ние
|
|
15 записваме <ESC>, за да отбележим клавиша ESC.
|
48672
|
16
|
88155
|
17 Важна бележка: в края на Emacs сесията въведете двата знака C-x C-c.
|
|
18 Знаците ">>" отляво ви дават указание да изпълните команда. Например:
|
48672
|
19 <<Blank lines inserted here by startup of help-with-tutorial>>
|
88155
|
20 >> Сега въведете C-v (Покажи следващия екран), за да се придвижите към
|
|
21 следващия екран.
|
|
22 (Направете го сега, задръжте CONTROL, докато натискате v).
|
|
23 Отсега нататък вие ще правите това винаги, когато прочетете
|
|
24 екрана.
|
48672
|
25
|
88155
|
26 Забележете, че има припокриване на два реда, когато се придвижвате от
|
|
27 екран в екран; това осигурява някаква приемственост, така че да можете
|
|
28 по-лесно да продължите с четенето на текста.
|
48672
|
29
|
88155
|
30 Първото нещо, което трябва да знаете, е как да се придвижвате от едно
|
|
31 място на текста към друго. Вие вече знаете как да се придвижвате
|
|
32 екран напред, с C-v. За да се придвижите екран назад, въведете M-v
|
|
33 (задръжте клавиша META и натиснете v, или въведете <ESC>v, ако нямате
|
|
34 клавиш META, EDIT или ALT).
|
48672
|
35
|
88155
|
36 >> Опитайте се да въведете M-v и след това C-v няколко пъти.
|
48672
|
37
|
|
38
|
88155
|
39 * ОБОБЩЕНИЕ
|
48672
|
40 -----------
|
|
41
|
88155
|
42 Следващите команди са полезни при пълноекранно разглеждане:
|
|
43
|
|
44 C-v Придвижване напред с един екран
|
|
45 M-v Придвижване назад с един екран
|
|
46 C-l Изчистване на екрана и пречертаване на целия текст,
|
|
47 премествайки текста около курсора в средата на екрана.
|
|
48 (Това е CONTROL-L, не CONTROL-1.)
|
48672
|
49
|
88155
|
50 >> Намерете курсора и си запомнете какъв е текстът около него.
|
|
51 След това въведете C-l.
|
|
52 Намерете пак курсора и вижте, че същият текст е пак около курсора.
|
48672
|
53
|
88155
|
54 Може също да използвате клавишите PageUp и PageDown за придвижване по
|
|
55 екрани, ако вашият терминал ги притежава, но вие можете да редактирате
|
|
56 по-ефективно, ако използвате C-v и M-v.
|
48672
|
57
|
|
58
|
88155
|
59 * ОСНОВИ НА УПРАВЛЕНИЕТО НА КУРСОРА
|
48672
|
60 -----------------------------------
|
|
61
|
88155
|
62 Придвижването от екран на екран е полезно, но как да се придвижите до
|
|
63 определено място вътре в текста на екрана?
|
48672
|
64
|
88155
|
65 Има няколко начина да го направите. Може да използвате клавишите
|
|
66 стрелки, но е по-ефективно да държите ръцете си в стандартно положение
|
|
67 и да използвате командите C-p, C-b, C-f и C-n. Тези знаци са
|
|
68 еквивалентни на четирите клавиши стрелки, ето така:
|
48672
|
69
|
88155
|
70 Предишен ред (Previous), C-p
|
48672
|
71 :
|
|
72 :
|
88155
|
73 Назад, C-b .... Текуща позиция на курсора .... Напред, C-f
|
48672
|
74 (Backward) : (Forward)
|
|
75 :
|
88155
|
76 Следващ ред (Next), C-n
|
48672
|
77
|
88155
|
78 >> Придвижете курсора до реда в средата на тази диаграма, използвайки
|
|
79 C-n и C-p. След това натиснете C-l, за да видите цялата диаграма,
|
|
80 центрирана на екрана.
|
48672
|
81
|
88155
|
82 Ще намерите, че запомнянето на тези букви по думите на английски на
|
|
83 действията, които извършват, е лесно: P за Previous (предишен), N за
|
|
84 Next (следващ), B за Backward (назад) и F за Forward (напред). Вие ще
|
|
85 използвате тези основни команди за придвижване на курсора през цялото
|
|
86 време.
|
48672
|
87
|
88155
|
88 >> Въведете няколко C-n, за да доведете курсора до този ред.
|
48672
|
89
|
88155
|
90 >> Придвижете се в реда с няколко C-f и след това с няколко C-p.
|
|
91 Вижте какво прави C-p, когато курсорът е в средата на реда.
|
48672
|
92
|
88155
|
93 Всеки ред от текст завършва със знак за нов ред, който служи за
|
|
94 отделянето на реда от следващия ред. Последният ред във вашия файл
|
|
95 трябва да има знак за нов ред в края (но Emacs не изисква такъв,
|
|
96 когато прочита файла).
|
48672
|
97
|
88155
|
98 >> Опитайте C-b в началото на ред. Това трябва да ви придвижи в края
|
|
99 на предишния ред. Това е така, защото курсорът се придвижва към
|
|
100 знака за нов ред на предишния ред.
|
48672
|
101
|
88155
|
102 C-f може да придвижва през знак за нов ред точно както C-b.
|
48672
|
103
|
88155
|
104 >> Направете няколко C-b придвижвания, така че да добиете усещане къде
|
|
105 се намира курсорът. След това няколко C-f, за да се върнете в края
|
|
106 на реда. След това още няколко C-f, за да се придвижите до
|
|
107 следващия ред.
|
48672
|
108
|
88155
|
109 Когато се придвижвате след горния или долния край на екрана, текстът
|
|
110 отвъд края се измества към екрана. Това се нарича "скролиране". То
|
|
111 позволява на Emacs да придвижва курсора към зададеното място в текста,
|
|
112 без да го изкарва извън екрана.
|
48672
|
113
|
88155
|
114 >> Опитайте се да придвижите курсора след долния край на екрана с C-n
|
|
115 и вижте какво се случва.
|
48672
|
116
|
88155
|
117 Ако придвижването по знаци е твърде бавно, може да пробвате
|
|
118 придвижване по думи. M-f (META-f) придвижва курсора дума напред, а
|
|
119 M-b придвижва дума назад.
|
48672
|
120
|
88155
|
121 >> Въведете няколко M-f и M-b.
|
48672
|
122
|
88155
|
123 Когато сте в средата на дума, M-f придвижва в края на думата. Когато
|
|
124 сте в празно място между думи, M-f придвижва в края на следващата
|
|
125 дума. M-b работи по подобен начин в противоположната посока.
|
48672
|
126
|
88155
|
127 >> Въведете M-f и M-b няколко пъти, размесени с C-f и C-b, така че да
|
|
128 можете да наблюдавате действието на M-f и M-b в различни места
|
|
129 вътре и между думите.
|
48672
|
130
|
88155
|
131 Забележете приликата между C-f и C-b, от една страна, и M-f и M-b, от
|
|
132 друга. Много често Meta-знаците са използвани за действия върху
|
|
133 единици, дефинирани от езика (думи, изречения, абзаци), докато
|
|
134 Control-знаците действат върху основни единици, които са независими от
|
|
135 това, какво редактирате (знаци, редове и други).
|
48672
|
136
|
88155
|
137 Тази прилика се прилага върху редове и изречения: C-a и C-e придвижват
|
|
138 до началото или края на ред, а M-a и M-e придвижват до началото и края
|
|
139 на изречение.
|
48672
|
140
|
88155
|
141 >> Опитайте няколко C-a, а след това няколко C-e.
|
|
142 Опитайте няколко M-a, а след това няколко M-e.
|
48672
|
143
|
88155
|
144 Вижте как повтарянето на C-a не прави нищо, докато повтарянето на M-a
|
|
145 продължава придвижването с още едно изречение. Въпреки че тези
|
|
146 клавишни комбинации не са точно аналогични, всяка една от тях изглежда
|
|
147 естествена.
|
48672
|
148
|
88155
|
149 Положението на курсора в текста се нарича също "точка".
|
|
150 Перефразирано, курсорът показва на екрана къде е разположена точката в
|
|
151 текста.
|
48672
|
152
|
88155
|
153 Ето обобщение на простите действия, движещи курсора, включително
|
|
154 придвижващите по дума и изречение:
|
48672
|
155
|
88155
|
156 C-f Придвижва напред с един знак
|
|
157 C-b Придвижва назад с един знак
|
48672
|
158
|
88155
|
159 M-f Придвижва напред с една дума
|
|
160 M-b придвижва назад с една дума
|
48672
|
161
|
88155
|
162 C-n Придвижва до следващия ред
|
|
163 C-p Придвижва до предишния ред
|
48672
|
164
|
88155
|
165 C-a Придвижва до началото на ред
|
|
166 C-e Придвижва до края на ред
|
48672
|
167
|
88155
|
168 M-a Придвижва до началото на изречение
|
|
169 M-e Придвижва до края на изречение
|
48672
|
170
|
88155
|
171 >> Сега опитайте всички тези команди няколко пъти за практика. Тези
|
|
172 са най-често използваните команди.
|
48672
|
173
|
88155
|
174 Две други важни команди за движение на курсора са M-< (Meta по-малко),
|
|
175 която придвижва до началото на целия текст, и M-> (Meta по-голямо),
|
|
176 която премества до края на целия текст.
|
48672
|
177
|
88155
|
178 При повечето терминали знакът "<" е отбелязан над запетаята, така че
|
|
179 трябва да използвате клавиша Shift, за да го напишете. На тези
|
|
180 терминали трябва да използвате Shift, за да въведете и M-<; без клавиша
|
|
181 Shift бихте въвели M-запетая.
|
48672
|
182
|
88155
|
183 >> Опитайте M-< сега, за да се придвижите до началото на въведението.
|
|
184 След това използвайте C-v колкото е нужно пъти, за да се придвижите
|
|
185 до тук.
|
48672
|
186
|
88155
|
187 >> Опитайте M-> сега, за да се придвижите до края на въведението.
|
|
188 След това използвайте M-v колкото е нужно пъти, за да се придвижите
|
|
189 до тук.
|
48672
|
190
|
88155
|
191 Вие можете също да се придвижвате с клавишите-стрелки, ако вашият
|
|
192 терминал има такива. Ние препоръчваме да научите C-b, C-f, C-n и C-p
|
|
193 по три причини. Първо, те работят на всички видове терминали. Второ,
|
|
194 веднъж след като добиете практика в използването на Emacs, ще
|
|
195 откриете, че въвеждането на тези Control-знаци е по-бързо от
|
|
196 въвеждането на клавишите стрелки, защото не трябва да премествате
|
|
197 ръката си далеч от областта на клавишите с букви. Трето, веднъж след
|
|
198 като си оформите навик да използвате тези команди с Control знаци, вие
|
|
199 можете също така лесно да научите по-напредналите команди за движение
|
|
200 на курсора.
|
48672
|
201
|
88155
|
202 Повечето Emacs команди приемат числов аргумент; за повечето от тях той
|
|
203 служи като брояч на повторения. Начинът, по който давате числов
|
|
204 брояч, е с въвеждане на C-u, последвано от въвеждане на цифрите, и
|
|
205 всичко това преди въвеждане на самата команда. Ако имате клавиш META
|
|
206 (или EDIT или ALT), има друг, алтернативен начин да въведете числов
|
|
207 аргумент: въведете цифрите, докато задържате клавиша META. Ние
|
|
208 препоръчваме да научите начина с C-u, защото той работи на който и да
|
|
209 е терминал. Числовият аргумент се нарича също "префиксен аргумент",
|
|
210 защото го въвеждате преди командата, за която е предназначен.
|
48672
|
211
|
88155
|
212 Например, C-u 8 C-f придвижва осем знака напред.
|
48672
|
213
|
88155
|
214 >> Опитайте използването на C-n или C-p с числов аргумент, за да
|
|
215 придвижите курсора до ред, близък до този, само с една команда.
|
48672
|
216
|
88155
|
217 Повечето команди използват числовия аргумент като брояч на
|
|
218 повторенията, но някои го използват за други цели. Няколко команди
|
|
219 (но никоя от тези, които сте научили досега) го използват като флаг --
|
|
220 присъствието на числов аргумент, независимо от стойноста му, кара
|
|
221 командата да върши нещо различно.
|
48672
|
222
|
88155
|
223 C-v и M-v са друг вид изключение. Когато им е даден аргумент, те
|
|
224 скролират екрана нагоре или надолу със зададения брой редове, вместо с
|
|
225 екрани. Например, C-u 8 C-v скролира екрана с 8 реда.
|
48672
|
226
|
88155
|
227 >> Сега опитайте C-u 8 C-v.
|
48672
|
228
|
88155
|
229 Това би трябвало да скролира екрана с 8 реда. Ако искате да
|
|
230 скролирате отново надолу, може да дадете аргумент на M-v.
|
48672
|
231
|
88155
|
232 Ако използвате графичен интерфейс, като X11 или MS-Windows, би
|
|
233 трябвало да има тънка правоъгълна област, наречена плъзгач (scroll
|
|
234 bar), в лявата страна на прозореца на Emacs. Вие можете да скролирате
|
|
235 текста, щракайки с мишката в плъзгача.
|
48672
|
236
|
88155
|
237 >> Опитайте да натиснете средния бутон на върха на осветената област
|
|
238 вътре в плъзгача. Това би трябвало да скролира текста към
|
|
239 положение, определено от това колко високо или ниско сте щракнали.
|
48672
|
240
|
88155
|
241 >> Опитайте се да движите мишката нагоре и надолу, докато сте
|
|
242 задържали десния бутон натиснат. Ще видите, че текстът се скролира
|
|
243 нагоре и надолу, като движите мишката.
|
48672
|
244
|
|
245
|
88155
|
246 * КОГАТО EMACS Е БЛОКИРАЛ
|
48672
|
247 -------------------------
|
|
248
|
88155
|
249 Ако Emacs спре да отговаря на вашите команди, вие можете да го спрете
|
|
250 безопасно, като въведете C-g. Може да използвате C-g, за да спрете
|
|
251 команда, която се изпълнява твърде дълго.
|
48672
|
252
|
88155
|
253 Също можете да използвате C-g, за да отмените числов аргумент или
|
|
254 началото на команда, която не искате да завършите.
|
48672
|
255
|
88155
|
256 >> Въведете C-u 100, за да направите числов аргумент 100, и въведете
|
|
257 C-g. Сега въведете C-f. Трябва да се придвижите с точно един
|
|
258 знак, защото вие прекратихте аргументът с C-g.
|
48672
|
259
|
88155
|
260 Ако сте въвели <ESC> по погрешка, можете да се измъкнете с C-g.
|
48672
|
261
|
|
262
|
88155
|
263 * ЗАБРАНЕНИ КОМАНДИ
|
48672
|
264 -------------------
|
|
265
|
88155
|
266 Някои команди на Emacs са "забранени", така че начинаещите потребители
|
|
267 да не могат да ги употребят по погрешка.
|
48672
|
268
|
88155
|
269 Ако въведете някоя от забранените команди, Emacs извежда съобщение,
|
|
270 казвайки каква е била командата и питайки ви дали искате да продължите
|
|
271 напред и да изпълните командата.
|
48672
|
272
|
88155
|
273 Ако наистина искате да изпробвате командата, въведете <SPC> (клавиша
|
|
274 интервал) в отговор на въпроса. Обикновено ако не искате да изпълните
|
|
275 забранената команда, отговаряте на въпроса с "n".
|
48672
|
276
|
88155
|
277 >> Въведете C-x C-l (която е забранена команда), и след това въведете
|
|
278 "n" в отговор на въпроса.
|
48672
|
279
|
|
280
|
88155
|
281 * ПРОЗОРЦИ
|
48672
|
282 ----------
|
|
283
|
88155
|
284 Emacs може да управлява няколко прозореца, всеки извеждайки свой
|
|
285 собствен текст. Ние ще обясним по-късно как да използвате няколко
|
|
286 прозореца. Точно сега ние искаме да обясним как да се отървете от
|
|
287 допълнителни прозорци и да се върнете към основното редактиране с един
|
|
288 прозорец. Просто е:
|
48672
|
289
|
88155
|
290 C-x 1 Един прозорец (т.е. премахни всички други прозорци).
|
48672
|
291
|
88155
|
292 Това е CONTROL-x, последван от цифрата 1. C-x 1 разширява прозореца,
|
|
293 съдържащ курсора, за да може да запълни целия екран. Тя премахва
|
|
294 всички други прозорци.
|
48672
|
295
|
88155
|
296 >> Придвижете курсора до този ред и въведете C-u 0 C-l.
|
|
297 >> Въведете C-h k C-f.
|
|
298 Вижте как този прозорец се свива, докато друг се появява, за да
|
|
299 изведе документацията на командата C-f.
|
48672
|
300
|
88155
|
301 >> Въведете C-x 1 и вижте как прозорецът с документацията изчезва.
|
48672
|
302
|
88155
|
303 Тази команда не е като другите команди, които сте научили, в това
|
|
304 отношение, че се състои от два знака. Започва със знака C-x. Има
|
|
305 цяла редица от команди, които започват с C-x; много от тях имат нещо
|
|
306 общо с прозорци, файлове, буфери и свързаните с тях неща. Тези
|
|
307 команди са от два, три или четири знака.
|
48672
|
308
|
|
309
|
88155
|
310 * ВМЪКВАНЕ И ИЗТРИВАНЕ
|
48672
|
311 ----------------------
|
|
312
|
88155
|
313 Ако искате да вмъкнете текст, просто го въведете. Знаците, които
|
|
314 могат да се виждат, като А, 7, * и т.н., се възприемат от Emacs като
|
|
315 текст и се вмъкват веднага. Въведете <Return> (клавишът за връщане в
|
|
316 началото на реда), за да вмъкнете знак за нов ред.
|
48672
|
317
|
88155
|
318 Може да изтриете последния знак, който сте въвели, с въвеждане на
|
|
319 <Delback>. <Delback> е клавиш от клавиатурата -- същият, който
|
|
320 обикновено използвате извън Emacs, за да изтриете последния въведен от
|
|
321 вас знак. Обикновено е голям клавиш, на няколко реда разстояние от
|
|
322 клавиша <Return>, и обикновено е отбелязан с "Delete", "Del" или
|
48672
|
323 "Backspace".
|
|
324
|
88155
|
325 Ако големият клавиш там е с етикет "Backspace", тогава той е този,
|
|
326 който ще използвате за <Delback>. Може да има още един клавиш с
|
|
327 етикет "Delete" някъде другаде, но той не е <Delback>.
|
48672
|
328
|
88155
|
329 По-общо казано, <Delback> изтрива знака точно преди текущото място на
|
|
330 курсора.
|
48672
|
331
|
88155
|
332 >> Направете това сега -- напишете няколко знака, после ги изтрийте с
|
|
333 въвеждане на <Delback> няколко пъти. Не се безпокойте, че този
|
|
334 файл ще бъде променен; вие няма да промените първоначалното
|
|
335 въведение. Това е ваше лично копие.
|
48672
|
336
|
88155
|
337 Когато ред от текста стане твърде дълъг, за да се събере в ред от
|
|
338 екрана, редът от текста се "продължава" на следващия ред. Обратна
|
|
339 наклонена черта ("\") (или, ако използвате графичен интерфейс, малка
|
|
340 изкривена стрелка) в дясната граница отбелязва ред, който е бил
|
|
341 продължен.
|
48672
|
342
|
88155
|
343 >> Въведете текст, докато стигнете дясната граница, и продължете с
|
|
344 вмъкването. Ще видите продължението на реда да се показва.
|
48672
|
345
|
88155
|
346 >> Използвайте няколко <Delback>, за да изтриете текста, докато редът
|
|
347 се вмести в един екранен ред. Продължението на реда изчезва.
|
48672
|
348
|
88155
|
349 Може да изтриете знака за нов ред точно както всеки друг знак.
|
|
350 Изтриването на знака за нов ред между два реда ги слива в един ред.
|
|
351 Ако полученият комбиниран ред е твърде дълъг, за да се вмести в
|
|
352 ширината на екрана, той ще бъде показан като продължен ред.
|
48672
|
353
|
88155
|
354 >> Придвижете курсора в началото на ред и въведете <Delback>. Това ще
|
|
355 слее този ред с предишния.
|
48672
|
356
|
88155
|
357 >> Въведете <Return>, за да вмъкнете наново знака за нов ред, който
|
|
358 изтрихте.
|
48672
|
359
|
88155
|
360 Запомнете, че на повечето команди на Emacs може да бъде зададен брояч
|
|
361 на повторенията; това включва вмъкването на текстови знаци.
|
|
362 Повтарянето на текстов знак го вмъква няколко пъти.
|
48672
|
363
|
88155
|
364 >> Опитайте това сега -- въведете C-u 8 *, за да вмъкнете ********.
|
48672
|
365
|
88155
|
366 Сега вие сте научили най-основните начини за въвеждане на нещо в Emacs
|
|
367 и поправяне на грешки. Можете също така да изтривате думи или редове.
|
|
368 Ето обобщение на изтриващите действия:
|
48672
|
369
|
88155
|
370 <Delback> Изтриване на знака точно преди курсора
|
|
371 C-d Изтриване на знака точно след курсора
|
48672
|
372
|
88155
|
373 M-<Delback> Изтриване на думата непосредствено преди курсора
|
|
374 M-d Изтриване на думата след курсора
|
48672
|
375
|
88155
|
376 C-k Изтриване от мястото на курсора до края на реда
|
|
377 M-k Изтриване до края на текущото изречение
|
48672
|
378
|
88155
|
379 Забележете, че <Delback> и C-d, сравнени с M-<Delback> и M-d,
|
|
380 разширяват подобието, започнато от C-f и M-f (добре, <Delback> не е
|
|
381 наистина контролиращ знак, но нека не се безпокоим за това). C-k и
|
|
382 M-k са подобни на C-e и M-e в смисъл, че едните са за редове, а
|
|
383 другите -- за изречения.
|
48672
|
384
|
88155
|
385 Можете също да премахнете всяка част от буфера с един универсален
|
|
386 начин. Придвижете се до единия край на частта и въведете C-@ или
|
|
387 C-<SPC> (което и да е от двете). (<SPC> е клавишът интервал.)
|
|
388 Придвижете се до другия край на частта и въведете C-w. Това ще изреже
|
|
389 целия текст между тези два края.
|
48672
|
390
|
88155
|
391 >> Придвижете курсора до знака "М" в началото на предишния абзац.
|
|
392 >> Въведете C-<SPC>. Emacs трябва да изведе съобщение "Mark set" в
|
|
393 долния край на екрана.
|
|
394 >> Придвижете курсора до буквата "р" в "край" на втория ред от абзаца.
|
|
395 >> Въведете C-w. Това ще изреже текста, започващ от "М" и завършващ
|
|
396 точно преди "р".
|
48672
|
397
|
88155
|
398 Разликата между "изрязване" (kill, cut) и "изтриване" (delete) е, че
|
|
399 "изрязаният" текст може да бъде вмъкнат наново, докато "изтритите"
|
|
400 неща не могат да се вмъкнат наново. Поставянето наново на изрязан
|
|
401 текст се нарича "вмъкване" (yank, paste). Общо казано, командите,
|
|
402 които отстраняват много текст, го изрязват (така че той да може да
|
|
403 бъде вмъкнат), докато командите, които отстраняват само един знак или
|
|
404 изтриват само празни редове и знаци, извършват изтриване (така че не
|
|
405 можете да вмъкнете наново този текст).
|
48672
|
406
|
88155
|
407 >> Придвижете курсора до началото на ред, който не е празен. Тогава
|
|
408 въведете C-k, за да изрежете текста на този ред.
|
|
409 >> Въведете C-k втори път. Ще видите, че това изрязва знака за нов
|
|
410 ред, който следва реда.
|
48672
|
411
|
88155
|
412 Забележете, че единично C-k изрязва съдържанието на реда, а следващото
|
|
413 C-k изрязва целия ред и прави другите редове да се придвижат нагоре.
|
|
414 C-k обработва числовите аргументи по специален начин: премахват се
|
|
415 толкова на брой редове И тяхното съдържание. Това не е просто
|
|
416 повторение. C-u 2 C-k изрязва два реда и техните знаци за нов ред;
|
|
417 въвеждането на C-k два пъти не прави това.
|
48672
|
418
|
88155
|
419 Връщането обратно на текст се нарича "вмъкване". (Мислете за него
|
|
420 като за изваждане обратно, или дръпване обратно, на текст, който е бил
|
|
421 изрязан.) Можете да вмъквате изрязания текст или на същото място,
|
|
422 откъдето е бил премахнат, или на друго място в редактирания текст,
|
|
423 даже и в различен файл. Можете да вмъквате един и същ текст няколко
|
|
424 пъти; това прави няколко копия от него.
|
48672
|
425
|
88155
|
426 Командата за вмъкване е C-y. Тя вмъква наново последния изрязан текст
|
|
427 в текущото място на курсора.
|
48672
|
428
|
88155
|
429 >> Опитайте го: въведете C-y, за да изведете текста обратно.
|
48672
|
430
|
88155
|
431 Ако направите няколко C-k в ред, всичко от изрязания текст се запазва
|
|
432 заедно, така че едно C-y ще извади всички редове наведнъж.
|
48672
|
433
|
88155
|
434 >> Направете това сега, въведете C-k няколко пъти.
|
48672
|
435
|
88155
|
436 Сега, за да изкарате изрязания текст:
|
48672
|
437
|
88155
|
438 >> Въведете C-y. След това придвижете курсора надолу няколко реда и
|
|
439 въведете C-y отново. Сега виждате как да копирате някакъв текст.
|
48672
|
440
|
88155
|
441 Какво да правите, ако имате някакъв текст, който искате да вмъкнете
|
|
442 обратно, и след това изрежете нещо друго? C-y ще извади последното
|
|
443 изрязване. Но предишният текст не е загубен. Можете да го върнете
|
|
444 обратно, използвайки командата M-y. След като изпълните C-y, за да
|
|
445 вземете последното изрязване, въвеждането на M-y заменя този изваден
|
|
446 текст с предишното изрязване. Въвеждането на M-y отново и отново
|
|
447 връща по-ранни и по-ранни изрязвания. Когато стигнете текста, който
|
|
448 търсите, не е нужно да правите нищо повече, за да го задържите.
|
|
449 Просто продължете с редактирането, оставяйки извадения текст, където
|
|
450 си е.
|
48672
|
451
|
88155
|
452 Ако въведете M-y достатъчен брой пъти, ще се върнете в началното
|
|
453 положение (последното изрязване).
|
48672
|
454
|
88155
|
455 >> Изрежете ред, придвижете се някъде, изрежете друг ред.
|
|
456 Изпълнете C-y, за да върнете обратно втория изрязан ред.
|
|
457 Изпълнете M-y и този върнат текст ще бъде заменен с първия
|
|
458 изрязан ред.
|
|
459 Изпълнете няколко M-y и вижте какво се получава. Изпълнявайте това,
|
|
460 докато вторият изрязан ред се върне, и след това още няколко пъти.
|
|
461 Ако искате, може да пробвате да дадете на M-y положителни и
|
|
462 отрицателни числови аргументи.
|
48672
|
463
|
|
464
|
88155
|
465 * ОТМЯНА
|
48672
|
466 --------
|
|
467
|
88155
|
468 Ако направите промяна в текста и след това решите, че това е било
|
|
469 грешка, вие можете да отмените промяната с командата за отменяне, C-x
|
48672
|
470 u.
|
|
471
|
88155
|
472 Обикновено C-x u отменя промените, направени от една команда; ако
|
|
473 повтаряте C-x u няколко пъти последователно, всяко повторение отменя
|
|
474 още една команда.
|
48672
|
475
|
88155
|
476 Но има две изключения: командите, които не променят текста, не се
|
|
477 броят (това включва придвижването на курсора и скролиращите команди),
|
|
478 и самовмъкващите се знаци обикновено се обработват на групи, всяка до
|
|
479 20 знака. (Това намалява броя на C-x u, които трябва да въведете, за
|
|
480 да отмените въведен текст.)
|
48672
|
481
|
88155
|
482 >> Изрежете този ред с C-k, след това въведете C-x u и той трябва да
|
|
483 се появи отново.
|
48672
|
484
|
88155
|
485 C-_ е алтернативна отменяща команда; тя работи точно като C-x u, но е
|
|
486 по-лесна за въвеждане няколко пъти последователно. Недостатъкът на
|
|
487 C_- е, че на някои клавиатури не е очевидно как трябва да се въведе.
|
|
488 Затова осигуряваме и C-x u. На някои терминали може да въведете C-_ с
|
|
489 въвеждане на /, докато задържате CONTROL.
|
48672
|
490
|
88155
|
491 Числов аргумент към C-_ или C-x u действа като брояч на повторенията.
|
48672
|
492
|
88155
|
493 Може да отменята изтриване на текст точно както отменяте изрязване на
|
|
494 текст. Различието между изрязването на нещо и изтриването му
|
|
495 въздейства дали ще може да го извадите с C-y; за отменянето няма
|
|
496 разлика между двата вида.
|
48672
|
497
|
|
498
|
88155
|
499 * ФАЙЛОВЕ
|
48672
|
500 ---------
|
|
501
|
88155
|
502 За да направите текста, който редактирате, постоянен, трябва да го
|
|
503 сложите във файл. В противен случай той ще изчезне, когато Emacs
|
|
504 приключи. За да сложите вашия текст във файл, трябва да "намерите"
|
|
505 файла преди да въвеждате текст. (Това също се нарича "посещаване" на
|
|
506 файла.)
|
48672
|
507
|
88155
|
508 Намиране на файл означава, че виждате съдържанието му в Emacs. В
|
|
509 много случаи това е като да редактирате самия файл. Обаче промените,
|
|
510 които правите, използвайки Emacs, не остават постоянни, докато не
|
|
511 "запишете" файла. Това е така, за да се предотврати оставянето на
|
|
512 полупроменен файл в системата, когато не искате това. Дори когато
|
|
513 записвате, Emacs оставя началния файл под променено име, в случай, че
|
|
514 по-късно решите, че вашите промени са били грешка.
|
48672
|
515
|
88155
|
516 Ако погледнете в дъното на екрана, ще видите ред, който започва и
|
|
517 завършва с тирета и започва с "-R:-- TUTORIAL.bg" или нещо подобно.
|
|
518 Тази част от екрана показва името на файла, който сте посетили. Точно
|
|
519 сега вие сте посетили файл, наречен "TUTORIAL.bg", който е вашето
|
|
520 лично копие-чернова на Emacs въведението. Когато намерите файл в
|
|
521 Emacs, името на този файл ще се появи на същото място.
|
48672
|
522
|
88155
|
523 Особеност на командата за намиране на файл е, че трябва да кажете
|
|
524 името на файла, който искате. Ние го наричаме "четене на аргумент от
|
|
525 терминала" (в този случай аргументът е името на файла). След като
|
|
526 въведете командата
|
48672
|
527
|
88155
|
528 C-x C-f Намиране на файл
|
48672
|
529
|
88155
|
530 Emacs ви подканя да въведете името на файла. Името на файла, което
|
|
531 напишете, се появява в дъното на екрана. Редът в дъното на екрана се
|
|
532 нарича минибуфер, когато се използва за този вид вход. Можете да
|
|
533 използвате обикновените команди за редактиране на Emacs, за да
|
|
534 редактирате името на файла.
|
48672
|
535
|
88155
|
536 Когато въвеждате името на файла (или какъвто и да е вход в
|
|
537 минибуфера), можете да прекратите командата с C-g.
|
48672
|
538
|
88155
|
539 >> Въведете C-x C-f и след това C-g. Това прекратява минибуфера, а
|
|
540 също и командата C-x C-f, която се е изпълнявала в минибуфера.
|
|
541 Така че не намирате файл.
|
48672
|
542
|
88155
|
543 Когато приключите с въвеждането на името на файла, въведете <Return>,
|
|
544 за да покажете това. Тогава C-x C-f тръгва да работи и намира файла,
|
|
545 който сте избрали. Минибуферът изчезва, когато командата C-x C-f
|
|
546 свърши.
|
48672
|
547
|
88155
|
548 След малко съдържанието на файла се появява на екрана и вие можете да
|
|
549 редактирате съдържанието му. Когато пожелаете да запазите вашите
|
|
550 промени за постоянно, въведете командата
|
48672
|
551
|
88155
|
552 C-x C-s Запазване на файла
|
48672
|
553
|
88155
|
554 Това копира текста от Emacs във файла. Първия път, когато това се
|
|
555 направи, Emacs преименува началния файл с ново име, така че той да не
|
|
556 се изгуби. Новото име се построява с добавяне на "~" в края на името
|
|
557 на началния файл.
|
48672
|
558
|
88155
|
559 Когато запазването е свършило, Emacs извежда името на файла, който е
|
|
560 бил записан. Трябва да записвате достатъчно често, така че да не
|
|
561 изгубите много работа, ако системата се срине по някаква причина.
|
48672
|
562
|
88155
|
563 >> Въведете C-x C-s, запазвайки вашето копие от въведението.
|
|
564 Това трябва да изведе "Wrote ...TUTORIAL.bg" в дъното на екрана.
|
48672
|
565
|
88155
|
566 ЗАБЕЛЕЖКА: На някои системи въвеждането на C-x C-s ще замръзи екрана и
|
|
567 вие няма да виждате повече изход от Emacs. Това показва, че една
|
|
568 "способност" на операционната система, наричана "управление на потока"
|
|
569 (flow control), е прихванала C-s и не го пропуска към Emacs. За да
|
|
570 размразите екрана, въведете C-q. Тогава вижте секцията "Спонтанно
|
|
571 включване на постъпково търсене" (Spontaneous Entry to Incremental
|
|
572 Search) в ръководството на Emacs за съвет как да се справите с тази
|
|
573 "способност".
|
48672
|
574
|
88155
|
575 Може да намерите съществуващ файл, да го разгледате и да го
|
|
576 редактирате. Можете също да намерите файл, който не съществува. Това
|
|
577 е начинът за създаване на нови файлове в Emacs: намирате файла, който
|
|
578 ще бъде в началото празен, и тогава започвате вмъкването на текста за
|
|
579 файла. Когато говорите за "записване" на файл, Emacs всъщност ще
|
|
580 създаде файла с текста, който сте въвели. Оттам нататък може да
|
|
581 считате, че редактирате вече съществуващ файл.
|
48672
|
582
|
|
583
|
88155
|
584 * БУФЕРИ
|
48672
|
585 --------
|
|
586
|
88155
|
587 Ако намерите втори файл с C-x C-f, първият файл остава в Emacs.
|
|
588 Можете да превключите обратно към него, като го намерите пак с C-x
|
|
589 C-f. По този начин може да получите доста на брой файлове в Emacs.
|
48672
|
590
|
88155
|
591 >> Създайте файл с име "foo", въвеждайки C-x C-f foo <Return>.
|
|
592 Вмъкнете малко текст, редактирайте го и запазете "foo" с въвеждане
|
|
593 на C-x C-s.
|
|
594 Накрая въведете C-x C-f TUTORIAL.bg <Return>, за да се върнете
|
|
595 обратно във въведението.
|
48672
|
596
|
88155
|
597 Emacs запазва текста на всеки файл в обект, наричан "буфер".
|
|
598 Намирането на файл прави нов буфер в Emacs. За да видите списък на
|
|
599 буферите, които в момента съществуват във вашия Emacs, въведете
|
48672
|
600
|
88155
|
601 C-x C-b Показване на буферите
|
48672
|
602
|
88155
|
603 >> Опитайте C-x C-b сега.
|
48672
|
604
|
88155
|
605 Вижте как всеки буфер има име, а понякога и име на файл за файла,
|
|
606 чието съдържание държи. ВСЕКИ текст, който виждате в Emacs прозорец,
|
|
607 е винаги част от някакъв буфер.
|
48672
|
608
|
88155
|
609 >> Въведете C-x 1, за да махнете списъка с буферите.
|
48672
|
610
|
88155
|
611 Когато имате няколко буфера, само един от тях е "текущ" в даден момент
|
|
612 от време. Това е буферът, който редактирате. Ако искате да
|
|
613 редактирате друг буфер, се нуждаете от "превключване" към него. Ако
|
|
614 искате да се превключите към буфер, който съответства на файл, можете
|
|
615 да го направите, като просто посетите файла отново с C-x C-f. Но има
|
|
616 и по-лесен начин: използването на командата C-x b. В тази команда
|
|
617 трябва да въведете името на буфера.
|
48672
|
618
|
88155
|
619 >> Въведете C-x b foo <Return>, за да се върнете към буфера "foo",
|
|
620 който държи текста на файла "foo". Тогава въведете C-x b TUTORIAL
|
|
621 <Return>, за да се върнете в това въведение.
|
48672
|
622
|
88155
|
623 В повечето случаи името на буфера е същото като името на файла (без
|
|
624 частта в коя директория се намира). Обаче това не винаги е вярно.
|
|
625 Списъкът с буферите, който правите с C-x C-b, винаги ви показва името
|
|
626 на всеки буфер.
|
48672
|
627
|
88155
|
628 ВСЕКИ текст, който виждате в Emacs прозорец, е винаги част от някакъв
|
|
629 буфер. Някои буфери не съответстват на файлове. Например буферът,
|
|
630 именуван "*Buffer List*", не съответства на файл. Това е буферът,
|
|
631 който съдържа списъка с буферите, които сте направили с C-x C-b.
|
|
632 Буферът, именуван "*Messages*", също не съответства на файл; той
|
|
633 съдържа съобщенията, които се появяват в дъното на екрана по време на
|
|
634 Emacs сесията.
|
48672
|
635
|
88155
|
636 >> Въведете C-x b *Messages* <Return>, за да видите буфера със
|
|
637 съобщенията. След това въведете C-x C-b TUTORIAL <Return>, за да
|
|
638 се върнете към това въведение.
|
48672
|
639
|
88155
|
640 Ако направите промени в текста на един файл и тогава намерите друг
|
|
641 файл, това няма да запише първия файл. Неговите промени остават вътре
|
|
642 в Emacs, в буфера на файла. Създаването или редактирането на буфера
|
|
643 на втория файл няма ефект върху буфера на първия файл. Това е много
|
|
644 полезно, но също означава, че се нуждаете от удобен начин да запазите
|
|
645 буфера на първия файл. Ще е неудобно да превключите обратно с C-x
|
|
646 C-f, за да го запазите с C-x C-s. Така че имаме
|
48672
|
647
|
88155
|
648 C-x s Запазва някои буфери
|
48672
|
649
|
88155
|
650 C-x s пита за всеки буфер, който съдържа промени, които не сте
|
|
651 запазили. Въпросът за всеки такъв буфер е дали да бъде запазен.
|
48672
|
652
|
88155
|
653 >> Вмъкнете ред в текста, след това въведете C-x s.
|
|
654 Трябва да бъдете попитан дали да запазите буфера, именуван "TUTORIAL".
|
|
655 Отговорете с "да" на въпроса, като въведете "y".
|
48672
|
656
|
|
657
|
88155
|
658 * РАЗШИРЯВАНЕ НА НАБОРА КОМАНДИ
|
48672
|
659 -------------------------------
|
|
660
|
88155
|
661 Има много, много повече команди на Emacs, отколкото могат да се сложат
|
|
662 на всички контролни и мета знаци. Emacs заобикаля това с X (eXtended)
|
|
663 командата. Това става по два начина:
|
48672
|
664
|
88155
|
665 C-x Знаково разширяване. Последвано от един знак.
|
|
666 M-x Разширяване с именувана команда. Последвано от дълго
|
|
667 име.
|
48672
|
668
|
88155
|
669 Тези команди са общо взето полезни, но по-малко, отколкото командите,
|
|
670 които досега сте научили. Вече видяхте няколко от тях: например
|
|
671 командите върху файлове C-x C-f за намиране (Find) и C-x C-s за
|
|
672 запазване (Save). Друг пример е командата за край на Emacs сесията --
|
|
673 това е командата C-x C-c. (Не се безпокойте, че може да изгубите
|
|
674 всички промени, които сте направили; C-x C-c предлага да запази всеки
|
|
675 променен файл, преди да премахне Emacs.)
|
48672
|
676
|
88155
|
677 C-z е командата за излизане от Emacs *временно* -- така че да можете
|
|
678 да се върнете към същата Emacs сесия по-късно.
|
48672
|
679
|
88155
|
680 На системи, които позволяват това, C-z "изоставя" (suspend) Emacs,
|
|
681 т.е. връща към обвивката, но не разрушава Emacs. В повечето обвивки
|
|
682 можете да продължите Emacs сесията с командата "fg" или с "%emacs".
|
48672
|
683
|
88155
|
684 На системи, които не позволяват изоставяне, C-z създава нова
|
|
685 подобвивка, която върви под Emacs, за да ви даде шанс да стартирате
|
|
686 други програми и да се върнете към Emacs след това; това не е истинско
|
|
687 "излизане" от Emacs. В този случай командата на обвивката "exit" е
|
|
688 обикновеният начин да се върнете обратно към Emacs от подобвивката.
|
48672
|
689
|
88155
|
690 Моментът да използвате C-x C-c е, когато искате да излезете от
|
|
691 системата. Това е и правилната команда за излизане, когато Emacs е
|
|
692 извикан от пощенска програма или други странични програми, тъй като те
|
|
693 може и да не знаят как да се справят с изоставянето на Emacs. При
|
|
694 обикновени обстоятелства, обаче, ако не сте тръгнали да излизате от
|
|
695 системата, по-добре е да изоставите Emacs с C-z, вместо да излизате от
|
|
696 Emacs.
|
48672
|
697
|
88155
|
698 Има много команди C-x. Ето списък на тези, които сте научили:
|
48672
|
699
|
88155
|
700 C-x C-f Намиране на файл
|
|
701 C-x C-s Запазване на файл
|
|
702 C-x C-b Списък на буферите
|
|
703 C-x C-c Излизане от Emacs
|
|
704 C-x 1 Изтриване на всички прозорци, освен един
|
|
705 C-x u Отмяна
|
48672
|
706
|
88155
|
707 Именуваните разширени команди са команди, които се използват даже още
|
|
708 по-рядко, или команди, които се използват само в определени режими.
|
|
709 Пример е командата replace-string, която заменя глобално един низ с
|
|
710 друг. Когато въведете M-x, Emacs ви подсказва в дъното на екрана с
|
|
711 M-x и вие трябва да въведете името на командата, в този случай
|
|
712 "replace-string". Просто въведете "repl s<TAB>" и Emacs ще завърши
|
|
713 името. (<TAB> е клавишът Tab, обикновено намиращ се над клавиша
|
|
714 CapsLock или клавиша Shift близо до левия край на клавиатурата.)
|
|
715 Завършете името на командата с <Return>.
|
48672
|
716
|
88155
|
717 Командата replace-string изисква два аргумента -- низът, който ще бъде
|
|
718 заменян, и низът, който ще го замени. Трябва да завършите въвеждането
|
|
719 на всеки аргумент с <Return>.
|
48672
|
720
|
88155
|
721 >> Придвижете курсора до празния ред, два реда надолу под този.
|
|
722 Тогава въведете M-x repl s<Return>променя<Return>изменя<Return>
|
48672
|
723
|
88155
|
724 Забележете как този ред се променя: вие заменихте думата
|
|
725 п-р-о-м-е-н-я с "изменя", където и да се намира след началното
|
|
726 място на курсора.
|
48672
|
727
|
88155
|
728 ЗАБЕЛЕЖКА: Превключването към въвеждане на кирилски буква става с C-\.
|
48672
|
729
|
|
730
|
88155
|
731 * АВТОМАТИЧНО ЗАПАЗВАНЕ
|
48672
|
732 -----------------------
|
|
733
|
88155
|
734 Когато сте направили промени във файл, но още не сте го запазили, те
|
|
735 могат да бъдат загубени, ако компютърът внезапно се изключи. За да ви
|
|
736 предпази от такива ситуации, Emacs периодично запазва "автоматично
|
|
737 запазван" файл за всеки файл, който редактирате. Името на автоматично
|
|
738 запазвания файл има # в началото и в края; например, ако вашият файл е
|
|
739 с име "hello.c", името на неговия автоматично запазван файл ще бъде
|
|
740 "#hello.c#". Когато запазвате файл по обикновения начин, Emacs
|
|
741 изтрива неговия автоматично записван файл.
|
48672
|
742
|
88155
|
743 Ако компютърът зависне, може да възстановите вашата автоматично
|
|
744 запазвана редакция, като намерите файла както обикновено (файлът,
|
|
745 който сте редактирали, не автоматично запазвания) и след това въведете
|
|
746 M-x recover file<Return>. Когато командата изиска потвърждение,
|
|
747 въведете yes<Return>, за да продължите и да възстановите автоматично
|
|
748 запазваните данни.
|
48672
|
749
|
|
750
|
88155
|
751 * ЕХО ОБЛАСТТА
|
48672
|
752 --------------
|
|
753
|
88155
|
754 Ако Emacs види, че въвеждате многознакови команди бавно, ще ви ги
|
|
755 покаже в дъното на екрана, в област, наричана "ехо област". Ехо
|
|
756 областта обхваща последния ред от екрана.
|
48672
|
757
|
|
758
|
88155
|
759 * РЕД НА РЕЖИМА
|
|
760 ----------------
|
48672
|
761
|
88155
|
762 Редът точно над ехо областта се нарича "ред на режима" (mode line).
|
|
763 Той показва нещо като:
|
48672
|
764
|
88155
|
765 -D:** TUTORIAL.bg 63% L749 (Fundamental)---------------------
|
48672
|
766
|
88155
|
767 Този ред дава полезна информация за състоянието на Emacs и текста,
|
|
768 който редактирате.
|
48672
|
769
|
88155
|
770 Вече знаете какво означава името на файла -- това е файлът, който сте
|
|
771 намерили. NN% показва вашата текуща позиция в текста; това означава,
|
|
772 че NN процента от текста е над върха на екрана. Ако началото на файла
|
|
773 е на екрана, ще се показва --Top-- (връх) вместо --00%--. Ако краят
|
|
774 на файла е на екрана, ще се показва --Bot-- (дъно). Ако гледате
|
|
775 текст, който е толкова малък, че се показва изцяло на екрана, редът на
|
|
776 режима ще изведе --All--.
|
48672
|
777
|
88155
|
778 Знакът L и цифрите показват мястото по друг начин: това е номерът на
|
|
779 текущия ред на точката.
|
48672
|
780
|
88155
|
781 Звездите близо до началото означават, че сте направили промени в
|
|
782 текста. Веднага след като посетите или запазите файл, тази част от
|
|
783 реда на режима вече не показва звезди, а само тирета.
|
48672
|
784
|
88155
|
785 Частта от реда на режима вътре в скобите е, за да ви покаже в какъв
|
|
786 режим на редактиране се намирате. Подразбиращият се режим е
|
|
787 Fundamental (Основен), който използвате в момента. Това е пример за
|
|
788 "главен режим" (major mode).
|
48672
|
789
|
88155
|
790 Emacs има много главни режими. Някои от тях са предвидени за
|
|
791 редактиране на различни езици и/или видове текст, като например режим
|
|
792 Лисп, режим Текст и други. Във всеки един момент от време точно един
|
|
793 главен режим е активен и неговото име може винаги да бъде намерено в
|
|
794 реда на режима, точно както "Fundamental" сега.
|
48672
|
795
|
88155
|
796 Всеки главен режим прави някои команди да се държат по различен начин.
|
|
797 Например, има команди за редактиране на коментари в програми, и тъй
|
|
798 като всеки програмен език има различна идея за това как трябва да
|
|
799 изглеждат коментарите, всеки главен режим трябва да вмъква коментари
|
|
800 по различен начин. Всеки главен режим е име на разширена команда, с
|
|
801 която превключвате към този режим. Например, M-x fundamental-mode е
|
|
802 команда за превключване към режим Fundamental.
|
48672
|
803
|
88155
|
804 Когато редактирате текст на естествен език, като този файл,
|
|
805 най-вероятно трябва да използвате режим Текст (text).
|
48672
|
806
|
88155
|
807 >> Въведете M-x text mode<Return>.
|
48672
|
808
|
88155
|
809 Не се безпокойте, никоя от Emacs командите, които сте научили, няма да
|
|
810 се промени по някакъв съществен начин. Но може да забележите, че M-f
|
|
811 и M-b сега възприемат апострофите (') като част от думите. Преди
|
|
812 това, в основния режим (Fundamental), M-f и M-b се възприемаха като
|
|
813 разделители на думи.
|
48672
|
814
|
88155
|
815 Главните режими обикновено правят малки промени като тази: повечето
|
|
816 команди вършат "същата работа" във всеки главен режим, но работят по
|
|
817 малко по-различен начин.
|
48672
|
818
|
88155
|
819 За да видите документацията на вашия текущ главен режим, въведете C-h
|
48672
|
820 m.
|
|
821
|
88155
|
822 >> Употребете C-u C-v веднъж или повече пъти, за да докарате този ред
|
|
823 близо до върха на екрана.
|
|
824 >> Въведете C-h m, за да видите как текстовият режим се различава от
|
|
825 основния режим.
|
|
826 >> Въведете C-x 1, за да премахнете документацията от екрана.
|
48672
|
827
|
88155
|
828 Главните режими се наричат главни, защото има и малки (второстепенни)
|
|
829 режими (minor modes). Малките режими не са алтернативи на главните, а
|
|
830 просто малки промени към тях. Всеки малък режим може да бъде включен
|
|
831 или изключен сам за себе си, независимо от всички други малки режими
|
|
832 и независимо от вашия главен режим. Така че може да не използвате
|
|
833 малки режими, да използвате един малък режим, или да използвате
|
|
834 някаква комбинация от няколко малки режима.
|
48672
|
835
|
88155
|
836 Един главен режим, който е много полезен, особено за редактиране на
|
|
837 текст на естествен език, е режимът на автоматично запълване (Auto Fill
|
|
838 mode). Когато този режим е включен, Emacs автоматично разделя реда
|
|
839 при мястото между думите, когато вмъквате текст и направите ред, който
|
|
840 е твърде дълъг.
|
48672
|
841
|
88155
|
842 Може да включите режима на автоматично запълване, като изпълните M-x
|
|
843 auto fill mode<Return>. Когато режимът е включен, може да го
|
|
844 изключите с M-x auto fill mode<Return>. Ако режимът е изключен, тази
|
|
845 команда го включва, а ако е включен, го изключва. Казваме, че
|
|
846 командата "обръща режима".
|
48672
|
847
|
88155
|
848 >> Въведете M-x auto fill mode<Return> сега. След това вмъкнете ред
|
|
849 от "asdf " отново и отново, докато не видите, че текстът се разделя
|
|
850 на два реда. Трябва да слагате интервали между думите, защото
|
|
851 автоматичното запълване разделя редовете само при интервалите.
|
48672
|
852
|
88155
|
853 Границата обикновено е зададена на 70 знака, но можете да я промените
|
|
854 с командата C-x f. Трябва да задавате тази граница като числов
|
|
855 аргумент на командата.
|
48672
|
856
|
88155
|
857 >> Въведете C-x f с аргумент 20. (C-u 2 0 C-x f).
|
|
858 Сега въведете някакъв текст и вижте как Emacs запълва редовете с по
|
|
859 не повече от 20 знака. После върнете обратно границата на 70,
|
|
860 използвайки C-x f отново.
|
48672
|
861
|
88155
|
862 Ако направите промени в средата на абзац, режимът на автоматично
|
|
863 запълване няма да го запълни наново за вас.
|
|
864 За да запълните наново абзац, въвеждайте M-q (META-q), докато курсорът
|
|
865 е вътре в абзаца.
|
48672
|
866
|
88155
|
867 >> Придвижете курсора вътре в предишния абзац и въведете M-q.
|
48672
|
868
|
|
869
|
88155
|
870 * ТЪРСЕНЕ
|
48672
|
871 ---------
|
|
872
|
88155
|
873 Emacs може да извършва търсения на низове (това са последователности
|
|
874 от знаци или думи) или напред в текста, или назад в него. Търсенето
|
|
875 на низ е придвижваща курсора команда; тя премества курсора на
|
|
876 следващото място, където се среща низът.
|
48672
|
877
|
88155
|
878 Командата за търсене на Emacs се различава от командата за търсене на
|
|
879 повечето редактори по това, че тя е "постъпкова". Това означава, че
|
|
880 търсенето се извършва още докато въвеждате текста, който търсите.
|
48672
|
881
|
88155
|
882 Командата за започване на търсене е C-s за търсене напред, и C-r за
|
|
883 търсене назад. НО ПОЧАКАЙТЕ! Не ги пробвайте сега.
|
48672
|
884
|
88155
|
885 Когато въведете C-s, ще забележите, че низът "I-search" се появява
|
|
886 като подсказка в ехо областта. Това ви казва, че Emacs е в това,
|
|
887 което се нарича постъпково търсене, чакайки ви да въвеждате текста,
|
|
888 който искате да търсите. <Return> приключва търсенето.
|
48672
|
889
|
88155
|
890 >> Сега въведете C-s, за да започнете търсенето. БАВНО, буква по
|
|
891 буква, въведете думата "търсене", изчаквайки след въвеждането на
|
|
892 всеки знак, за да може да забележите какво става с курсора. Сега
|
|
893 извършихте търсене на "търсене" веднъж.
|
|
894 >> Въведете отново C-s, за да търсите друго съвпадение с "търсене".
|
|
895 >> Сега въведете <Delback> три пъти и вижте как се придвижва курсора.
|
|
896 >> Въведете <Return>, за да прекратите търсенето.
|
48672
|
897
|
88155
|
898 Забелязахте ли какво стана? Emacs, когато търси постъпково, се опитва
|
|
899 да намери следващото съвпадение на низа, който се въвежда. За да
|
|
900 отидете на следващото съвпадение на "търсне", просто отново въведете
|
|
901 C-s. Ако няма такова съвпадение, Emacs бибипва и ви казва, че
|
|
902 търсенето е "провалено" (failing). C-g също прекратява търсенето.
|
48672
|
903
|
88155
|
904 ЗАБЕЛЕЖКА: На някои системи въвеждането на C-s ще замрази екрана и вие
|
|
905 няма да може да видите повече реакция от Emacs. Това показва, че
|
|
906 "способност" на операционната система, наречена "управление на потока"
|
|
907 (flow control), е прихванала C-s и не го пропуска до Emacs. За да
|
|
908 размразите екрана, въведете C-q. Тогава вижте секцията "Спонтанно
|
|
909 включване на постъпковото търсене" (Spontaneous Entry to Incremental
|
|
910 Search) в ръководството на Emacs за съвет как да се справите с тази
|
|
911 "способност".
|
48672
|
912
|
88155
|
913 Ако сте в средата на постъпково търсене и въведете <Delback>, ще
|
|
914 забележите, че последният знак в търсения низ се изтрива и търсенето
|
|
915 се връща към последното място на търсене. Например, предположете, че
|
|
916 сте въвели "т", за да намерите първото съвпадение с "т". Сега, ако
|
|
917 въведете "ъ", курсорът ще се придвижи към първото съвпадение на "тъ".
|
|
918 Сега въведете <Delback>. Това изтрива знака "ъ" от низа за търсене и
|
|
919 курсорът се премества назад, до първото съвпадение с "т".
|
48672
|
920
|
88155
|
921 Ако сте в средата на търсене и въведете контролен или мета знак (с
|
|
922 няколко изключения -- знаците, които са специални по време на търсене,
|
|
923 като C-s и C-r), търсенето се прекратява.
|
48672
|
924
|
88155
|
925 C-s започва търсене, което гледа за съвпадение с низа, даден за
|
|
926 търсене СЛЕД текущото място на курсора. Ако искате да търсите нещо
|
|
927 по-ранно от текста, вместо това въведете C-r. Всичко, което казахме
|
|
928 за C-s, важи и за C-r, освен че посоката на търсене е обърната.
|
48672
|
929
|
|
930
|
88155
|
931 * МНОЖЕСТВО ПРОЗОРЦИ
|
|
932 --------------------
|
48672
|
933
|
88155
|
934 Една от привлекателните способности на Emacs е тази, че може да
|
|
935 гледате повече от един прозорец на екрана в даден момент от време.
|
48672
|
936
|
88155
|
937 >> Придвижете курсора до този ред и въведете C-u 0 C-l (това е
|
|
938 CONTROL-L, не CONTROL-1).
|
48672
|
939
|
88155
|
940 >> Сега въведете C-x 2, което ще раздели екрана на два отделни
|
|
941 прозореца. Двата прозореца показват това въведение. Курсорът
|
|
942 остава на по-горния прозорец.
|
48672
|
943
|
88155
|
944 >> Въведете C-M-v, за да скролирате долния прозорец. (Ако нямате
|
|
945 истински клавиш META, въведете <ESC> C-v.)
|
48672
|
946
|
88155
|
947 >> Въведете C-x o ("o" от "other" -- "друг"), за да придвижите
|
|
948 курсора в долния прозорец.
|
|
949 >> Използвайте C-v и M-v в долния прозорец, за да го скролирате.
|
|
950 Продължете четенето на тези насоки от въведението в горния
|
|
951 прозорец.
|
48672
|
952
|
88155
|
953 >> Въведете C-x o отново, за да придвижите курсора отново в горния
|
|
954 прозорец. Курсорът в горния прозорец е точно там, където е бил
|
|
955 преди.
|
48672
|
956
|
88155
|
957 Може да продължите да използвате C-x o, за да превключвате между
|
|
958 прозорците. Всеки прозорец има собствено място на курсора, но само
|
|
959 един прозорец показва курсор. Всички обикновени команди за
|
|
960 редактиране се прилагат в прозореца, в който е курсорът. Ние наричаме
|
|
961 този прозорец "текущ прозорец".
|
48672
|
962
|
88155
|
963 Командата C-M-v е много полезна, когато редактирате текст в един
|
|
964 прозорец и използвате другия прозорец просто за справка. Може да
|
|
965 държите курсора винаги в прозореца, където редактирате, и да
|
|
966 напредвате последователно в другия прозорец чрез C-M-v.
|
48672
|
967
|
88155
|
968 C-M-v е пример за знак CONTROL-META. Ако имате истински клавиш META,
|
|
969 може да въвеждате C-M-v, задържайки едновременно CONTROL и META,
|
|
970 докато въвеждате v. Няма значение дали CONTROL или META "е натиснат
|
|
971 първи", защото и двата клавиша действат, модифицирайки знака, който
|
|
972 сте въвели.
|
48672
|
973
|
88155
|
974 Ако нямате истински клавиш META и използвате <ESC> вместо това, редът
|
|
975 има значение: трябва да въвеждате <ESC>, последван от CONTROL-v,
|
|
976 защото CONTROL-<ESC> v няма да работи. Това е така, защото <ESC> е
|
|
977 собствен знак, а не модификатор.
|
48672
|
978
|
88155
|
979 >> Въведете C-x 1 (в горния прозорец), за да махнете долния прозорец.
|
48672
|
980
|
88155
|
981 (Ако сте въвели C-x 1 в долния прозорец, това ще махне горния.
|
|
982 Мислете за тази команда като "Задръж точно един прозорец -- този, в
|
|
983 който съм сега".)
|
48672
|
984
|
88155
|
985 Няма нужда да извеждате един и същи буфер в двата прозореца. Ако
|
|
986 използвате C-x C-f, за да намерите файл в единия прозорец, другият
|
|
987 прозорец не се променя. Може да намирате файл във всеки прозорец,
|
|
988 независимо от това какво има в другите прозорци.
|
48672
|
989
|
88155
|
990 Ето още един начин да използвате два прозореца, за да покажете две
|
|
991 различни неща:
|
48672
|
992
|
88155
|
993 >> Въведете C-x 4 C-f, последвано от името на един от вашите файлове.
|
|
994 Завършете с <Return>. Вижте как този файл се появява в долния
|
|
995 прозорец. Курсорът също отива там.
|
48672
|
996
|
88155
|
997 >> Въведете C-x o, за да се върнете в горния прозорец, и C-x 1, за да
|
|
998 изтриете долния.
|
48672
|
999
|
|
1000
|
88155
|
1001 * ВЛОЖЕНИ НИВА НА РЕДАКТИРАНЕ
|
|
1002 -----------------------------
|
48672
|
1003
|
88155
|
1004 Понякога ще се озовете в това, което се нарича "вложено ниво на
|
|
1005 редактиране" (recursive editing level). Това се отбелязва от
|
|
1006 квадратни скоби в реда на режима, които ограждат скобите около името
|
|
1007 на главния режим. Например, може да видите [(Fundamental)] вместо
|
48672
|
1008 (Fundamental).
|
|
1009
|
88155
|
1010 За да се махнете от вложеното ниво на редактиране, въведете <ESC>
|
|
1011 <ESC> <ESC>. Това е обща команда за "излизане". Може и да я
|
|
1012 използвате за махане (скриване) на допълнителни прозорци, както и за
|
|
1013 да се махнете от минибуфера.
|
48672
|
1014
|
88155
|
1015 >> Въведете M-x, за да влезете в минибуфер; тогава въведете <ESC> <ESC>
|
|
1016 <ESC>, за да излезете.
|
48672
|
1017
|
88155
|
1018 Не можете да използвате C-g, за да излезете от вложено ниво на
|
|
1019 редактиране. Това е така, защото C-g се използва за прекратяване на
|
|
1020 команди и аргументи ВЪТРЕ във вложено ниво на редактиране.
|
48672
|
1021
|
|
1022
|
88155
|
1023 * ПОЛУЧАВАНЕ НА ДОПЪЛНИТЕЛНА ПОМОЩ
|
48672
|
1024 ----------------------------------
|
|
1025
|
88155
|
1026 В това въведение се опитахме да осигурим достатъчно информация, за да
|
|
1027 започнете да използвате Emacs. Има толкова много още в Emacs, че не е
|
|
1028 възможно то да бъде обяснено всичкото тук. Обаче може да поискате да
|
|
1029 научите повече за Emacs, тъй като той притежава още много полезни
|
|
1030 способности. Emacs има команди за четене на документацията на Emacs
|
|
1031 командите. Тези "помощни" команди всички започват със знака
|
|
1032 CONTROL-h, който се нарича "знакът за помощ".
|
48672
|
1033
|
88155
|
1034 За да използвате възможностите на тази помощ, въведете знака C-h и
|
|
1035 след това знака, казващ какъв вид помощ искате. Ако НАИСТИНА сте се
|
|
1036 изгубили, въведете C-h ? и Emacs ще ви каже с какво може да ви
|
|
1037 помогне. Ако сте въвели C-h и решите, че не се нуждаете от помощ,
|
|
1038 просто въведете C-g, за да я прекратите.
|
48672
|
1039
|
88155
|
1040 (Някои компютри променят значението на знака C-h. Те наистина не
|
|
1041 трябва да правят това като сляпа мярка за всички потребители, така че
|
|
1042 имате основание да се оплачете на системния администратор. Между
|
|
1043 другото, ако C-h не извежда съобщение за помощ в дъното на екрана,
|
|
1044 опитайте клавиша F1 или M-x help <Return> вместо това.)
|
48672
|
1045
|
88155
|
1046 Най-основното помощно средство е C-h c. Въведете C-h, знака c и
|
|
1047 команден знак или последователност от знаци, образуващи команда;
|
|
1048 тогава Emacs ще изведе много кратко описание на командата.
|
48672
|
1049
|
|
1050 >> Type C-h c C-p.
|
88155
|
1051
|
|
1052 Изведеното описание трябва да бъде нещо като
|
48672
|
1053
|
|
1054 C-p runs the command previous-line
|
88155
|
1055 (C-p изпълнява командата предишен-ред)
|
48672
|
1056
|
88155
|
1057 Това ви казва "името на функцията". Имената на функциите се използват
|
|
1058 най-вече за настройване и разширяване на Emacs. Но тъй като имената
|
|
1059 на функциите са избрани така, че да показват какво прави командата, те
|
|
1060 могат да служат и за много кратка документация -- достатъчна, за да ви
|
|
1061 припомни команди, които вече сте учили.
|
48672
|
1062
|
88155
|
1063 Многознакови команди, като C-x C-s и (ако нямате клавиш META или EDIT
|
|
1064 или ALT) <ESC>v, също са позволени след C-h c.
|
48672
|
1065
|
88155
|
1066 За да получите още информация за команда, използвайте C-h k вместо C-h
|
48672
|
1067 c.
|
|
1068
|
88155
|
1069 >> Въведете C-h k C-p.
|
48672
|
1070
|
88155
|
1071 Това извежда документацията на функцията, както и нейното име, в
|
|
1072 отделен Emacs прозорец. Когато я прочетете, въведете C-x 1, за да
|
|
1073 махнете помощния текст. Не е нужно да правите това точно сега. Може
|
|
1074 да редактирате, докато се обръщате към помощния текст за справка, и
|
|
1075 след това да въведете C-x 1.
|
48672
|
1076
|
88155
|
1077 Ето още няколко полезни C-h възможности:
|
48672
|
1078
|
88155
|
1079 C-h f Описва функция. Трябва да въведете името на
|
|
1080 функцията.
|
48672
|
1081
|
88155
|
1082 >> Опитайте с въвеждане на C-h f previous-line<Return>.
|
|
1083 Това извежда цялата информация, която Emacs знае за функцията,
|
|
1084 която осъществява командата C-p.
|
48672
|
1085
|
88155
|
1086 Подобна команда, C-h v, извежда документацията на променливите, които
|
|
1087 може да променяте, за да настройвате поведението на Emacs. Трябва да
|
|
1088 въведете името на променливата, когато Emacs ви подскаже това.
|
48672
|
1089
|
88155
|
1090 C-h a Команда Апропос. Въведете ключова дума и Emacs ще
|
|
1091 покаже списък на всички команди, чието име съдържа
|
|
1092 тази ключова дума. Тези команди могат всички да бъдат
|
|
1093 извикани чрез META-x. За някои команди командата
|
|
1094 Апропос ще изведе допълнително еднознакова или
|
|
1095 двузнакова последователност от клавиши, която пуска
|
|
1096 същата команда.
|
48672
|
1097
|
88155
|
1098 >> Въведете C-h a file<Return>.
|
48672
|
1099
|
88155
|
1100 Това извежда в друг прозорец списък на всички M-x команди, които
|
|
1101 съдържат "file" в тяхното име. Ще видите знакови команди като C-x
|
|
1102 C-f, изброени измежду съответните имена на команди, като find-file.
|
48672
|
1103
|
88155
|
1104 >> Въведете C-M-v, за да скролирате помощния прозорец. Направете го
|
|
1105 няколко пъти.
|
48672
|
1106
|
88155
|
1107 >> Въведете C-x 1, за да изтриете помощния прозорец.
|
48672
|
1108
|
88155
|
1109 C-h i Четене на ръководства (Info). Тази команда ви праща в
|
|
1110 специален буфер, наричан "*info*", където може да
|
|
1111 четете ръководствата на инсталираните във вашата
|
|
1112 система пакети. Въведете m emacs <Return>, за да
|
|
1113 четете ръководството на Emacs. Ако никога преди това
|
|
1114 не сте използвали Info, въведете ? и Emacs ще включи
|
|
1115 въведение във възможностите на режима Инфо. Веднъж
|
|
1116 след като сте преминали това въведение, трябва да се
|
|
1117 консултирате с Emacs Инфо ръководството като ваша
|
|
1118 основна документация.
|
48672
|
1119
|
|
1120
|
88155
|
1121 * ОЩЕ ВЪЗМОЖНОСТИ
|
48672
|
1122 -----------------
|
|
1123
|
88155
|
1124 Може да научите повече за Emacs с четене на неговото ръководство, или
|
|
1125 като книга, или в Инфо (използвайте менюто помощ (Help) или въведете
|
|
1126 F10 h r). Две възможности, които може да желаете в началото, са
|
|
1127 довършване (completion), което спестява писане, и dired, който
|
|
1128 опростява боравенето с файлове.
|
48672
|
1129
|
88155
|
1130 Довършването е начин да избягвате ненужно писане. Например, ако
|
|
1131 искате да превключите към буфера *Messages*, може да въведете C-x b
|
|
1132 *M<Tab> и Emacs ще запълни останалата част от името на буфера,
|
|
1133 доколкото може да се определи от това, което сте въвели. Довършването
|
|
1134 е описано в Инфо-ръководството на Emacs в страницата "Довършване"
|
48672
|
1135 ("Completion").
|
|
1136
|
88155
|
1137 Dired ви позволява да гледате списъка от файлове в директория (и като
|
|
1138 възможност: нейните поддиректории), да се придвижвате в този списък,
|
|
1139 да посещавате, преименувате, изтривате и изобщо действате върху
|
|
1140 файловете. Dired е описан в Инфо-ръководството на Emacs в страницата
|
48672
|
1141 "Dired".
|
|
1142
|
88155
|
1143 Ръководството на Emacs описва още много други възможности на
|
|
1144 редактора.
|
48672
|
1145
|
|
1146
|
88155
|
1147 * ЗАКЛЮЧЕНИЕ
|
48672
|
1148 ------------
|
|
1149
|
88155
|
1150 Запомнете: за да излезете безвъзвратно от Emacs, използвайте C-x C-c.
|
|
1151 За да излезете временно в обвивка, така че да се върнете в Emacs
|
|
1152 по-късно, използвайте C-z.
|
48672
|
1153
|
88155
|
1154 Това въведение е предвидено да бъде разбираемо за всички нови
|
|
1155 потребители, така че ако намирате нещо неясно, не се самообвинявайте
|
|
1156 -- оплачете се!
|
48672
|
1157
|
|
1158
|
88155
|
1159 * КОПИРАНЕ
|
48672
|
1160 ----------
|
|
1161
|
88155
|
1162 Това въведение произлиза от дълга поредица въведения в Emacs,
|
|
1163 започвайки от едно, написано от Стюърт Кракрафт за началния Emacs.
|
48672
|
1164
|
88155
|
1165 Тази версия на въведението, както и GNU Emacs, е защитена с авторски
|
|
1166 права и идва с разрешение да разпространявате копия при следните
|
|
1167 условия:
|
48672
|
1168
|
|
1169 This version of the tutorial, like GNU Emacs, is copyrighted, and
|
|
1170 comes with permission to distribute copies on certain conditions:
|
|
1171
|
88155
|
1172 Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004,
|
|
1173 2005 Free Software Foundation, Inc.
|
48672
|
1174
|
|
1175 Permission is granted to anyone to make or distribute verbatim copies
|
|
1176 of this document as received, in any medium, provided that the
|
|
1177 copyright notice and permission notice are preserved,
|
|
1178 and that the distributor grants the recipient permission
|
|
1179 for further redistribution as permitted by this notice.
|
|
1180
|
|
1181 Permission is granted to distribute modified versions
|
|
1182 of this document, or of portions of it,
|
|
1183 under the above conditions, provided also that they
|
|
1184 carry prominent notices stating who last altered them.
|
|
1185
|
88155
|
1186 Условията за копиране на самия Emacs са по-сложни, но в същия дух.
|
|
1187 Моля, прочетете файла COPYING и тогава давайте копия на GNU Emacs на
|
|
1188 свои приятели. Помогнете да спрем затвореността на програмите
|
|
1189 ("притежанието"), като използваме, пишем и споделяме свободен софтуер!
|
48672
|
1190
|
88155
|
1191 Преводът на български е извършен от Огнян Кулев
|
48672
|
1192 <ogi@fmi.uni-sofia.bg>.
|
|
1193
|
|
1194 ;;; Local Variables:
|
88155
|
1195 ;;; coding: windows-1251
|
|
1196 ;;; End:
|
|
1197 ;;; arch-tag: 70cf6ad7-c2e4-41fe-8199-74aa52683b0e
|