Редактор emacs

Emacs це потужний екранний редактор тексту. Його можна вважати середовищем програмування з великими можливостями редагування тексту, оскільки Emacs пропонує багато вбудованих функцій по компіляції і пошуку помилок в коді. Є декілька різновидів Emacs. Ми з вами розглядатимемо GNU Emacs .

Emacs написаний на мові високого рівня Elisp. Хоча для конфігурації і роботи з редактором знання Elisp не потрібне, але якщо Ви візьметеся за створення специфічних функцій обробки тексту, то без знання мови Вам не обійтися.

Для роботи з Emacs використовується система меню і комбінацій клавіш. Використовуються поєднання з клавішами <ctrl> і <meta>. Оскільки на клавіатурі для IBM РС сумісних ПК клавіші <meta> немає, то замість неї можна використовувати <Alt> або <Esc>. Для доступу до системи меню використовуйте клавішу F10.

Для запуску Emacs наберіть в командному рядку:

emacs <им'я_файла>

Параметр им'я_файла необов'язковий. Якщо він не вказаний, то буде відкритий для редагування новий файл. Якщо встановлена змінна $DISPLAY (тобто відкритий графічний сеанс X), то Emacs спробує відкрити графічне вікно програми на екрані, вказаному в змінній $DISPLAY, інакше працюватиме в текстовому режимі.

Щоб відкрити файл для редагування, наберіть команду <Ctrl+x> <Ctrl+f> і введіть в рядку, що з'явився, ім'я файлу, який Ви збираєтеся відкрити.

Для відміни набраної команди відкриття або збереження файлу, натисніть <Ctrl+g>.

Для завершення роботи з редактором використовуйте комбінацію клавіш <Ctrl+x> <Ctrl+c>або пункт меню F10-File-Exit Emacs. Перед виходом з редактора збережіть редагований документ. Якщо ви не використовуєте систему меню ( F10 ), то редактор не запитає підтвердження збереження даних, і всі нові дані будуть втрачені.

Для переміщення курсору використовуйте схему:

 

 

Сучасні термінали розуміють також переміщення курсору звичним для нас способом – за допомогою клавіш управління курсором.

Якщо є необхідність швидкого переміщення, використовуйте <Alt+f> для переміщення на слово вперед і <Alt+b> для переміщення на слово назад, <Ctrl+a> в початок рядка і <Ctrl+e> в кінець рядка, <Alt+a> в початок речення і <Alt+e> - в кінець речення, Alt+< - в початок тексту і Alt+> - в кінець тексту (для набору знаків < і > використовуйте <Shift>).

Якщо Ви хочете вставити текст, просто наберіть символи, і вони будуть відображені в редагованому документі. Видалити текст можна за допомогою клавіш <Del> і <Backspace>, проте клавіша <Backspace > є не на всіх терміналах (на відміну від <Del>). Якщо ж Ваш термінал не підтримує цих клавіш, то Ви можете скористатися комбінаціями:

<Ctrl+d> видалить символ під курсором (аналог <Del> ),

<Alt+d> видалить слово, наступне за курсором,

<Ctrl+k> - все від курсору до кінця рядка,

<Alt+k > - до кінця речення.

Для вставки тільки що видаленого тексту скористайтеся командою <Ctrl+y>. Для вставки зберігається лише текст, видалений командами групового видалення (тобто тими, які видаляють відразу велику порцію тексту, а не один символ).

Існує в emacs і команди відміни виконаних дій (відкоту). Це комбінація <Ctrl+x> <u>.

Для повторення команд редагування може використовуватися лічильник повторення – команда <Ctrl+u>. Діє вона таким чином:

· <Ctrl+u> 8 <u> - робить відкот на 8 дій.

· <Ctrl+u> 7 <Ctrl+d> - видалить 7 символів

Для збереження зроблених змін, використовуйте <Ctrl+x> <Ctrl+s>. Якщо Ви редагуєте новий файл, то emacs запитає ім'я файлу для збереження. Якщо Вам необхідно зберегти файл під іншим іменем, наберіть <Ctrl+x> <Ctrl+w>.

