mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-03 08:30:09 +00:00
1151 lines
82 KiB
Plaintext
1151 lines
82 KiB
Plaintext
Посібник Emacs. Умови копіювання в кінці.
|
||
|
||
Команди Emacs передбачають використання клавіші CONTROL (часто
|
||
підписаної CTRL чи CTL) або клавіші META (зазвичай підписаної ALT).
|
||
Щоб не писати цього щоразу повністю, використовуємо такі скорочення:
|
||
|
||
C-<симв> означає затиснути клавішу CONTROL і натиснути клавішу
|
||
<симв>. Тобто C-f — це затиснути CONTROL і натиснути f.
|
||
|
||
M-<симв> означає затиснути клавішу META чи ALT і натиснути <симв>.
|
||
Якщо не маєте клавіші META чи ALT, натисніть по черзі
|
||
клавіші ESC та <симв>. Клавішу ESC ми позначаємо <ESC>.
|
||
|
||
Щоб редагувати український текст в Emacs, перемкніться на англійську
|
||
розкладку й наберіть C-\ — це активує український режим введення
|
||
Emacs, у якому працюватимуть як слід усі описані в посібнику команди.
|
||
Щоб знову вводити англійські символи, повторіть C-\.
|
||
|
||
Зауважте: щоб завершити сеанс Emacs, наберіть C-x C-c. (Два символи.)
|
||
Щоб скасувати частково введену команду, наберіть C-g. Щоб закрити
|
||
посібник, наберіть C-x k, а тоді при запиті натисніть <Return> (цю
|
||
клавішу може бути підписано Enter). Абзаци, що містять „»»“ на
|
||
початку, — це вказівки, які вам слід виконати, щоб спробувати
|
||
використати ту чи іншу команду. Наприклад:
|
||
<<Програма help-with-tutorial огортає наступний рядок відступами>>
|
||
[Кілька навмисне порожніх рядків. Скоро зрозумієте, навіщо.]
|
||
»» Прямо зараз наберіть C-v (view — переглянути), щоб прогорнути
|
||
посібник униз. (Затисніть клавішу CONTROL і наберіть v.)
|
||
Робіть так щоразу, коли дочитуєте до кінця екрана.
|
||
|
||
Як бачите, гортається не цілий екран, а на два рядки менше; це
|
||
допомагає не губитись, коли читаєте довгі тексти.
|
||
|
||
Це одноразова, трошки адаптована спеціально для вас копія тексту
|
||
посібника Emacs. Будемо пропонувати вам випробовувати прямо на цьому
|
||
тексті різні команди, які його змінюватимуть. Якщо зміните цей текст
|
||
самостійно навіть без наших вказівок — чудово, це називається
|
||
«редагування» й саме для цього створено Emacs.
|
||
|
||
Перш за все навчимось пересуватися текстом. Ви вже знаєте, як
|
||
прогорнути один екран уперед: C-v. Прогорнути один екран назад — це
|
||
M-v (затисніть клавішу META й наберіть v — або наберіть <ESC>v, якщо
|
||
не маєте ні клавіші META, ні клавіші ALT).
|
||
|
||
»» Спробуйте набрати M-v й тоді C-v кілька разів по черзі.
|
||
|
||
Якщо знаєте інші способи гортати текст, то можете, звісно,
|
||
застосовувати і їх.
|
||
|
||
* ПІДСУМОК
|
||
----------
|
||
|
||
Наступні команди допомагають гортати екрани тексту:
|
||
|
||
C-v (View — переглянути.)
|
||
Перейти на наступний екран.
|
||
|
||
M-v Перейти на попередній екран.
|
||
|
||
C-l (Clear — очистити.)
|
||
Очистити екран і вивести текст заново, центруючи екран
|
||
на тексті біля курсора. (Це CONTROL-L, не CONTROL-1.)
|
||
|
||
»» Знайдіть курсор і зверніть увагу, який біля нього текст. Наберіть
|
||
C-l. Знайдіть, куди змістився курсор, і зауважте, що біля курсора
|
||
досі той самий текст, просто він тепер у центрі екрана. Якщо знов
|
||
натиснете C-l, цей самий текст посунеться догори екрана. Натисніть
|
||
C-l іще раз, і він посунеться донизу.
|
||
|
||
Можете також гортати екрани клавішами PageUp і PageDn, якщо ваш
|
||
термінал їх має. Але з C-v та M-v ви редагуватимете спритніше.
|
||
|
||
* ОСНОВИ КЕРУВАННЯ КУРСОРОМ
|
||
---------------------------
|
||
|
||
Гортати екран за екраном — це вже непогано, але як перейти до
|
||
конкретного місця в тексті на екрані?
|
||
|
||
Є кілька способів. Можна рухатись клавішами стрілок, але зручніше
|
||
тримати руки в стандартному положенні й використовувати команди C-p
|
||
(previous — попередній), C-b (backward — назад), C-f (forward —
|
||
уперед) і C-n (next — наступний). Ці символи рівнозначні
|
||
чотирьом клавішам стрілок:
|
||
|
||
Попередній рядок, C-p
|
||
:
|
||
:
|
||
Назад, C-b .... Де курсор зараз .... Уперед, C-f
|
||
:
|
||
:
|
||
Наступний рядок, C-n
|
||
|
||
»» Посуньте курсор до рядка посередині рисунка вгорі за допомогою C-n
|
||
та C-p. Тоді наберіть C-l, щоб центрувати екран на рисунку.
|
||
|
||
Літери в скороченнях Emacs легко запам'ятати за відповідними їм
|
||
англійськими словами, як зазначено вгорі. Ці основні команди руху
|
||
курсора ви будете використовувати весь час.
|
||
|
||
»» Наберіть C-n кілька разів, щоб посунути курсор до цього рядка.
|
||
|
||
»» Посуньте курсор до якого-небудь слова в рядку, набравши C-f
|
||
декілька разів, а тоді поверніться вгору кількома натисками C-p.
|
||
Зауважте, як C-p поводиться, коли курсор не на початку рядка.
|
||
|
||
Кожен рядок тексту закінчується символом нового рядка: цей символ
|
||
технічно відділяє рядок від наступного. (Зазвичай останній рядок у
|
||
файлі теж закінчується символом нового рядка, проте Emacs цього не
|
||
вимагає.)
|
||
|
||
»» Спробуйте C-b на початку рядка. Курсор має зміститись у кінець
|
||
попереднього рядка, бо рух назад (backward) «проїде» по символу
|
||
нового рядка.
|
||
|
||
C-f — рух уперед (forward) — уміє «їздити» по символах нового рядка
|
||
так само, як і C-b.
|
||
|
||
»» Наберіть C-b іще кілька разів, щоб відчути, яким чином рухається
|
||
курсор. Тоді поверніться в кінець того рядка, з якого почали рух:
|
||
кілька разів наберіть C-f. Тоді перейдіть іще одним C-f до
|
||
наступного рядка.
|
||
|
||
Коли ваш рух перетинає верх чи низ екрана, текст із-за краю
|
||
посувається на екран. Це називається «гортання», або scrolling.
|
||
Таким чином курсор, куди б у тексті ви його не спрямували, залишається
|
||
в межах екрана Emacs.
|
||
|
||
»» Спробуйте посунути курсор за нижню межу екрана кількома натисками
|
||
C-n — і зверніть увагу на поведінку.
|
||
|
||
Коли рухатися символами надто повільно, рухайтеся словами. M-f
|
||
(META-f) посуває курсор через ціле слово вперед (forward), а M-b —
|
||
через слово назад (backward).
|
||
|
||
»» Наберіть M-f і M-b по кілька разів.
|
||
|
||
Коли ви посеред слова, M-f посуває курсор до кінця слова. Коли ви на
|
||
пробілі, M-f посуває курсор у кінець наступного слова. M-b працює
|
||
аналогічно в зворотному напрямі.
|
||
|
||
»» Наберіть іще кілька M-f і M-b, розділяючи їх натисками C-f і C-b,
|
||
щоб поспостерігати за поведінкою M-f і M-b залежно від перебування
|
||
курсора в різних місцях усередині слів і між словами.
|
||
|
||
Простежте паралелі між C-f і C-b з одного боку та M-f і M-b з іншого.
|
||
Часто Meta-символи використовуються для роботи з одиницями,
|
||
визначеними мовою: зі словами, реченнями, абзацами. Тоді як
|
||
Control-символи працюють із низькорівневими одиницями, без огляду на
|
||
редаговане середовище: з символами, рядками тощо.
|
||
|
||
Ця паралель стосується також рядків і речень: C-a та C-e посувають до
|
||
початку чи кінця рядка, тоді як M-a та M-e посувають до початку чи
|
||
кінця речення.
|
||
|
||
»» Наберіть C-a кілька разів, тоді наберіть C-e кілька разів.
|
||
Наберіть M-a кілька разів, тоді наберіть M-e кілька разів.
|
||
|
||
Зверніть увагу на те, як повторні натиски C-a не викликають нових
|
||
рухів, а от повтори M-a щоразу рухають вас на одне речення назад.
|
||
Поведінка дещо різна, втім природна для кожного контексту.
|
||
|
||
Координати курсора в тексті називаються «точкою». Іншими словами,
|
||
курсор позначає на екрані поточну точку в тексті.
|
||
|
||
Ось підсумок простих операцій посування курсора, зокрема команд руху
|
||
словами й реченнями:
|
||
|
||
C-f (Forward — уперед.) Перейти на символ уперед
|
||
C-b (Backward — назад.) Перейти на символ назад
|
||
|
||
M-f Перейти на слово вперед
|
||
M-b Перейти на слово назад
|
||
|
||
C-n (Next — наступний.) До наступного рядка
|
||
C-p (Previous — попередній.) До попереднього рядка
|
||
|
||
C-a (Alpha — початок.) Перейти на початок рядка
|
||
C-e (End — кінець.) Перейти в кінець рядка
|
||
|
||
M-a Перейти назад на початок речення
|
||
M-e Перейти вперед у кінець речення
|
||
|
||
»» Випробуйте всі ці команди по кілька разів для практики.
|
||
Ними ви користуватиметесь частіше за всі інші.
|
||
|
||
Дві інші важливі команди руху курсора — це M-< (META-менше), яка веде
|
||
на початок усього тексту, й M-> (META-більше), яка веде в кінець
|
||
усього тексту.
|
||
|
||
На більшості терміналів знак „<“ — над латинською комою, тобто ви
|
||
затискаєте SHIFT, щоб його набрати. Відповідно M-< означає затиск не
|
||
лише клавіші META, а ще й клавіші SHIFT. Без SHIFT вийде M-кома.
|
||
|
||
»» Спробуйте М-< зараз, щоб перейти на початок посібника.
|
||
Тоді кілька разів наберіть C-v, щоб повернутись сюди.
|
||
|
||
»» Спробуйте М-> зараз, щоб перейти в кінець посібника.
|
||
Тоді кілька разів наберіть M-v, щоб повернутись сюди.
|
||
|
||
Можете також рухати курсор клавішами стрілок, якщо ваш термінал має
|
||
такі клавіші. Втім, радимо опанувати C-b, C-f, C-n і C-p з трьох
|
||
причин. По-перше, вони працюють на будь-яких терміналах. По-друге,
|
||
практикуючи використання Emacs, ви невдовзі виявите, що набирати ці
|
||
Control-символи швидше, ніж набирати стрілки (бо вам не доводиться
|
||
зсувати руки з набірного положення). По-третє, щойно ви звикнете до
|
||
використання цих команд із Control-символами, вам стане легко
|
||
опанувати й інші розширені команди посування курсора.
|
||
|
||
Більшість команд Emacs приймають числовий аргумент; для більшості
|
||
команд він означає кількість повторів. Щоб передати команді кількість
|
||
повторів, набирайте C-u і цифри, перш ніж набрати команду. Якщо маєте
|
||
клавішу META (чи ALT), то маєте й інший, альтернативний шлях увести
|
||
числовий аргумент: наберіть цифри, затиснувши клавішу META. Радимо
|
||
опанувати шлях C-u, бо він працює на будь-яких терміналах. Числовий
|
||
аргумент також називається «префіксним аргументом», бо ви набираєте
|
||
його перед відповідною йому командою.
|
||
|
||
Наприклад, C-u 8 C-f посуває курсор на вісім символів уперед.
|
||
|
||
»» Спробуйте використати C-n чи C-p з числовим аргументом, щоб
|
||
посунути курсор до рядка поруч із цим рядком єдиною командою.
|
||
|
||
Числовий аргумент означає для більшості команд кількість повторів, але
|
||
деякі команди використовують його інакше. Декілька команд (але не ті,
|
||
які вам уже відомі) використовують його як прапор: коли передаєте їм
|
||
префіксний аргумент, це незалежно від значення змушує команду робити
|
||
щось нетипове.
|
||
|
||
C-v та M-v також є винятком. За наявності аргументу вони гортають
|
||
текст угору чи вниз на означену ним кількість рядків, а не на цілий
|
||
екран. Наприклад, C-u 8 C-v прокручує 8 рядків.
|
||
|
||
»» Спробуйте набрати C-u 8 C-v прямо зараз.
|
||
|
||
Це мало прогорнути текст на 8 рядків угору. Якщо бажаєте прогорнути
|
||
його знов донизу, передайте аргумент команді M-v.
|
||
|
||
Якщо ви користуєтесь графічним середовищем, наприклад X чи MS-Windows,
|
||
то з одного боку вікна Emacs має бути висока прямокутна область, яка
|
||
називається панеллю гортання. Можете гортати текст, натискаючи панель
|
||
гортання кнопкою миші.
|
||
|
||
Якщо у вашої миші є колесо гортання, можете гортати й ним.
|
||
|
||
|
||
* ЯКЩО EMACS НЕ ВІДПОВІДАЄ
|
||
--------------------------
|
||
|
||
Якщо Emacs перестає відповідати на ваші команди, можете дати йому
|
||
копняка, набравши C-g. Використовуйте C-g, щоб припинити команду, яка
|
||
виконується надто довго.
|
||
|
||
Також використовуйте C-g, щоб відхилити числовий аргумент або початок
|
||
команди, яку передумали дописувати.
|
||
|
||
»» Наберіть C-u 100, щоб зазначити числовий аргумент «100». Наберіть
|
||
C-g. Тепер наберіть C-f. Курсор має посунутись лише на один
|
||
символ, бо ви скасували аргумент набранням C-g.
|
||
|
||
Ненароком набравши <ESC>, можете позбутись і його за допомогою C-g.
|
||
|
||
|
||
* ВИМКНЕНІ КОМАНДИ
|
||
------------------
|
||
|
||
Деякі команди Emacs усталено «вимкнені», щоб не плутати користувачок і
|
||
користувачів, які лише починають його вивчати.
|
||
|
||
Коли ви набираєте ту чи іншу вимкнену команду, Emacs показує її назву
|
||
й запитує, чи точно ви бажаєте виконати цю команду.
|
||
|
||
Якщо ви справді бажаєте спробувати команду, наберіть <SPC> (пробіл) у
|
||
відповідь на запитання. Зазвичай, не бажаючи виконувати вимкнену
|
||
команду, відповідайте на це питання «n».
|
||
|
||
»» Наберіть C-x C-l (цю команду вимкнено), а тоді наберіть n у
|
||
відповідь на запитання.
|
||
|
||
|
||
* WINDOWS
|
||
---------
|
||
|
||
Emacs може мати кілька «вікон» — кожне зі своїм текстом. Згодом
|
||
пояснимо, як використовувати декілька вікон одразу. Поки що слід
|
||
розібратись, як позбутись зайвих вікон і повернутись до простого
|
||
редагування в одному вікні. Це просто:
|
||
|
||
C-x 1 Одне вікно (тобто припинити всі інші вікна).
|
||
|
||
Це означає набір CONTROL-x і цифри 1. C-x 1 розширює вікно, яке
|
||
містить курсор, на весь екран, і видаляє всі інші вікна.
|
||
|
||
»» Посуньте курсор до цього рядка й наберіть C-u 0 C-l. Тоді наберіть
|
||
C-h k C-f. Це вікно звузиться, й з'явиться нове вікно, в якому
|
||
буде показано документацію про команду C-f.
|
||
|
||
»» Наберіть C-x 1 — вікно документації зникне.
|
||
|
||
Є цілі набори команд, які починаються з CONTROL-x; більшість із них
|
||
стосуються вікон, файлів, буферів тощо. Ці команди містять два, три
|
||
або чотири символи.
|
||
|
||
|
||
* ВВЕДЕННЯ Й ВИДАЛЕННЯ
|
||
----------------------
|
||
|
||
Якщо бажаєте ввести текст, просто наберіть цей текст. Звичайні
|
||
символи, такі як A, 7, * тощо, вводяться прямо при набранні. Аби
|
||
ввести символ нового рядка, натисніть <Return> (ця клавіша на
|
||
клавіатурі часом підписана «Enter»).
|
||
|
||
Щоб видалити символ перед курсором, наберіть <DEL>. Ця клавіша на
|
||
клавіатурі зазвичай підписана «Backspace» — та сама, якою за межами
|
||
Emacs ви зазвичай видаляєте останній набраний символ.
|
||
|
||
На клавіатурі зазвичай є ще одна клавіша з підписом <Delete>, але в
|
||
Emacs ми позначаємо <DEL> не її.
|
||
|
||
»» Прямо зараз наберіть кілька символів, а тоді видаліть їх, набравши
|
||
<DEL> кілька разів. Сміливо змінюйте цей файл; оригінал посібника
|
||
залишиться недоторканим. Це ваша особиста одноразова копія.
|
||
|
||
Коли рядок тексту завеликий для одного рядка на екрані, цей рядок
|
||
тексту «продовжується» на ще один екранний рядок. Якщо ви
|
||
користуєтесь графічним середовищем, на кожному боці текстової області
|
||
(на лівому й правому «полях») з'являються маленькі вигнуті стрілки —
|
||
позначки, де було продовжено той чи інший рядок. Якщо ви користуєтесь
|
||
текстовим терміналом, продовжений рядок позначається оберненою скісною
|
||
рискою («\») в крайній правій колонці екрана.
|
||
|
||
»» Вводьте текст, доки не сягнете правого поля, а тоді вводьте ще.
|
||
Побачите, як з'явиться рядок продовження.
|
||
|
||
»» Натискайте <DEL> раз за разом, щоб видаляти символи, доки рядок
|
||
тексту не вміститься знову в один екранний рядок. Рядок
|
||
продовження зникне.
|
||
|
||
Символ нового рядка можете видалити так само, як будь-який інший.
|
||
Видалення символу нового рядка між двома рядками зливає їх в один
|
||
рядок. Якщо в результаті сполучений рядок ширший, ніж екран, то його
|
||
буде показано з рядком продовження.
|
||
|
||
»» Посуньте курсор на початок рядка й наберіть <DEL>. Це
|
||
зіллє той рядок із попереднім.
|
||
|
||
»» Наберіть <Return>, щоб відновити символ нового рядка на місці щойно
|
||
видаленого.
|
||
|
||
Клавіша <Return> особлива тим, що її натиск може не лише вводити
|
||
символ нового рядка. Залежно від навколишнього тексту, її натиск може
|
||
ввести пробіли після символу нового рядка таким чином, щоб текст у
|
||
новоствореному рядку одразу вирівнювався відносно тексту попереднього
|
||
рядка. Ми називаємо цю поведінку (складнішу дію клавіші, ніж просто
|
||
введення відповідного символу) «електричною».
|
||
|
||
»» Щоб побачити електричну поведінку <Return>,
|
||
наберіть <Return> у кінці цього рядка.
|
||
|
||
Простежте, як при введенні символу нового рядка Emacs вводить пробіли
|
||
таким чином, що курсор опиняється під «н» слова «наберіть».
|
||
|
||
Пам'ятайте, більшості команд Emacs можливо передати кількість
|
||
повторень; це стосується й текстових символів. Повторення текстового
|
||
символу вводить цей символ декілька разів.
|
||
|
||
»» Спробуйте зараз набрати C-u 8 *, аби ввести ********.
|
||
|
||
Ви опанували основний спосіб набрати щось в Emacs і виправити помилки.
|
||
Також можна видаляти цілі слова й рядки. Ось підсумок операцій
|
||
видалення:
|
||
|
||
<DEL> Видалити символ перед курсором
|
||
C-d (Delete — видалити.) Видалити символ після курсора
|
||
|
||
M-<DEL> Вирізати слово перед курсором
|
||
M-d Вирізати слово після курсора
|
||
|
||
C-k (Kill — вирізати.) Вирізати з рядка все після курсора
|
||
M-k Вирізати з речення все після курсора
|
||
|
||
Зважте на те, як <DEL> і C-d продовжують щодо M-<DEL> і M-d паралелі,
|
||
розпочаті C-f і M-f (технічно <DEL> не є керівним символом, але зараз
|
||
це несуттєво). C-k та M-k подібні до C-e та M-e тим, як вони працюють
|
||
із рядками й реченнями відповідно.
|
||
|
||
Є також спосіб вирізати одразу багато тексту. Перейдіть на початок чи
|
||
в кінець потрібної частини тексту й натисніть C-<SPC>. (<SPC> —
|
||
пробіл.) Тоді посуньте курсор на інший край частини тексту, яку
|
||
бажаєте вирізати. Коли ви це робитимете, Emacs підсвітить текст між
|
||
курсором і тим місцем, де ви набрали C-<SPC>. Нарешті наберіть C-w
|
||
(whole — повністю). Це повністю виріже позначений текст.
|
||
|
||
»» Посуньте курсор до «Є» на початку попереднього абзацу.
|
||
»» Введіть C-<SPC>. Emacs має показати повідомлення «Mark set»
|
||
(«Позначку встановлено») внизу екрана.
|
||
»» Посуньте курсор до «п» в слові «потрібної» другого рядка абзацу.
|
||
»» Наберіть C-w. Це виріже текст від «Є» включно до «п» не включно.
|
||
Якби ви набрали M-w, це його лише скопіювало б.
|
||
|
||
Вирізання й видалення відрізняються тим, що вирізаний текст можливо
|
||
вставити (будь-куди), тоді як видалене вставити неможливо (втім,
|
||
можливо скасувати видалення — про це згодом). Вставка, так би мовити,
|
||
виймає (yank) раніше вилучений текст. Зазвичай усі команди, які
|
||
вилучають багато тексту, вирізають його (їх налаштовано таким чином,
|
||
щоб ви могли потім вставити цей текст); а от команди, які вилучають
|
||
лише один символ або порожні рядки чи пробіли, просто їх видаляють
|
||
(без можливості вставлення). <DEL> і C-d без аргументу здійснюють
|
||
видалення. За наявності аргументу вони вирізають.
|
||
|
||
»» Посуньте курсор на початок рядка, в якому є символи.
|
||
Тоді наберіть C-k, щоб вирізати текст у цьому рядку.
|
||
»» Наберіть C-k іще раз. Це виріже той символ нового рядка,
|
||
що завершує цей рядок.
|
||
|
||
Зауважте, перший C-k вирізає вміст рядка, а другий C-k вирізає сам
|
||
рядок і зсуває догори всі наступні рядки. C-k із числовим аргументом
|
||
працює інакше: вирізає водночас вміст і самі рядки. Це не просто
|
||
повторення. C-u 2 C-k вирізає два рядки разом із їхніми символами
|
||
нового рядка; набравши C-k двічі, ви отримаєте інший результат.
|
||
|
||
Можете вставити вирізаний текст туди ж, звідки його вирізали, або до
|
||
певного іншого місця в редагованому тексті — навіть в інший файл.
|
||
Можете вставляти один і той самий текст кілька разів; це створить
|
||
кілька його копій. Англійською вирізання називають «kill» або «cut»,
|
||
виймання (вставку) — «yank» або «paste»; перегляньте згодом глосарій у
|
||
підручнику Emacs.
|
||
|
||
Команда C-y вставляє останній вирізаний текст туди, де зараз курсор.
|
||
|
||
»» Спробуйте набрати C-y, щоб вставити текст назад.
|
||
|
||
Якщо наберете C-k декілька разів поспіль, увесь вирізаний текст
|
||
збережеться разом, щоб одною командою C-y ви могли вставити водночас
|
||
усі рядки.
|
||
|
||
»» Спробуйте зараз набрати C-k декілька разів.
|
||
|
||
Тепер отримаймо вирізаний текст:
|
||
|
||
»» Наберіть C-y. Посуньте курсор на кілька рядків униз і наберіть C-y
|
||
знову. Тепер ви знаєте, як копіювати текст.
|
||
|
||
Що робити, коли вже вирізали певний текст для вставки, але після цього
|
||
вирізали ще щось? C-y вставляє найновіше вирізане. Проте минулого
|
||
вирізаного не втрачено. Можете повернутись до нього командою M-y.
|
||
Набравши C-y та вийнявши цим найновіше вирізане, наберіть M-y іще раз,
|
||
щоб замінити вставлений текст на попереднє вирізане. Набирайте M-y
|
||
знову й знову, щоб виймати минулі вирізання. Досягнувши шуканого
|
||
тексту, ви не маєте більше нічого робити, щоб його зафіксувати.
|
||
Просто продовжуйте редагувати, залишивши вставлений текст на місці.
|
||
|
||
Набравши M-y достатньо разів, виймете найновіше вирізане знову.
|
||
|
||
»» Виріжте рядок, посуньте курсор і виріжте ще один рядок.
|
||
|
||
»» Тоді наберіть C-y, щоб отримати другий вирізаний рядок. Тоді
|
||
наберіть M-y, і той рядок заміниться на перший вирізаний рядок.
|
||
|
||
»» Наберіть M-y іще кілька разів і простежте, що вийматиметься.
|
||
Продовжуйте набирати M-y, доки не виймете знову другий вирізаний
|
||
рядок, і тоді наберіть ще декілька M-y. За бажання спробуйте
|
||
передати M-y додатні чи від'ємні аргументи.
|
||
|
||
|
||
* СКАСУВАННЯ
|
||
------------
|
||
|
||
Помилково змінивши текст, можете скасувати цю зміну командою
|
||
скасування C-_, тобто затисніть Control та Shift і натисніть дефіс.
|
||
|
||
Зазвичай C-_ скасовує зміни, внесені одною командою; якщо ви наберете
|
||
кілька C-_ поспіль, кожне повторення скасує ще по одній команді.
|
||
|
||
Але є два винятки. Команди, які не змінюють тексту, не враховуються
|
||
(зокрема це команди руху курсора й команди гортання). Й текстові
|
||
символи зазвичай обробляються по 20 водночас. (Це щоб зменшити
|
||
кількість C-_, потрібних для скасування вставки тексту.)
|
||
|
||
»» Виріжте цей рядок за допомогою C-k. Тоді наберіть C-_, щоб він
|
||
з'явився знову.
|
||
|
||
C-/ — альтернативна команда скасування; вона працює так само, як C-_.
|
||
Деякі термінали дають змогу набирати C-_ без клавіші Shift. Деякі
|
||
термінали насправді передають Emacs саме C-_, коли ви набираєте C-/.
|
||
Ще є команда C-x u, котра працює так само, як C-_, але менш зручна для
|
||
набрання. Посібники для латинських розкладок описують команду C-/ як
|
||
основну, проте українською C-_ набирати легше.
|
||
|
||
Числовий аргумент для C-_, C-/ чи C-x u працює як кількість повторень.
|
||
|
||
Можете скасувати видалення тексту так само, як скасовуєте вирізання.
|
||
Відмінність між вирізанням і видаленням полягає в тому, чи можете ви
|
||
вставити текст за допомогою C-y; для скасування нема жодної різниці.
|
||
|
||
|
||
* ФАЙЛИ
|
||
-------
|
||
|
||
Щоб зробити зміни до тексту постійними, їх треба зберегти до файлу.
|
||
Інакше ці зміни зникнуть при виході з Emacs. Аби зберегти текст до
|
||
файлу, вам потрібно «знайти» файл, перш ніж ввести текст. (Це також
|
||
називають «відкриттям» файлу.)
|
||
|
||
Знаходження файлу показує його вміст усередині Emacs. Це виглядає,
|
||
ніби ви редагуєте файл безпосередньо. Проте зміни, які ви вносите за
|
||
допомогою Emacs, не стають постійними, доки ви не «збережете» файл.
|
||
Це щоб не залишати лише частково зміненого файлу в системі, коли ви
|
||
цього не бажаєте. Навіть після збереження Emacs залишає початковий
|
||
файл під іншою назвою, щоб ви змогли згодом скасувати зміни, якщо вони
|
||
виявляться помилковими.
|
||
|
||
Якщо ви роздивитесь низ екрану, то помітите рядок, який містить дефіси
|
||
й починається з чогось на кшталт « -:--- TUTORIAL». Ця частина екрану
|
||
зазвичай показує назву файлу, який ви редагуєте. Зараз ви
|
||
переглядаєте свою особисту копію посібника Emacs, названу «TUTORIAL».
|
||
Коли ви знаходите файл за допомогою Emacs, назва цього файлу
|
||
показується саме в тому місці.
|
||
|
||
Команда знаходження файлу особлива тим, що запитує вас, який файл вам
|
||
треба. Іншими словами, команда «зчитує аргумент» (у цьому випадку
|
||
аргумент — назва файлу). Після набрання команди:
|
||
|
||
C-x C-f (Find — знайти.) Знайти файл
|
||
|
||
Emacs попрохає вас набрати назву файлу. При введенні назву файлу
|
||
показано в нижньому рядку екрана. Нижній рядок називають мінібуфером,
|
||
коли він використовується для таких запитів. Можете використовувати
|
||
звичні команди редагування Emacs, щоб редагувати назву файлу.
|
||
|
||
Коли ви вводите назву файлу (чи заповнюєте інший мінібуфер), можете
|
||
скасувати команду за допомогою C-g.
|
||
|
||
»» Наберіть C-x C-f, а тоді наберіть C-g. Це скасує мінібуфер, а
|
||
також команду C-x C-f, яка використовувала мінібуфер. Тому ви не
|
||
знайдете жодного файлу.
|
||
|
||
Коли ви введете назву файлу до кінця, наберіть <Return>, щоб завершити
|
||
введення. Мінібуфер зникне, й команда C-x C-f спробує знайти обраний
|
||
вами файл.
|
||
|
||
Вміст файлу з'явиться на екрані, й ви зможете редагувати цей вміст.
|
||
Коли вирішите зберегти зміни на постійно, наберіть команду:
|
||
|
||
C-x C-s (Save — зберегти.) Зберегти
|
||
|
||
Це скопіює текст із Emacs до файлу. Коли ви робите це вперше, Emacs
|
||
перейменовує початковий файл, щоб його не було втрачено. Нова назва
|
||
формується доданням «~» у кінець назви початкового файлу. Завершивши
|
||
збереження, Emacs показує назву записаного файлу.
|
||
|
||
»» Наберіть C-x C-s TUTORIAL <Return>.
|
||
Це має зберегти посібник у файл із назвою «TUTORIAL» і показати
|
||
«Wrote ...TUTORIAL» унизу екрана.
|
||
|
||
Можете знайти вже наявний файл, щоб переглянути чи відредагувати його.
|
||
Або можете «знайти» файл, якого ще не існує. Так в Emacs створюють
|
||
файли: відкривають порожній файл і починають вводити текст у цей файл.
|
||
Коли ви попросите «зберегти» файл, Emacs насправді створить файл зі
|
||
введеним вами текстом. Відтоді можете вважати, що редагуєте вже
|
||
наявний файл.
|
||
|
||
|
||
* БУФЕРИ
|
||
--------
|
||
|
||
Коли знаходите ще один файл за допомогою C-x C-f, перший файл
|
||
залишається в Emacs. Можете перемкнутись на нього, знайшовши його
|
||
знову за допомогою C-x C-f. Таким чином в Emacs можливо відкрити
|
||
чимало файлів.
|
||
|
||
Emacs зберігає текст кожного файлу всередині об'єкта — так званого
|
||
«буфера». Знаходження файлу створює буфер усередині Emacs. Щоб
|
||
переглянути перелік уже наявних буферів, наберіть
|
||
|
||
C-x C-b (Buffer — буфер.) Перелічити буфери
|
||
|
||
»» Спробуйте C-x C-b прямо зараз.
|
||
|
||
Зауважте, що кожен буфер має власну назву, а ще біля нього може бути
|
||
назва того файлу, вміст якого він утримує. Будь-який текст, який ви
|
||
бачите у вікні Emacs, завжди є частиною певного буфера.
|
||
|
||
»» Наберіть C-x 1, щоб позбутись переліку буферів.
|
||
|
||
Коли буферів декілька, лише один із них може бути «поточним». Це той
|
||
буфер, який ви редагуєте. Якщо бажаєте редагувати інший буфер, на
|
||
нього слід «перемкнутись». Якщо бажаєте перемкнутись на буфер, що
|
||
відповідає певному файлу, відкрийте файл знову за допомогою C-x C-f.
|
||
Але простіше використати команду C-x b. Цій команді достатньо
|
||
передати назву буфера.
|
||
|
||
»» Відкрийте файл «foo», набравши C-x C-f foo <Return>. Тоді наберіть
|
||
C-x b TUTORIAL <Return>, щоб повернутись до цього посібника.
|
||
|
||
Зазвичай назва буфера збігається з назвою файлу (без шляху). Втім, це
|
||
не завжди так. Перелік буферів, відкритий за допомогою C-x C-b,
|
||
показує як назву буфера, так і назву файлу кожного буфера.
|
||
|
||
Деякі буфери не відповідають файлам. Буфер *Buffer List* («Перелік
|
||
буферів»), який показує створені за допомогою C-x C-b буфери, не має
|
||
жодного файлу. Цей буфер TUTORIAL спершу не мав файлу, але тепер має,
|
||
бо в попередньому розділі ви набрали C-x C-s і зберегли його до файлу.
|
||
|
||
Буфер *Messages* також не відповідає жодному файлу. Цей буфер містить
|
||
повідомлення, які з'являлись у нижньому рядку вашого сеансу Emacs.
|
||
|
||
»» Наберіть C-x b *Messages* <Return>, щоб переглянути буфер
|
||
повідомлень. Тоді наберіть C-x b TUTORIAL <Return>, щоб
|
||
повернутись до цього посібника.
|
||
|
||
Якщо змінити текст одного файлу й знайти інший файл, то перший файл не
|
||
буде збережено. Зміни залишаться всередині Emacs у буфері цього
|
||
файлу. Створення чи редагування буфера другого файлу не впливає на
|
||
буфер першого файлу. Це дуже корисно, але буфер першого файлу теж
|
||
треба якось зберігати. Перемикатись на цей буфер, щоб зберегти його
|
||
за допомогою C-x C-s, було б незручно. Тож маємо
|
||
|
||
C-x s (Save — зберегти.)
|
||
Зберегти певні буфери до їхніх файлів
|
||
|
||
C-x s запитує вас про кожен буфер, який ви змінили й не зберегли, чи
|
||
бажаєте ви його зберегти.
|
||
|
||
»» Введіть рядок тексту й наберіть C-x s.
|
||
Маєте отримати запитання, чи бажаєте ви зберегти буфер TUTORIAL.
|
||
Погодьтесь, набравши у відповідь «y».
|
||
|
||
|
||
* РОЗШИРЕННЯ НАБОРУ КОМАНД
|
||
--------------------------
|
||
|
||
Команд Emacs значно більше, ніж можливо розкласти по всіх Control- і
|
||
Meta-символах. Emacs обходить це за допомогою команди x (extend —
|
||
розширити). Вона має два різновиди:
|
||
|
||
C-x Запитує один символ.
|
||
M-x Запитує англійську назву команди.
|
||
|
||
Ці команди дуже корисні, проте використовуються менш часто, ніж ті
|
||
команди, які ви вже опанували. Деякі з цих команд ви вже бачили,
|
||
наприклад файлові команди C-x C-f для знаходження й C-x C-s для
|
||
збереження. Ще один приклад — команда завершення сеансу Emacs: C-x
|
||
C-c пропонує зберегти кожен змінений файл, перш ніж зупинити Emacs.
|
||
|
||
Якщо ви користуєтесь графічним середовищем, вам не потрібні жодні
|
||
додаткові команди для переходу від Emacs до іншого застосунку. Можете
|
||
переходити мишею чи командами менеджера вікон. Але якщо ви
|
||
користуєтесь текстовим терміналом, який може показувати лише один
|
||
повноекранний застосунок, то вам потрібно «призупинити» Emacs, щоб
|
||
перейти до іншого застосунку.
|
||
|
||
Команда C-z виходить з Emacs *тимчасово* — тобто ви можете повернутись
|
||
до цього ж сеансу Emacs згодом. Коли Emacs запущено в текстовому
|
||
терміналі, C-z «призупиняє» Emacs, тобто повертає вас до оболонки, але
|
||
не припиняє завдання Emacs. У найпоширеніших оболонках ви можете
|
||
відновити Emacs командою «fg» або «%emacs».
|
||
|
||
Використовувати C-x C-c слід перед виходом із системи. Ще цією
|
||
командою слід закривати той Emacs, який ви запустили для швидкого
|
||
редагування, наприклад за допомогою знаряддя обробки пошти.
|
||
|
||
Команд C-x чимало. Ось перелік тих, які ви вже опанували:
|
||
|
||
C-x C-f (Find — знайти.) Знайти файл.
|
||
C-x C-s (Save — зберегти.) Зберегти буфер до файлу.
|
||
C-x s Зберегти певні буфери до їхніх файлів.
|
||
C-x C-b (Buffer — буфер.) Перелічити буфери.
|
||
C-x b Перемкнути буфер.
|
||
C-x C-c (Close — закрити.) Вийти з Emacs.
|
||
C-x 1 Видалити всі вікна, крім одного.
|
||
C-x u (Undo — скасувати.) Скасувати останню дію.
|
||
|
||
Розширені команди, які використовуються менш часто чи лише в певних
|
||
режимах, мають довші англійські назви. Наприклад, команда
|
||
replace-string («замінити рядок») змінює в буфері один рядок на інший.
|
||
Коли ви набираєте M-x, Emacs показує внизу екрана запит M-x, у
|
||
відповідь на який вам слід набрати назву команди — «replace-string» у
|
||
цьому випадку. Просто наберіть «repl s<TAB>» — і Emacs допише назву
|
||
команди. (<TAB> — це клавіша Tab, яку зазвичай розміщено над клавішею
|
||
Caps Lock чи Shift ліворуч на клавіатурі.) Підтвердьте назву команди
|
||
клавішею <Return>.
|
||
|
||
Команда replace-string потребує двох аргументів: рядка, який слід
|
||
замінити, й рядка, яким ви його замінюєте. Введення кожного аргументу
|
||
потрібно завершити клавішею <Return>.
|
||
|
||
»» Посуньте курсор до порожнього рядка двома рядки нижче, ніж цей.
|
||
Тоді наберіть M-x repl s<Return>змінено<Return>перетворено<Return>.
|
||
|
||
Зверніть увагу на те, як зміниться цей рядок: ви заміните слово
|
||
«змінено» на слово «перетворено» в усіх місцях після курсора, де
|
||
воно зустрічається.
|
||
|
||
|
||
* САМОЗБЕРЕЖЕННЯ
|
||
----------------
|
||
|
||
Коли ви змінюєте файл, але не зберігаєте змін, то ці зміни може бути
|
||
втрачено, якщо комп'ютер зазнає збою. Emacs захищає вас від цього
|
||
періодичним записом файлів «самозбереження» для кожного редагованого
|
||
файлу. Назва файлу самозбереження починається й закінчується символом
|
||
#, тобто якщо ваш файл називається «hello.c», його файл самозбереження
|
||
називатиметься «#hello.c#». Коли ви зберігаєте файл звичним шляхом,
|
||
Emacs видаляє відповідний файл самозбереження.
|
||
|
||
Після збою комп'ютера ви можете відновити самозбережені правки,
|
||
знайшовши файл як зазвичай (редагований файл, не файл самозбереження)
|
||
й набравши M-x recover-this-file <Return>. (Команда перекладається як
|
||
«відновити цей файл».) У відповідь на запит підтвердження, наберіть
|
||
yes<Return>, щоб погодитись і відновити дані самозбереження.
|
||
|
||
|
||
* ВІДЛУННЯ
|
||
----------
|
||
|
||
Коли Emacs помічає, що ви поволі набираєте багатосимвольну команду,
|
||
він показує вам набрану частину команди внизу екрана в області, яку
|
||
називають echo — відлунням. Ця область покриває нижній рядок екрана.
|
||
|
||
|
||
* РЯДОК РЕЖИМУ
|
||
--------------
|
||
|
||
Рядок прямо над областю відлуння називають «рядком режиму». В рядку
|
||
режиму має виводитись щось таке:
|
||
|
||
-:**- TUTORIAL 63% L749 (Fundamental)
|
||
|
||
Цей рядок надає корисні дані про стан Emacs і редагованого тексту.
|
||
|
||
Ви вже знаєте, що значить TUTORIAL: це назва того файлу, який ви
|
||
знайшли раніше. ЧЧ% повідомляє, в якій частині буфера тексту ви
|
||
перебуваєте; це означає, що ЧЧ відсотків буфера зараз над екраном.
|
||
Якщо верх буфера видно на екрані, то замість «0%» буде «Top» — «Верх».
|
||
Якщо низ буфера видно на екрані, то буде показано «Bot» — «Низ».
|
||
Якщо ви читаєте такий маленький буфер, що весь його вміст видно на
|
||
одному екрані, то в рядку режиму буде «All» — «Усе».
|
||
|
||
Літера L (line — рядок) і цифри показують інший аспект вашого
|
||
місцеперебування — номер рядка поточної точки.
|
||
|
||
Зірки спереду вказують, що ви змінили текст. Коли файл тільки
|
||
відкрито чи збережено, ця частина рядка режиму показує лише дефіси,
|
||
без зірок.
|
||
|
||
Частина рядка режиму всередині дужок вказує, які режими редагування
|
||
наразі чинні. Типовий режим — це Fundamental («основний»); саме ним
|
||
ви зараз користуєтесь. Це один із «вищих» режимів.
|
||
|
||
Emacs має чимало різних вищих режимів. Деякі з них призначені для
|
||
редагування різних мов і/або видів тексту, зокрема режим Lisp (для
|
||
мови програмування Лісп), режим Text (для тексту) тощо. В певну мить
|
||
активним може бути один і тільки один вищий режим, і його назву завжди
|
||
можна знайти в рядку режиму — там, де зараз ви бачите Fundamental.
|
||
|
||
Кожен вищий режим змінює поведінку декількох команд. Наприклад, є
|
||
команди для створення коментарів у програмі, й оскільки кожна мова
|
||
програмування по-своєму визначає вигляд коментарів, то й кожен вищий
|
||
режим має вставляти коментарі по-своєму. Кожен вищий режим є назвою
|
||
тої команди розширення, якою ви його вмикаєте. Наприклад, командою
|
||
M-x fundamental-mode ви вмикаєте основний режим.
|
||
|
||
Для редагування тексту мовами людського спілкування, такими як цей
|
||
файл, ви зазвичай використовуватимете режим Text.
|
||
|
||
»» Наберіть M-x text-mode <Return>.
|
||
|
||
Не переймайтесь, жодні з уже відомих вам команд Emacs не стануть
|
||
поводитись геть інакше. Проте ви можете помітити, що M-f і M-b тепер
|
||
обробляють апострофи як частини слів. Досі, в режимі Fundamental, M-f
|
||
і M-b обробляли апострофи як пунктуацію.
|
||
|
||
Вищі режими зазвичай вносять саме такі невеличкі зміни: більшість
|
||
команд продовжують виконувати звичні завдання — з деякими
|
||
відмінностями в деталях.
|
||
|
||
Щоб переглянути документацію про поточний вищий режим, наберіть C-h m.
|
||
|
||
»» Посуньте курсор до рядка, наступного після цього.
|
||
»» Наберіть C-l C-l, щоб посунути цей рядок угору екрана.
|
||
»» Наберіть C-h m, щоб побачити різницю режимів Text і Fundamental.
|
||
»» Наберіть C-x 1, щоб вилучити документацію з екрана.
|
||
|
||
Вищі режими називаються вищими, тому що бувають і нижчі режими. Нижчі
|
||
режими не заміщають вищих режимів, а трошки їх змінюють. Кожен нижчий
|
||
режим можна ввімкнути чи вимкнути окремо, незалежно від усіх інших
|
||
нижчих режимів — і незалежно від вашого вищого режиму. Тож ви можете
|
||
не використовувати нижчих режимів зовсім, або використовувати єдиний
|
||
нижчий режим, або поєднувати декілька нижчих режимів.
|
||
|
||
Один із дуже корисних нижчих режимів, особливо для редагування тексту
|
||
мовами людського спілкування, — це режим Auto Fill (самозаповнення).
|
||
Коли цей режим увімкнено, Emacs автоматично вставляє символ нового
|
||
рядка між словами, коли при введенні тексту певний рядок виявляється
|
||
занадто широким.
|
||
|
||
Режим самозаповнення вмикається командою M-x auto-fill-mode <Return>.
|
||
Коли режим увімкнено, можете вимкнути його знову тою ж командою. Якщо
|
||
режим вимкнено, команда його вмикає; а коли режим увімкнено, команда
|
||
його вимикає. Можна сказати, що команда «перемикає режим».
|
||
|
||
»» Наберіть M-x auto-fill-mode <Return>. Тоді набирайте «йцук » знов
|
||
і знов, доки рядок не поділиться на два. Пробіли слід набирати,
|
||
оскільки самозаповнення розбиває рядки тільки на пробілах.
|
||
|
||
Поле зазвичай починається після 70 символів, але можете змінити це
|
||
командою C-x f. Передайте бажане значення поля числовим аргументом
|
||
цій команді.
|
||
|
||
»» Наберіть C-x f із аргументом 20. (C-u 2 0 C-x f).
|
||
Тоді наберіть будь-який текст і зверніть увагу, яким чином Emacs
|
||
поділить його на 20-символьні рядки. Тоді поверніть полю значення
|
||
70 за допомогою ще одної команди C-x f.
|
||
|
||
Якщо ви зміните щось посеред абзацу, режим самозаповнення не ділитиме
|
||
абзацу на рядки заново без вашого дозволу.
|
||
Щоб поділити абзац заново (замінюючи наявні символи нового рядка),
|
||
посуньте курсор до цього абзацу й наберіть M-q (META-q).
|
||
|
||
»» Посуньте курсор до попереднього абзацу й наберіть M-q.
|
||
|
||
|
||
* ПОШУК
|
||
-------
|
||
|
||
Emacs уміє шукати рядки (групи послідовних символів) в тексті як після
|
||
курсора, так і перед ним. Пошук рядка є командою руху курсора, тобто
|
||
посуває курсор до наступного місця, де з'являється цей рядок.
|
||
|
||
Команда пошуку Emacs є покроковою. Тобто пошук відбувається прямо при
|
||
набранні рядка, який ви бажаєте шукати.
|
||
|
||
Пошук уперед розпочинає команда C-s (search — пошук), а пошук назад —
|
||
команда C-r (reverse — навпаки). АЛЕ ЗАЧЕКАЙТЕ! Не поспішайте
|
||
випробовувати ці команди.
|
||
|
||
Набравши C-s, ви помітите, що область відлуння покаже рядок
|
||
«I-search». Це означатиме, що Emacs перейшов до режиму incremental
|
||
search — покрокового пошуку — й очікує, поки ви наберете, що бажаєте
|
||
шукати. <Return> завершує пошук.
|
||
|
||
»» Тепер наберіть C-s, щоб розпочати пошук. ПОВОЛІ, літера за
|
||
літерою, наберіть слово «курсор», зупиняючись після кожного символу
|
||
й звертаючи увагу на те, що відбувається з курсором. Отже, ви
|
||
щойно пошукали «курсор» один раз.
|
||
»» Наберіть C-s іще раз — знайдіть наступну послідовність «курсор».
|
||
»» Тепер наберіть <DEL> чотири рази й зауважте, куди зсунеться курсор.
|
||
»» Наберіть <Return>, щоб завершити пошук.
|
||
|
||
Щойно ви спостерігали, як покроковий пошук Emacs намагається перейти
|
||
до послідовності, збіжної з набраним вами рядком. Щоб перейти до
|
||
наступної послідовності «курсор», наберіть C-s іще раз. Якщо такої
|
||
послідовності не існує, Emacs сигналить і повідомляє, що пошук наразі
|
||
«failing» — неуспішний. C-g завершує пошук у будь-якому разі.
|
||
|
||
Якщо під час покрокового пошуку набрати <DEL», пошук «повертається» до
|
||
попередньої точки. Якщо набрати <DEL> одразу після C-s — переходу до
|
||
наступного збігу з шуканим рядком — то <DEL> поверне курсор до
|
||
попереднього збігу. Якщо збігів перед курсором нема, <DEL> зітре
|
||
останній символ рядка пошуку. Наприклад, наберіть «к», щоб пошукати
|
||
перший збіг із «к». Тоді наберіть «у» — це посуне курсор до першого
|
||
збігу з «ку». Нарешті наберіть <DEL> — це зітре «у» з рядка пошуку,
|
||
тож курсор повернеться до першого збігу з «к».
|
||
|
||
Якщо посеред пошуку ви набираєте Control- чи Meta-символ (за винятком
|
||
символів власне пошуку, як-от C-s чи C-r), пошук припиняється.
|
||
|
||
C-s розпочинає пошук будь-якого збігу з шуканим рядком ПІСЛЯ того
|
||
місця, де курсор зараз. Якщо бажаєте пошукати щось у більш ранньому
|
||
тексті, наберіть натомість C-r. Усе, що ми зазначили про C-s,
|
||
стосується й C-r, — крім напряму пошуку, який стає зворотним.
|
||
|
||
|
||
* ДЕКІЛЬКА ВІКОН
|
||
----------------
|
||
|
||
Emacs має ту файну властивість, що ви можете переглядати водночас
|
||
декілька вікон на одному екрані. (Зауважте, що Emacs використовує
|
||
роз'яснений у наступному розділі термін «рамка», або frame, замість
|
||
вжитого в деяких інших застосунках терміна «вікно».) Підручник Emacs
|
||
містить глосарій термінів Emacs.
|
||
|
||
»» Посуньте курсор до цього рядка й наберіть C-l C-l.
|
||
|
||
»» Наберіть C-x 2 — розділіть екран на два вікна. Обидва вікна
|
||
показуватимуть цей посібник. Курсор редагування залишатиметься в
|
||
горішньому вікні.
|
||
|
||
»» Наберіть C-M-v — перегорніть нижнє вікно.
|
||
(Якщо не маєте клавіші META, наберіть <ESC> C-v.)
|
||
|
||
»» Наберіть C-x o (other — інше), щоб посунути курсор до нижнього
|
||
вікна. Погортайте нижнє вікно за допомогою C-v та M-v. Читайте ці
|
||
вказівки далі в горішньому вікні.
|
||
|
||
»» Наберіть C-x o ще раз, щоб посунути курсор назад до горішнього
|
||
вікна. Курсор у горішньому вікні опиниться там же, де був досі.
|
||
|
||
Можете й надалі перемикатись між вікнами за допомогою C-x o. «Обране»
|
||
вікно, в якому переважно відбувається редагування, — це те вікно, в
|
||
якому ви бачите помітний курсор, який блимає, коли ви нічого не
|
||
набираєте. Кожне вікно має власну точку, на яку вказує його курсор;
|
||
якщо ви запускаєте Emacs у графічному середовищі, ці курсори не
|
||
блимають і мають вигляд порожніх коробок.
|
||
|
||
Команда C-M-v дуже корисна, коли ви редагуєте текст в одному вікні й
|
||
використовуєте інше вікно лише як довідку. Не виходячи з обраного
|
||
вікна, ви можете гортати текст в іншому вікні за допомогою C-M-v.
|
||
|
||
C-M-v — це один із CONTROL-META-символів. Якщо ви маєте клавішу META
|
||
(чи Alt), то можете набрати C-M-v, затиснувши водночас клавіші CONTROL
|
||
та META й натиснувши v. Неважливо, яку з клавіш CONTROL і META ви
|
||
затиснете першою, бо ці клавіші не діють самостійно, а змінюють
|
||
символи, які ви набираєте.
|
||
|
||
Якщо у вас нема клавіші META, можете використати натомість <ESC>, але
|
||
тоді порядок таки важливий: наберіть спершу <ESC>, а тоді CONTROL-v.
|
||
CONTROL-<ESC> v не спрацює, бо <ESC> не змінює інші символи, а є
|
||
повноцінною клавішею.
|
||
|
||
»» Наберіть C-x 1 (у горішньому вікні), щоб позбутись нижнього вікна.
|
||
|
||
(Якби ви набрали C-x 1 у нижньому вікні, то позбулися б горішнього
|
||
вікна. Уявляйте цю команду як «Залишити лише одне вікно — те, в якому
|
||
я зараз».)
|
||
|
||
Показувати один і той самий буфер в обох вікнах необов'язково. Якщо в
|
||
одному вікні ви наберете C-x C-f і знайдете файл, то на інше вікно це
|
||
не вплине. Можете знаходити файли в обох вікнах незалежно.
|
||
|
||
Ось ще один шлях застосування двох вікон для показу двох різних речей:
|
||
|
||
»» Наберіть C-x 4 C-f та назву одного зі своїх файлів. Завершіть за
|
||
допомогою <Return>. Зазначений файл з'явиться в нижньому вікні.
|
||
Курсор також туди посунеться.
|
||
|
||
»» Наберіть C-x o, щоб перейти до горішнього вікна,
|
||
й C-x 1, щоб видалити нижнє вікно.
|
||
|
||
|
||
* ДЕКІЛЬКА РАМОК
|
||
----------------
|
||
|
||
Emacs також дає змогу створити декілька «рамок» (frames). Рамкою
|
||
називають будь-яку добірку вікон разом із її меню, панелями гортання,
|
||
областю відлуння тощо. У графічних середовищах Emacs називає рамкою
|
||
те, що багато інших застосунків називають «вікном». Екран може
|
||
показувати декілька графічних рамок водночас. На текстовому терміналі
|
||
може бути видно лише одну рамку.
|
||
|
||
»» Наберіть C-x 5 2.
|
||
На вашому екрані з'явиться нова рамка.
|
||
|
||
У новій рамці ви можете робити все те, що й у початковій рамці.
|
||
Початкова рамка не є чимось особливим.
|
||
|
||
»» Наберіть C-x 5 0.
|
||
Це вилучить обрану рамку.
|
||
|
||
Вилучити рамку можна й тим звичним шляхом, який передбачає графічне
|
||
середовище (зазвичай це кнопка «X» в одному з горішніх кутів рамки).
|
||
Якщо вилучити таким чином останню рамку сеансу Emacs, увесь Emacs буде
|
||
припинено.
|
||
|
||
|
||
* РІВНІ РЕКУРСІЇ РЕДАГУВАННЯ
|
||
----------------------------
|
||
|
||
Інколи ви потраплятимете в так званий «рівень рекурсії редагування».
|
||
Його позначають квадратні дужки в рядку режиму навколо круглих дужок
|
||
назви вищого режиму. Наприклад, ви можете бачити [(Fundamental)]
|
||
замість (Fundamental).
|
||
|
||
Щоб вийти з рівня рекурсії редагування, наберіть <ESC> <ESC> <ESC>.
|
||
Це всеохопна команда виходу. Можете використовувати її й для закриття
|
||
зайвих вікон чи виходу з мінібуфера.
|
||
|
||
»» Наберіть M-x, щоб потрапити до мінібуфера.
|
||
Тоді наберіть <ESC> <ESC> <ESC>, щоб із нього вийти.
|
||
|
||
Вийти з рівня рекурсії редагування за допомогою C-g неможливо, бо C-g
|
||
використовується для скасування команд і аргументів УСЕРЕДИНІ рівня
|
||
рекурсії редагування.
|
||
|
||
|
||
* ОТРИМАТИ БІЛЬШЕ ДОВІДКИ
|
||
-------------------------
|
||
|
||
Цей посібник намагається надати необхідний для початку роботи з Emacs
|
||
мінімум даних. Emacs уміє стільки всього, що одним посібником описати
|
||
всі його функції було б неможливо. Проте вам буде цікаво дізнатись
|
||
більше про Emacs та його корисні функції. Emacs надає команди для
|
||
читання документації про команди Emacs. Усі команди довідки (help)
|
||
починаються з CONTROL-h — символу довідки.
|
||
|
||
Для отримання довідки наберіть символ C-h, а тоді той символ, довідку
|
||
якого бажаєте прочитати. Якщо ви СПРАВДІ загубились, C-h ? попрохає
|
||
Emacs перелічити розділи довідки. Якщо ви набрали C-h і передумали
|
||
читати довідку, натисніть C-g для скасування.
|
||
|
||
(Якщо C-h не показує довідкового повідомлення внизу екрана, спробуйте
|
||
набрати клавішу F1 чи M-x help <Return> натомість.)
|
||
|
||
Основна функція довідки — це C-h c. Наберіть C-h, символ c, а також
|
||
символ чи послідовність команди; тоді Emacs покаже коротенький
|
||
англійський опис цієї команди.
|
||
|
||
»» Наберіть C-h c C-p.
|
||
|
||
Має з'явитись повідомлення на кшталт:
|
||
|
||
C-p runs the command previous-line
|
||
|
||
Тобто «C-p виконує команду previous-line (попередній рядок)». Це
|
||
повідомляє вам назву функції. Оскільки назви функцій добираються
|
||
таким чином, щоб зображати дії, виконувані відповідною командою,
|
||
вони можуть слугувати коротенькою документацією — достатньою, щоб
|
||
нагадати вам команди, які ви вже опанували.
|
||
|
||
Багатосимвольні команди, такі як C-x C-s чи <ESC>v (замість M-v, якщо
|
||
не маєте клавіш META й ALT), також можна зазначати після C-h c.
|
||
|
||
Щоб дізнатися більше про команду, зокрема про клавіші, які можна
|
||
набирати після неї, використайте C-h k (keys — клавіші) замість C-h c
|
||
(command — команда).
|
||
|
||
»» Наберіть C-h k C-p.
|
||
|
||
Це покаже у вікні Emacs документацію функції та її назву. Дочитавши
|
||
показане, наберіть C-x 1, щоб позбутись того вікна. Робити це одразу
|
||
необов'язково. Можете продовжити редагування, звіряючись із текстом
|
||
довідки, й набрати C-x 1 лише згодом.
|
||
|
||
Ось кілька інших корисних варіантів C-h:
|
||
|
||
C-h x Описати команду. Вам буде треба набрати назву команди.
|
||
|
||
»» Спробуйте набрати C-h x previous-line <Return>.
|
||
Це покаже всі наявні в Emacs дані про ту функцію,
|
||
яка втілює команду C-p.
|
||
|
||
Схожа команда C-h v показує документацію змінних — зокрема тих,
|
||
значення яких ви можете змінити для налаштування поведінки Emacs.
|
||
Наберіть назву змінної, коли Emacs її у вас запитає.
|
||
|
||
C-h a (Apropos — пов'язане.) Наберіть ключове слово — й
|
||
Emacs покаже всі команди, назви яких містять це слово.
|
||
Всі ці команди можна викликати за допомогою META-x.
|
||
Для деяких команд Apropos наводить також символи чи
|
||
послідовності, які виконують цю ж команду.
|
||
|
||
»» Наберіть C-h a file <Return>.
|
||
|
||
Це покаже в ще одному вікні перелік усіх команд M-x, назви яких
|
||
містять «file» — файл. Поруч із назвами команд ви побачите відповідні
|
||
їм символи (як-от C-x C-f поруч із find-file — знайти файл).
|
||
|
||
»» Наберіть C-M-v, щоб прогорнути вікно довідки.
|
||
Повторіть це декілька разів.
|
||
|
||
»» Наберіть C-x 1, щоб видалити вікно довідки.
|
||
|
||
C-h i (Info — дані.) Читати вкладені підручники. Ця команда
|
||
веде вас до особливого буфера *info*, в якому ви можете
|
||
читати підручники про встановлені у вашій системі пакунки.
|
||
Наберіть m emacs <Return>, щоб почитати підручник Emacs.
|
||
Якщо ви досі не користувались Info, наберіть h — і Emacs
|
||
запустить для вас путівник можливостями режиму Info.
|
||
Опрацювавши цей посібник, звертайтесь до Info-підручника
|
||
Emacs як до основної документації.
|
||
|
||
|
||
* БІЛЬШЕ ФУНКЦІЙ
|
||
----------------
|
||
|
||
Щоб дізнатись більше про Emacs, почитайте його підручник усередині
|
||
Emacs, скориставшись меню Help (Довідка) чи набравши C-h r. Дві
|
||
функції, які можуть вас особливо зацікавити, це Completion —
|
||
доповнення, яке заощаджує натиски клавіш; і Dired — редагування
|
||
каталогів, яке спрощує керування файлами.
|
||
|
||
Доповнення дає змогу набирати менше тексту. Наприклад, щоб
|
||
перемкнутись на буфер *Messages*, можете набрати C-x b *M<Tab> — і
|
||
Emacs заповнить решту назви буфера настільки, наскільки зможе вивести
|
||
з уже набраного вами тексту. Доповнення також працює з назвами команд
|
||
і файлів. Підручник Emacs описує доповнення в розділі «Completion».
|
||
|
||
Dired дає змогу перелічувати файли в каталозі (а на вимогу ще й у
|
||
підкаталогах), рухатися цим переліком, відкривати, перейменовувати й
|
||
видаляти файли тощо. Підручник Emacs описує керування файлами в
|
||
розділі «Dired».
|
||
|
||
Підручник також описує безліч інших функцій Emacs.
|
||
|
||
|
||
* ВСТАНОВЛЕННЯ ПАКУНКІВ
|
||
-----------------------
|
||
|
||
Спільнотою Emacs розроблено величезну добірку пакунків, які роблять
|
||
Emacs потужнішим. Ці пакунки містять підтримку нових мов, теми
|
||
оформлення, додатки для взаємодії з іншими застосунками — й ще
|
||
багато-багато всього.
|
||
|
||
Щоб переглянути перелік усіх доступних пакунків, наберіть M-x
|
||
list-packages. З'явиться екран, за допомогою якого ви можете
|
||
встановлювати й видаляти пакунки, а також читати описи пакунків.
|
||
Підручник Emacs розповідає про керування пакунками докладніше.
|
||
|
||
|
||
* ОТОЖ
|
||
------
|
||
|
||
Щоб вийти з Emacs, наберіть C-x C-c.
|
||
|
||
Посібник має на меті бути зрозумілим усім новим користувачкам і
|
||
користувачам, тож якщо будь-що роз'яснено нечітко чи помилково —
|
||
скаржтесь! Український переклад: Денис Никула <vegan@libre.net.ua>.
|
||
|
||
|
||
* КОПІЮВАННЯ
|
||
------------
|
||
|
||
Цей посібник — нащадок цілого родоводу посібників Emacs, починаючи з
|
||
первісного посібника Emacs, який написав Стюарт Кракрафт.
|
||
|
||
Ця версія посібника — складник GNU Emacs. Її захищено авторським
|
||
правом. Розповсюджувати копії дозволено за певних умов:
|
||
|
||
Copyright (C) 1985, 1996, 1998, 2001-2023 Free Software Foundation,
|
||
Inc. (Фонд вільного програмного забезпечення, Inc.)
|
||
|
||
Цей файл — складник GNU Emacs.
|
||
|
||
GNU Emacs — вільне програмне забезпечення: можете розповсюджувати
|
||
й/або змінювати його згідно з умовами Загальної громадської ліцензії
|
||
GNU в тому вигляді, в якому її публікує Фонд вільного програмного
|
||
забезпечення, — версії 3 чи (на ваш розсуд) будь-якої новішої.
|
||
|
||
GNU Emacs поширюється зі сподіванням, що він стане в нагоді, але БЕЗ
|
||
ЖОДНИХ ГАРАНТІЙ; без навіть уявної гарантії КОМЕРЦІЙНОЇ ПРИДАТНОСТІ
|
||
чи ВІДПОВІДНОСТІ БУДЬ-ЯКОМУ ПЕВНОМУ ЗАСТОСУВАННЮ. Докладніше про це
|
||
йдеться в Загальній громадській ліцензії GNU.
|
||
|
||
Ви мали отримати копію Загальної громадської ліцензії GNU разом із
|
||
GNU Emacs. Якщо ні, перегляньте <https://www.gnu.org/licenses/>.
|
||
|
||
Будь ласка, прочитайте файл COPYING і поширте після цього копії
|
||
GNU Emacs вашим подругам і друзям. Зупинімо гальмування розвитку
|
||
програмного забезпечення (так звану «власність» над ним),
|
||
використовуючи, пишучи й поширюючи вільні програми!
|