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