Ви можете відкрити декілька файлів одночасно за допомогою команди <Ctrl+x> <Ctrl+f> і кожен з них буде поміщений у внутрішній буфер emacs. Для перемикання між файлами використовуйте все ту ж команду <Ctrl+x> <Ctrl+f>. При введенні імені вже відкритого файлу він не буде повторно прочитаний з диска, а просто буде перемкнутий активний буфер. Другий спосіб перемикання між буферами – використання комбінації клавіш <Ctrl+x> <b>. При цьому вам потрібно буде ввести ім'я редагованого в буфері файлу в мінібуфер внизу екрану без вказівки повного шляху до нього. Для закриття поточного буфера використовуйте <F10> <f> <c>. Для очищення буфера (видалення всього вмісту) <Ctrl+x> <k>

Для відображення списку всіх відкритих буферів використовуйте команду <Ctrl+x> <Ctrl+b>. Emacs дозволяє одночасно використовувати декілька вікон редагування. Для відкриття другого вікна натискуйте <Ctrl+2>. При цьому екран розділиться на 2 частини і в обох буде завантажений поточний буфер. Натискуйте <Ctrl+x> <o> для переходу в сусіднє вікно і виконайте там команду <Ctrl+x> <Ctrl+f>або <Ctrl+x> <b> для зміни активного буфера. Тепер Ви можете редагувати два різні тексти одночасно. Для повернення до одного вікна натискуйте <Ctrl+x> <1> (1 – це одиниця), а для закриття поточного вікна - <Ctrl+x><0>.

Для збереження декількох буферів наберіть <Ctrl+x> <s>. Emacs запитає Вас перед збереженням кожного буфера, в якому є змінені дані.

Пошук по файлу здійснюється командою <Ctrl+s>. Після набору команди в рядку мінібуфера ви введете шукане слово. При цьому emacs вже знайде його перше входження в тексті. Для пошуку наступного входження натисніть ще <Ctrl+s> разів. Для пошуку у зворотному напрямі, використовуйте <Ctrl+r>. Коли emacs досягне кінця (або початку) документа, він подасть звуковий сигнал. Якщо Ви повторите команду <Ctrl+s> або <Ctrl+r>, то emacs продовжить пошук з початку (або з кінця) документа. Необхідно знати, що emacs починає пошук з поточної позиції курсору в буфері. Якщо необхідно знайти всі входження, то Вам потрібно або перейти на початок документа, або дозволити Emacs'у пошук "по колу", проігнорувавши звуковий сигнал кінця (початку) файлу.

Заміна здійснюється по команді <Alt+%> (при цьому % варто набирати з шифтом). Emacs шукатиме входження і запитуватиме – пропуск є підтвердженням, <Del> або <Esc> –перериванням.

Вбудована довідка emacs дозволяє отримувати допомогу по тих або інших командах. Для отримання короткої довідки по команді введіть:

<Ctrl+h> <c> <команда>

так, наприклад, для отримання довідки по команді <Ctrl+2> необхідно ввести:

<Ctrl+h> <c> <Ctrl+2>.

Для відображення повної довідки по команді потрібно використовувати параметр <k> для команди <Ctrl+h>,

наприклад:

<Ctrl+h> <k> <Ctrl+p>

відкриває в окремому вікні довідку по команді <Ctlr+p>.

 

Висновки

Для редагування текстових файлів в Linux є велика кількість текстових редакторів, найбільш поширені з них – редактори vim і emacs. Ці редактори надають всі можливості редагування текстів, підтримку клавіш буквенної клавіатури для управління курсором, пошук і заміну тощо. Запуск редакторів виконується з командного рядка чи встановленої оболонки. Редактор

Контрольні запитання і завдання для самостійного виконання

1. Як вийти з редактора vimіз збереженням зроблених змін?

2. Яка команда редактора vim призначенадля відміни збереження всіх зроблених змін?

3. Як в редакторі vimперейти до кінця файлу?

4. За допомогою якої команди в редакторі vimвиконується пошук по файлу?

5. Як перевести vimв режим вставки/заміни?

6. Які переваги має редактор emacs порівняно з vim?

7. Як відкрити файл в редакторі emacs?

8. Як перейти в редакторі emacs до команд меню?

9. Як завершити роботу з редактором emacs?

10. Як в редакторі emacs відкрити декілька файлів одночасно?